import { type ReactNode } from "react"; export type FileUploadPreviewProps = { /** The selected files, in display order. The caller owns this list. */ files: File[]; /** Receives the file whose remove button was activated. */ onRemove: (file: File) => void; /** When set, a clear-all action shows while more than one file is listed. */ onClearAll?: () => void; /** Suspends the remove/clear actions (e.g. while an upload is running). */ disabled?: boolean; /** Accessible name of the file list. Default "Selected files". */ listLabel?: string; /** Builds the accessible name of a row's remove button. Default `Remove ${fileName}`. */ removeLabel?: (fileName: string) => string; /** Clear-all action label. Default "Clear all". */ clearAllLabel?: ReactNode; /** Builds the accessible name of a row's open-preview trigger. Default `Preview ${fileName}`. */ previewLabel?: (fileName: string) => string; /** Accessible name of the lightbox close button. Default "Close". */ closeLabel?: string; /** Accessible name of the lightbox previous-file button. Default "Previous file". */ previousLabel?: string; /** Accessible name of the lightbox next-file button. Default "Next file". */ nextLabel?: string; /** Builds the lightbox "n of m" position readout. Default `${position} of ${total}`. */ positionLabel?: (position: number, total: number) => string; /** Lightbox fallback for formats with no inline preview. Default "Preview not available". */ previewUnavailableLabel?: ReactNode; }; /** * Pre-upload confirmation list for `FileUpload`'s controlled mode, also * usable standalone when an app lays out the trigger and the list apart. * Rows show a thumbnail (images) or format icon, the name, and a * human-readable size; each row is removable, and a clear-all action appears * for multi-file selections. Activating a row opens a full-size lightbox * that pages through the whole selection. */ export declare function FileUploadPreview({ files, onRemove, onClearAll, disabled, listLabel, removeLabel, clearAllLabel, previewLabel, closeLabel, previousLabel, nextLabel, positionLabel, previewUnavailableLabel, }: FileUploadPreviewProps): import("react").JSX.Element | null; //# sourceMappingURL=preview.d.ts.map