25 lines
511 B
TypeScript
25 lines
511 B
TypeScript
export type AttachmentType = 'image' | 'video' | 'audio' | 'document' | 'other';
|
|
|
|
export interface Attachment {
|
|
id: string;
|
|
file: File;
|
|
type: AttachmentType;
|
|
url: string; // Object URL for preview
|
|
}
|
|
|
|
export interface AudioRecording {
|
|
blob: Blob;
|
|
url: string;
|
|
duration: number; // in seconds
|
|
}
|
|
|
|
export interface Message {
|
|
id: string;
|
|
sender: 'user' | 'system';
|
|
text: string;
|
|
attachments?: Attachment[];
|
|
audio?: AudioRecording;
|
|
timestamp: Date;
|
|
status: 'sending' | 'sent' | 'error';
|
|
}
|