import { Value } from '@tempots/dom';
import { InputOptions } from './input-options';
import { Merge } from '@tempots/std';
/**
 * Configuration options for the {@link TextArea} component.
 *
 * Extends {@link InputOptions} for string values with an additional `rows` property
 * to control the visible height of the textarea.
 */
export type TextAreaOptions = Merge<InputOptions<string>, {
    /** Number of visible text rows. @default 3 */
    rows?: Value<number>;
}>;
/**
 * A multi-line text input component wrapping a native `<textarea>` element.
 *
 * Renders a styled textarea inside an {@link InputContainer} with support for
 * reactive values, configurable row count, placeholder text, disabled state, and
 * all standard {@link InputOptions} properties. The container uses `baseContainer`
 * mode for proper textarea sizing.
 *
 * @param options - Configuration options for the textarea
 * @returns A styled textarea element wrapped in an InputContainer
 *
 * @example
 * ```ts
 * import { prop } from '@tempots/dom'
 * import { TextArea } from '@tempots/beatui'
 *
 * const bio = prop('')
 * TextArea({
 *   value: bio,
 *   onChange: bio.set,
 *   placeholder: 'Tell us about yourself...',
 *   rows: 5,
 *   size: 'md',
 * })
 * ```
 *
 * @example
 * ```ts
 * // Minimal usage with default 3 rows
 * TextArea({
 *   value: prop(''),
 *   onInput: (v) => console.log('Typing:', v),
 * })
 * ```
 */
export declare const TextArea: (options: TextAreaOptions) => import("@tempots/dom").Renderable;
