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;
};