import type { Attribute, Html, HtmlBuilder } from 'foldkit/html';
/** Attribute groups the textarea component provides to the consumer's `toView` callback. */
export type TextareaAttributes = Readonly<{
textarea: ReadonlyArray>;
label: ReadonlyArray>;
description: ReadonlyArray>;
}>;
/** Configuration for rendering a textarea with `view`. */
export type ViewConfig = Readonly<{
id: string;
toView: (attributes: TextareaAttributes) => Html;
onInput?: (value: string) => Message;
value?: string;
isDisabled?: boolean;
isReadOnly?: boolean;
isInvalid?: boolean;
isAutofocus?: boolean;
name?: string;
rows?: number;
placeholder?: string;
}>;
/** Returns the description element id, derived from the textarea's base id. */
export declare const descriptionId: (id: string) => string;
/** Renders an accessible textarea by building ARIA attribute groups and delegating layout to the consumer's `toView` callback. */
export declare const view: (config: ViewConfig, h: HtmlBuilder) => Html;
//# sourceMappingURL=index.d.ts.map