import { FC, ChangeEventHandler, MouseEventHandler, RefObject } from 'react';
import './Attach.css';
export * from './Attach.const';
export interface IAttachProps {
    /**
     * Дополнительный className
     */
    className?: string;
    /**
     * Ссылка на DOM-элемент нативного контрола
     */
    controlRef?: RefObject<HTMLInputElement>;
    /**
     * Неактивное состояние компонента.
     * Состояние, при котором компонент отображается, но недоступен для действий пользователя
     */
    disabled?: boolean;
    /**
     * Наличие элемента `Holder`
     */
    hasHolder?: boolean;
    /**
     * Текст внутри элемента `Holder`, когда файл не выбран
     */
    holderText?: string;
    /**
     * Ширина текста внутри элемента `Holder`
     */
    holderTextWidth?: number;
    /**
     * Уникальный id компонента
     *
     * @default useUniqId()
     */
    id?: string;
    /**
     * Ссылка на корневой DOM-элемент компонента
     */
    innerRef?: RefObject<HTMLElement>;
    /**
     * Имя компонента.
     */
    name?: string;
    /**
     * Обработчик, вызываемый при смене файла
     */
    onChange?: ChangeEventHandler<HTMLInputElement>;
    /**
     * Обработчик, вызываемый при очистке файла
     */
    onClearClick?: MouseEventHandler<HTMLElement>;
    /**
     * Размер компонента
     */
    size?: string;
    /**
     * Стилевое оформление компонента
     */
    theme?: string;
    /**
     * Внешний вид компонента
     */
    view?: string;
    /**
     * Содержимое кнопки
     */
    children: string;
    /**
     * Последовательность перехода между кнопками при нажатии на кнопку Tab
     * @default 0
     */
    tabIndex?: number;
    /**
     * Допустимые типы файлов
     */
    accept?: string;
}
/**
 * Компонент для создания кнопки выбора файла, предназначенного для отправки на сервер.
 * @param {IAttachProps} props
 */
export declare const Attach: FC<IAttachProps>;
