import { UploadedFile, UploadResult } from "./types"; export declare class FileUploader { #private; el: HTMLGxIdeFileUploaderElement; /** Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf']) */ readonly types?: string[]; /** Whether multiple files can be selected */ readonly multiple: boolean; /** Whether file names can be edited */ readonly canEditName: boolean; /** Label to display in the uploader dialog */ readonly label?: string; /** Function to handle file upload */ readonly uploadFunction: (file: File, progressCallback: (progress: number) => void) => Promise; /** Function to cancel file upload */ readonly cancelUploadFunction?: (fileId: string) => Promise; /** Callback when a file is uploaded successfully */ readonly fileUploadedCallback?: (file: UploadedFile) => Promise; /** Callback when the dialog is canceled */ readonly dialogCanceledCallback?: () => Promise; /** Callback when the dialog is confirmed with files */ readonly dialogConfirmedCallback?: (files: UploadedFile[]) => Promise; /** Callback when upload is cancelled */ readonly uploadCancelledCallback?: (fileId: string) => Promise; /** Callback when file is renamed */ readonly fileRenamedCallback?: (data: { fileId: string; newName: string; }) => Promise; /** Callback when a file validation error occurs */ readonly fileValidationErrorCallback?: (data: { fileName: string; error: string; }) => Promise; /** Callback when a file deletion error occurs */ readonly fileDeletionErrorCallback?: (data: { fileName: string; error: string; }) => Promise; /** Callback when a file is deleted */ readonly fileDeletedCallback?: (file: UploadedFile) => Promise; /** Callback before deleting a file to get confirmation */ readonly onBeforeDelete?: (file: UploadedFile) => Promise; private fileStates; private isDragging; /** Initializes component with locale strings */ componentWillLoad(): Promise; /** Clears the current file selection */ clear(): Promise; render(): any; }