import React from 'react';
import { Theme } from '../cn';
export declare type TextareaProps = {
    /**
     * Дополнительный класс
     */
    className?: string;
    /**
     * Тип поля (filled только на белом фоне в размере m)
     */
    view?: 'default' | 'filled';
    /**
     * Управление возможностью компонента занимать всю ширину родителя
     */
    width?: 'default' | 'available';
    /**
     * Управление автозаполнением компонента
     */
    autocomplete?: boolean;
    /**
     * Управление возможностью изменения значения компонента
     */
    disabled?: boolean;
    /**
     * Управление возможностью подстраивать высоту компонента под высоту текста
     */
    autosize?: boolean;
    /**
     * Максимальное количество отображаемых строк (работает только вместе с autosize)
     */
    maxRows?: number;
    /**
     * Минимальное количество отображаемых строк (работает только вместе c autosize)
     */
    minRows?: number;
    /**
     * Максимальная высота элемента (работает только вместе с autosize)
     */
    maxHeight?: number;
    /**
     * Максимальное число символов
     */
    maxLength?: number;
    /**
     * Уникальный идентификатор блока
     */
    id?: string;
    /**
     * Уникальное имя блока
     */
    name?: string;
    /**
     * Содержимое поля ввода, указанное по умолчанию (используйте это поле
     * если хотите использовать компонент как uncontrolled)
     */
    defaultValue?: string;
    /**
     * Содержимое поля ввода
     */
    value?: string;
    /**
     * Последовательность перехода между контролами при нажатии на Tab
     */
    tabIndex?: number;
    /**
     * Лейбл для поля
     */
    label?: React.ReactNode;
    /**
     * Подсказка в поле
     */
    placeholder?: string;
    /**
     * Подсказка под полем
     */
    hint?: React.ReactNode;
    /**
     * Отображение ошибки
     */
    error?: React.ReactNode;
    /**
     * Иконка справа
     */
    icon?: React.ReactNode;
    /**
     * Размер компонента
     */
    size?: 's' | 'm' | 'l' | 'xl';
    /**
     * Управление возможностью изменения размеров компонента
     */
    resize?: 'both' | 'horizontal' | 'vertical' | 'none';
    /**
     * Тема компонента
     */
    theme?: Theme;
    /**
     * Обработчик изменения значения 'value'
     */
    onChange?: (value?: string) => void;
    /**
     * Обработчик фокуса поля
     */
    onFocus?: (event?: React.FocusEvent<any>) => void;
    /**
     * Обработчик снятия фокуса c поля
     */
    onBlur?: (event?: React.FocusEvent<any>) => void;
    /**
     * Обработчик события вставки текста в поле
     */
    onPaste?: (event?: React.ClipboardEvent<any>) => void;
    /**
     * Обработчик события изменения высоты компонента со значением параметра "autosize" = true
     */
    onHeightChange?: (height?: number) => void;
    /**
     * Обработчик события нажатия клавиши при фокусе на поле
     */
    onKeyPress?: (event?: React.KeyboardEvent<any>) => void;
    /**
     * Обработчик события keyDown
     */
    onKeyDown?: (event?: React.KeyboardEvent<any>) => void;
    /**
     * Идентификатор для систем автоматизированного тестирования
     */
    'data-test-id'?: string;
};
/**
 * Компонент многострочного текстового ввода.
 */
export declare class Textarea extends React.PureComponent<TextareaProps> {
    protected cn: (this: void | {
        props?: Record<string, unknown>;
    }, elementNameOrMods?: string | {
        [key: string]: string | number | boolean;
    }, mods?: {
        [key: string]: string | number | boolean;
    }) => string;
    static defaultProps: Partial<TextareaProps>;
    state: {
        focused: boolean;
        value: string;
    };
    /**
     * @type {HtmlSpanElement}
     */
    private root;
    /**
     * @type {HTMLTextareaElement}
     */
    control: any;
    render(): JSX.Element;
    private handleFocus;
    private handleBlur;
    private handleChange;
    private handlePaste;
    private handleHeightChange;
    private handleKeyPress;
    private handleKeyDown;
    /**
     * Устанавливает фокус на поле ввода.
     */
    focus(): void;
    /**
     * Снимает фокус с поля ввода.
     */
    blur(): void;
    /**
     * Скроллит страницу до поля ввода.
     */
    scrollTo(): void;
}
declare const _default: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<Textarea>> & Textarea;
export default _default;
