import * as react from 'react'; import { ReactNode } from 'react'; interface FileUploadContextValue { files: File[]; addFiles: (files: FileList | File[]) => void; removeFile: (index: number) => void; disabled: boolean; } interface FileUploadProps { children: ReactNode; value?: File[]; onChange?: (files: File[]) => void; accept?: string; multiple?: boolean; maxFiles?: number; maxSize?: number; disabled?: boolean; className?: string; } interface FileUploadDropzoneProps { children?: ReactNode; className?: string; } interface FileUploadListProps { thumbnail?: boolean; className?: string; } declare function FileUploadDropzone({ children, className, }: FileUploadDropzoneProps): react.JSX.Element; declare namespace FileUploadDropzone { var displayName: string; } declare function FileUploadList({ thumbnail, className }: FileUploadListProps): react.JSX.Element | null; declare namespace FileUploadList { var displayName: string; } declare function FileUploadRoot({ children, value, onChange, maxFiles, maxSize, disabled, className, }: FileUploadProps): react.JSX.Element; declare const FileUpload: typeof FileUploadRoot & { Dropzone: typeof FileUploadDropzone; List: typeof FileUploadList; }; declare function useFileUpload(): FileUploadContextValue; export { FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, useFileUpload };