import { default as React } from 'react'; /** Tracking event data for file input interactions */ export interface FileInputTrackingData { /** Action performed */ action: 'select' | 'drop' | 'remove'; /** Optional custom label for tracking */ trackingLabel?: string; /** Optional component context */ componentName?: string; } export interface FileInputProps { /** Callback when files are selected */ onChange: (files: File[]) => void; /** Accept file types (e.g., "image/*", ".pdf,.doc") */ accept?: string; /** Allow multiple files */ multiple?: boolean; /** Maximum file size in bytes */ maxSize?: number; /** Maximum number of files */ maxFiles?: number; /** Disabled state */ disabled?: boolean; /** Show drag-and-drop area */ showDropZone?: boolean; /** Show file list */ showFileList?: boolean; /** Current files (for controlled component) */ files?: File[]; /** Callback to remove a file */ onRemove?: (index: number) => void; /** Additional className */ className?: string; /** Button text */ buttonText?: string; /** Drop zone text */ dropZoneText?: string; /** Optional callback for tracking file input interactions */ onTrack?: (data: FileInputTrackingData) => void; /** Custom label for tracking */ trackingLabel?: string; /** Component name for tracking context */ componentName?: string; } /** * FileInput Component * * File input with drag-and-drop support, file preview, and validation. * Supports single or multiple files with size and type restrictions. * * @example * ```tsx * * ``` * * @example * ```tsx * * ``` */ export declare const FileInput: React.FC; //# sourceMappingURL=file-input.d.ts.map