export interface DropZoneFile { id: string; file: File; previewUrl?: string; } interface DropZoneProps { files?: File[]; label?: string; hint?: string; accept?: string; /** * Form field name for the file input. * Leave unset for picker-only usage (`bind:files` / `onchange`) so the input is * ignored by parent remote forms. When set with `multiple`, a `[]` suffix is * added automatically unless the name already ends with `[]`. */ name?: string; /** Allow selecting more than one file (default true). */ multiple?: boolean; /** Cap on how many files can be kept when multiple. */ maxFiles?: number; disabled?: boolean; maxSizeMb?: number; /** Show image thumbnails / file cards for selected files. */ showPreview?: boolean; /** Append “multiple · max N MB” under the hint. Default true. */ showConstraints?: boolean; class?: string; ondropfiles?: (files: File[]) => void; onchange?: (files: File[]) => void; onremove?: (file: File) => void; } declare const DropZone: import("svelte").Component; type DropZone = ReturnType; export default DropZone;