import type { Attribute, Html, HtmlBuilder } from 'foldkit/html';
/** Attribute groups the input component provides to the consumer's `toView` callback. */
export type InputAttributes = Readonly<{
input: ReadonlyArray>;
label: ReadonlyArray>;
description: ReadonlyArray>;
}>;
/** Configuration for rendering an input with `view`. */
export type ViewConfig = Readonly<{
id: string;
toView: (attributes: InputAttributes) => Html;
onInput?: (value: string) => Message;
value?: string;
isDisabled?: boolean;
isReadOnly?: boolean;
isInvalid?: boolean;
isAutofocus?: boolean;
name?: string;
type?: string;
placeholder?: string;
}>;
/** Returns the description element id, derived from the input's base id. */
export declare const descriptionId: (id: string) => string;
/** Renders an accessible input 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