export {};
declare class FileState {
    static DELETED: string;
    static UPLOADING: string;
    static UPLOADED: string;
    static NOT_UPLOADED: string;
    static DOWNLOADING: string;
    static UNKNOWN: string;
}
declare class ThumbnailPlaceholder {
    icon: string;
    style: string;
    constructor(icon: string, style: string);
}
interface IThumbnail {
    availableThumbnail: boolean;
    md5sum: string;
    size: number;
    wantThumbnailDate: Date;
    isThumbnailAvailable(): boolean;
}
interface IFileDescriptor {
    id: string;
    url: string;
    ownerId: string;
    fileName: string;
    extension: string;
    typeMIME: string;
    size: number;
    registrationDate: Date;
    uploadedDate: Date;
    viewers: any[];
    state: FileState;
    fileToSend: any;
    previewBlob: any;
    chunkTotalNumber: number;
    chunkPerformed: number;
    chunkPerformedPercent: number;
    thumbnail: IThumbnail;
    thumbnailPlaceholder: ThumbnailPlaceholder;
    orientation: number;
    isThumbnailPossible(): boolean;
    isImage(): boolean;
    isUploaded(): boolean;
    isAlreadyFileViewer(viewerId: string): boolean;
    getDisplayName(): string;
    getDisplayNameTruncated(): string[];
    getExtension(): string;
}
/**
 * @public
 * @class
 * @name FileDescriptor
 * @description
 *      This class is used to represent a File Descriptor or a Short File Descriptor which describes a file shared in a conversation (one-to-one or bubble).
 */
declare class FileDescriptor implements IFileDescriptor {
    id: string;
    url: string;
    ownerId: string;
    fileName: string;
    extension: string;
    typeMIME: string;
    size: number;
    registrationDate: Date;
    uploadedDate: Date;
    viewers: any[];
    dateToSort: Date;
    state: FileState;
    fileToSend: any;
    previewBlob: any;
    chunkTotalNumber: number;
    chunkPerformed: number;
    chunkPerformedPercent: number;
    thumbnail: IThumbnail;
    thumbnailPlaceholder: ThumbnailPlaceholder;
    orientation: number;
    md5sum: string;
    applicationId: string;
    /**
     * @this FileDescriptor
     */
    constructor(id: string, url: string, ownerId: string, fileName: string, extension: string, typeMIME: string, size: number, registrationDate: Date, uploadedDate: Date, dateToSort: Date, viewers: any, state: FileState, thumbnail: IThumbnail, orientation: number, md5sum: string, applicationId: string);
    isMicrosoftFile(): boolean;
    isThumbnailPossible(): boolean;
    isPDF(): boolean;
    isImage(): boolean;
    isAudioVideo(): boolean;
    isUploaded(): boolean;
    isAlreadyFileViewer(viewerId: string): boolean;
    getDisplayName(): string;
    getDisplayNameTruncated(): string[];
    getExtension(): string;
    private getThumbnailPlaceholderFromMimetype;
}
declare function FileDescriptorFactory(): (id: any, url: any, ownerId: any, fileName: any, extension: any, typeMIME: any, size: any, registrationDate: any, uploadedDate: any, dateToSort: any, viewers: any, state: any, thumbnail: any, orientation: any, md5sum: any, applicationId: any) => FileDescriptor;
export { FileDescriptorFactory as fileDescriptorFactory, FileDescriptor };
