import { PluginObject } from 'vue'; import { MFile } from '../../utils/file/file'; import { ModulVue } from '../../utils/vue/vue'; import { MModal } from '../modal/modal'; export interface MFileExt extends MFile { completeHinted: boolean; isOldRejection: boolean; } export interface FileUploadCustomValidation { /** * This function will be ran on every file added during their validation. Must return a Promise.resolved with a boolean stating if the file respects * the custom criterias or not. */ validationFunction: (file: MFile) => Promise; /** * Custom validation message displayed when {@link MFileUpload#customValidationFunction} return false. */ message: string; } export declare class MFileUpload extends ModulVue { readonly allowedExtensions: string[]; readonly rejectedExtensions: string[]; readonly maxSizeKb?: number; readonly maxFiles?: number; readonly selectionHelpMessage?: string; readonly storeName: string; readonly open: boolean; readonly fileReplacement: boolean; readonly customValidation?: FileUploadCustomValidation; $refs: { modal: MModal; }; tooltipCancel: string; tooltipDelete: string; private internalOpen; get isDropZoneEnabled(): boolean; protected created(): void; protected destroyed(): void; updateValidationOptions(): void; openChanged(open: boolean): void; onFilesChanged(): void; onFreshlyCompletedFilesChanged(): void; onFilesRejected(): void; onPortalAfterOpen(): void; onMessageClose(): void; onAddClick(): void; onCancelClick(): void; onUploadCancel(file: MFile): void; onFileRemove(file: MFile): void; onOpen(): void; onClose(): void; getFileStatus(file: any): string; getBadgeState(file: any): string | undefined; hasExtensionsRejection(file: any): boolean; hasSizeRejection(file: any): boolean; hasMaxFilesRejection(file: any): boolean; hasCustomValidationRejection(file: MFile): boolean; get title(): string; get buttonAdd(): string; get fileAllowedExtensions(): string; get isAddBtnEnabled(): boolean; get readyFiles(): MFileExt[]; get freshlyCompletedFiles(): MFileExt[]; get uploadingFilesOnly(): MFileExt[]; get uploadingFiles(): MFileExt[]; get completedFiles(): MFileExt[]; get rejectedFiles(): MFileExt[]; get allFiles(): MFileExt[]; get hasUploadingFiles(): boolean; get hasCompletedFiles(): boolean; get buttonCompletedStyle(): string | undefined; get hasRejectedFiles(): boolean; get hasAllowedExtensions(): boolean; get propOpen(): boolean; set propOpen(value: boolean); get propMaxFiles(): number | undefined; get multipleSelection(): boolean; get dropEvents(): string[]; } declare const FileUploadPlugin: PluginObject; export default FileUploadPlugin; //# sourceMappingURL=file-upload.d.ts.map