import type { IElementRef, OnInit } from '@melodicdev/core';
import type { Size } from '../../../types/index.js';
/**
 * ml-textarea - Multi-line text input component
 *
 * @example
 * ```html
 * <ml-textarea label="Description" placeholder="Enter description"></ml-textarea>
 * <ml-textarea label="Bio" rows="5" max-length="500"></ml-textarea>
 * <ml-textarea label="Notes" auto-resize></ml-textarea>
 * ```
 *
 * @fires ml:input - Emitted on input
 * @fires ml:change - Emitted on change (blur)
 * @fires ml:focus - Emitted on focus
 * @fires ml:blur - Emitted on blur
 */
export declare class TextareaComponent implements IElementRef, OnInit {
    elementRef: HTMLElement;
    /** Current value */
    value: string;
    /** Placeholder text */
    placeholder: string;
    /** Label text */
    label: string;
    /** Hint text shown below textarea */
    hint: string;
    /** Error message (shows error state when set) */
    error: string;
    /** Input size */
    size: Size;
    /** Number of visible text lines */
    rows: number;
    /** Maximum character length */
    maxLength: number;
    /** Disable the textarea */
    disabled: boolean;
    /** Make textarea readonly */
    readonly: boolean;
    /** Mark as required */
    required: boolean;
    /** Allow vertical resize */
    resize: boolean;
    /** Internal focus state */
    focused: boolean;
    onInit(): void;
    handleInput: (event: Event) => void;
    handleChange: (event: Event) => void;
    handleFocus: () => void;
    handleBlur: () => void;
}
//# sourceMappingURL=textarea.component.d.ts.map