import { TextBoxModel } from '@nekobird/rocket';
export interface TextAreaFieldConfig {
    element?: HTMLTextAreaElement;
    disableLineBreaks: boolean;
    disableTabs: boolean;
    limitNumberOfCharacters: boolean;
    removeLeadingWhitespaces: boolean;
    removeMultipleWhitespaces: boolean;
    onBlur: (textareafield: TextAreaField) => void;
    onFocus: (textareafield: TextAreaField) => void;
    onInput: (textareafield: TextAreaField) => void;
    onPaste: (textareafield: TextAreaField) => void;
    onGrow: (height: number, textareafield: TextAreaField) => void;
}
export declare class TextAreaField {
    textBoxModel: TextBoxModel;
    config: TextAreaFieldConfig;
    isInFocus: boolean;
    previousKeyCode?: number;
    constructor(config?: Partial<TextAreaFieldConfig>);
    setConfig(config?: Partial<TextAreaFieldConfig>): this;
    initialize(): this;
    readonly selected: string;
    insert(string: string): this;
    value: string;
    readonly isSingleLine: boolean;
    readonly lineCount: number;
    getHeight(text?: string): number;
    filterAndGrow(): this;
    grow(): this;
    filterInput(): this;
    private handleBlur;
    private handleFocus;
    private handleInput;
    private handleKeydown;
    private handlePaste;
    private listen;
    stopListen(): this;
    static isHTMLTextAreaElement(element: any): boolean;
}
