import { InputSize } from '../../shared/types';
declare const LuksoTextarea_base: typeof import('lit').LitElement;
/**
 * A styled multi-line textarea with optional label, description, and error.
 * All events pass `{ value, event }` in their detail object.
 */
export declare class LuksoTextarea extends LuksoTextarea_base {
    value: string | undefined;
    name: string | undefined;
    placeholder: string | undefined;
    label: string | undefined;
    id: string | undefined;
    ref: string | undefined;
    description: string | undefined;
    error: string | undefined;
    customClass: string | undefined;
    isFullWidth: boolean;
    isReadonly: boolean;
    isDisabled: boolean;
    autofocus: boolean;
    borderless: boolean;
    isNonResizable: boolean;
    keepFocusOnEscape: boolean;
    size: InputSize;
    rows: number;
    private hasFocus;
    private hasHighlight;
    private styles;
    connectedCallback(): void;
    inputTemplate(styles: string): import('lit-html').TemplateResult<1>;
    private handleFocus;
    private handleBlur;
    private handleChange;
    private handleInput;
    private handleKeyUp;
    private handleKeyDown;
    private handleKeyPress;
    private handleMouseOver;
    private handleMouseOut;
    private handleInputClick;
    render(): import('lit-html').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'lukso-textarea': LuksoTextarea;
    }
}
export {};
//# sourceMappingURL=index.d.ts.map