import React, { ComponentPropsWithoutRef } from 'react';
import { DropdownItem } from '../Dropdown';
import { Action, Localization, ValidatorConfig } from './types';
export interface FileAction extends Omit<DropdownItem, 'onItemClick'> {
    onItemClick: (name: File, idx: number) => void;
}
interface DropzoneConfig {
    action?: Action;
    description?: string;
    emptyHeight?: number;
    icon?: React.ReactNode;
    label?: string;
}
interface FileValidationError {
    file: File;
    fileIdx: number;
    message?: string;
    type: string | string[];
}
interface Props {
    actions?: FileAction[];
    description?: React.ReactNode;
    dropzoneConfig?: DropzoneConfig;
    error?: string | string[];
    files: File[];
    label?: React.ReactNode;
    labelId?: string;
    localization?: Localization;
    previewHidden?: boolean;
    validators?: ValidatorConfig[];
    onFilesChange(files: File[]): void;
    onFilesError?(errors: FileValidationError[]): void;
}
export type FileUploaderProps = Props & ComponentPropsWithoutRef<'input'>;
export declare const FileUploader: React.FC<FileUploaderProps>;
export {};
//# sourceMappingURL=FileUploader.d.ts.map