import * as React from 'react'; import type { FileUploadContextValue, FileUploadHandle, FileUploadProps } from './types.js'; /** * Controllable `File[]` list. Parts proxy to a visually-hidden native * `` for the OS picker and drag/drop; this component * tracks the resulting files, filtering through `accept` and `multiple`. */ /** @internal State a {@link FileUpload} root shares with its parts: files, accept, multiple, disabled, refs, and imperative methods. */ export declare const FileUploadProvider: React.FC, useFileUploadContext: (consumerName: string) => FileUploadContextValue; /** * Controllable file-selection root that owns a `File[]` list and derives its * own dropzone, trigger, and file list when given no children. * * @example * ```tsx * * ``` */ export declare const FileUpload: { ({ value: valueProp, defaultValue, onValueChange, accept, multiple, disabled, maxFiles, maxFileSize, minFileSize, validator, onFileReject, removeLabel, name, form, required, requiredMessage, readOnly, invalid: invalidProp, directory, capture, preventDocumentDrop, showList, showPreview, fileStatus, renderFile, children, ref: forwardedRef, ...props }: Omit & { ref?: React.Ref | undefined; }): React.ReactNode; displayName: string; };