/**
* 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