import { SafeHtml } from '@angular/platform-browser';
export interface AudioMetadata {
    type: 'audio';
    mode?: 'oscilloscope' | 'frequency' | 'off';
}
export interface ImageMetadata {
    type: 'image';
    disableMenu?: boolean;
}
export interface EmailDetails {
    subject: string;
    from: string;
    to: string[];
    cc?: string[];
    bcc?: string[];
    sent: Date;
    message: string;
}
export type HeaderDetails = Omit<EmailDetails, 'message|send|subject'>;
export type Email = Omit<HeaderDetails, 'message'>;
export type AttachmentsData = {
    id: string;
    label: string;
    iconRef: SafeHtml;
    icon: string;
};
export interface EmailMetadata {
    type: 'EMAIL';
    header: Email;
    attachments: string[];
    theme: string;
}
export interface MetadatUser {
    userSettings: {
        locale: string;
    };
    username: string;
    lastname: string;
    firstname: string;
}
export interface OfficeMetadata {
    type: 'office';
    id: string;
    dmsObject: Record<string, unknown>;
    editable?: boolean;
    user: MetadatUser;
    sendEvent?: boolean;
    version?: number;
}
export interface PdfMetadata {
    type: 'pdf';
    search?: boolean;
    searchTerm?: string;
    theme: string;
}
export type Metadata = Partial<AudioMetadata | ImageMetadata | EmailMetadata | OfficeMetadata | PdfMetadata>;
