/** * Consent Input Web Component * * A styled text input for consent pages with label and error support. * Implements Form Associated Custom Elements for proper form participation. * * @module components/consent-input */ import { LitElement } from 'lit'; /** * Input types supported */ export type InputType = 'text' | 'email' | 'password' | 'tel' | 'url'; /** * ConsentInput - A themed input component with label * * @example * ```html * * ``` * * @fires input - Fired when input value changes * @fires change - Fired when input loses focus after change * @csspart input - The input element * @csspart label - The label element * @cssprop --consent-primary - Primary brand color for focus state */ export declare class ConsentInput extends LitElement { static formAssociated: boolean; private internals; constructor(); /** * Input type */ type: InputType; /** * Form field name */ name: string; /** * Input value */ value: string; /** * Label text */ label: string; /** * Placeholder text */ placeholder: string; /** * Required for form validation */ required: boolean; /** * Disabled state */ disabled: boolean; /** * Autocomplete attribute */ autocomplete: string; /** * Error message to display */ error?: string; /** * Show password toggle for password inputs */ private showPassword; static styles: import("lit").CSSResult; protected updated(changedProperties: Map): void; private handleInput; private handleChange; private togglePasswordVisibility; private renderPasswordToggle; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'consent-input': ConsentInput; } } //# sourceMappingURL=consent-input.d.ts.map