import * as React from 'react'; export declare const useFileUpload: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance; hasFiles: boolean; hasUploadedFiles: boolean; rootProps: { 'data-disabled'?: string | undefined; 'data-scope': "fileupload"; 'data-part': "root"; }; chooseProps: { 'data-disabled'?: string | undefined; 'data-scope': "fileupload"; 'data-part': "choose"; onClick: () => void; }; uploadProps: { 'data-disabled'?: string | undefined; 'data-scope': "fileupload"; 'data-part': "upload"; onClick: () => void; disabled: boolean; }; clearProps: { 'data-disabled'?: string | undefined; 'data-scope': "fileupload"; 'data-part': "clear"; onClick: () => void; disabled: boolean; }; inputProps: { ref: (node: HTMLInputElement | null) => void; 'data-scope': "fileupload"; 'data-part': "text"; type: "file"; accept: string | undefined; multiple: boolean | undefined; disabled: boolean | undefined; onChange: (event: React.ChangeEvent | DragEvent) => void; }; contentProps: { ref: (node: HTMLDivElement | null) => void; 'data-scope': "fileupload"; 'data-part': "content"; role: "region"; 'aria-busy': boolean; onDragEnter: React.DragEventHandler; onDragOver: React.DragEventHandler; onDragLeave: React.DragEventHandler; onDrop: React.DragEventHandler; }; fileRemoveProps: { 'data-scope': "fileupload"; 'data-part': "fileRemove"; }; fileProps: { 'data-scope': "fileupload"; 'data-part': "file"; }; fileThumbnailProps: { 'data-scope': "fileupload"; 'data-part': "fileThumbnail"; }; fileInfoProps: { 'data-scope': "fileupload"; 'data-part': "fileInfo"; }; fileNameProps: { 'data-scope': "fileupload"; 'data-part': "fileName"; }; fileSizeProps: { 'data-scope': "fileupload"; 'data-part': "fileSize"; }; fileListProps: { 'data-scope': "fileupload"; 'data-part': "fileList"; }; upload: () => void; cancelUpload: () => void; onFileSelect: (event: React.ChangeEvent | DragEvent) => void; choose: () => void; uploader: (uploadFiles?: File[]) => void; clear: () => void; remove: (index: number) => void; removeUploadedFile: (index: number) => void; formatSize: (bytes: number) => string; onDragEnter: (event: DragEvent) => void; onDragOver: (event: DragEvent) => void; onDragLeave: () => void; onDrop: (event: DragEvent) => void; }>;