type DropzoneFilesChangeReason = "drop" | "imperative-action" | "input-change"; type DropzoneFilesChangeDetails = { event?: Event; files: File[]; previousFiles: File[]; reason: DropzoneFilesChangeReason; trigger?: Element; }; type DropzoneOptions = { disabled?: boolean; isUploading?: boolean; onFilesChange?: (files: File[], details: DropzoneFilesChangeDetails) => void; }; type DropzoneSetFilesOptions = { emit?: boolean; }; type DropzoneInstance = { readonly input: HTMLInputElement; readonly root: HTMLElement; clearFiles(options?: DropzoneSetFilesOptions): void; destroy(): void; getFiles(): File[]; getUploading(): boolean; setDisabled(disabled: boolean): void; setFiles(files: File[] | FileList, options?: DropzoneSetFilesOptions): void; setUploading(isUploading: boolean): void; subscribe(event: "filesChange", callback: (details: DropzoneFilesChangeDetails) => void): () => void; }; declare function createDropzone(root: HTMLElement, options?: DropzoneOptions): DropzoneInstance; export { type DropzoneFilesChangeDetails, type DropzoneFilesChangeReason, type DropzoneInstance, type DropzoneOptions, type DropzoneSetFilesOptions, createDropzone };