import { Component } from '../Component'; interface InputStyles { color: string; borderRadius: string; fontSize: number; fontFamily: string; } interface InputOptions { error: boolean; errorMsg?: string; label?: string; name: string; styles?: InputStyles; placeholder?: string; value?: string; type?: string; required?: boolean; disabled?: boolean; autocomplete?: string; maxLength?: number; /** * Whether the field owns the element its validation message is drawn from. * Connected fields (card group, grouped address) have no room between them, * so their messages are rendered once below the whole group instead. */ renderMessage?: boolean; onChange?: (event: Event) => void; } export declare class Input extends Component { private inputElement; private helperText; private hasError; private errorMsg; private hint; private readonly rendersMessage; constructor(options: InputOptions); getValue(): string; setValue(value: string): this; setError(error: boolean, errorMsg?: string): this; /** * Show an advisory message below the input. Unlike an error it does not * mark the field invalid, and it stays hidden while an error is displayed. */ setHint(hint: string | null): this; /** * Both kinds of message share the field's one message row: an error speaks * first, a hint fills the row only while the field is valid. Sharing keeps a * field the same height whichever it is showing, or neither. */ private renderMessage; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): this; /** * Focus the input element */ focus(): void; } export {}; //# sourceMappingURL=Input.d.ts.map