import * as React from 'react'; import { type FieldProps } from '../_shared/index.js'; type FileInputSize = 'xs' | 'sm' | 'md' | 'lg'; interface FileInputControlProps extends Omit, 'onChange' | 'defaultValue'> { /** Input size variant */ size?: FileInputSize; /** Whether in success state (green border) */ success?: boolean; /** Whether the input is disabled */ disabled?: boolean; /** Whether the selected file is displayed without browse or delete actions */ readOnly?: boolean; /** Controlled: current file */ value?: File | null; /** Controlled: called when file changes */ onChange?: (file: File | null) => void; /** Uncontrolled: default file */ defaultValue?: File | null; /** Accept attribute for file filtering */ accept?: string; /** Placeholder text when no file selected */ placeholder?: string; /** Browse button label */ browseLabel?: string; /** Browse button icon */ browseIcon?: React.ReactNode; /** Delete button label */ deleteLabel?: string; /** Delete button icon */ deleteIcon?: React.ReactNode; } export interface FileInputProps extends FileInputControlProps, FieldProps { } export declare const fileInputSizeClasses: Record; declare const FileInput: React.ForwardRefExoticComponent>; export { FileInput };