import { ReactNode } from 'react';
import { DataAttributes } from '../../utils/types';
import './InputFile.less';
export interface InputFileProps extends DataAttributes {
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * @ignore
     */
    className?: string;
    /**
     * A callback executed when a file is selected or reset.
     * @since 3.2.0
     */
    onChange?: (file: File | undefined) => void;
    /**
     * @ignore
     */
    name?: string;
    /**
     * Whether disabled or not.
     * @since 3.2.0
     */
    disabled?: boolean;
    /**
     * When it is specified, some internal elements render with a data-test attribute.
     *
     * * testId--file-input - A hidden input[type="file"].
     * * testId--file-name - A selected file name (it exists only when the file is selected).
     * * testId--browse-button - A button that opens a file selection dialog.
     * * testId--reset-button - A button that resets the selected file.
     * @since 3.2.0
     */
    testId?: string;
    /**
     * Custom localization messages.
     * @since 3.2.0
     */
    locale?: {
        browseButton?: ReactNode;
    };
    /**
     * Defines the file types the file input should accept
     * @since 3.28.1
     */
    accept?: string;
}
/**
 * `InputFile` component is used for browsing and choosing a file from the local disk.
 * @since 3.2.0
 */
declare const InputFile: ({ baseClassName, className, onChange, name, disabled, locale, testId, accept, ...props }: InputFileProps) => JSX.Element;
export default InputFile;
