import { LitElement } from 'lit'; /** * OTP / PIN Input — multi-box single-character input for one-time passwords and PINs. * * @fires otp-change - Fired on each keystroke. detail: { value: string, complete: boolean } * @fires otp-complete - Fired when all digits are filled. detail: { value: string } * * @csspart input - Each individual input box */ export declare class UIOtpInput extends LitElement { static styles: import("lit").CSSResult; /** Number of boxes */ length: number; /** Input type: 'numeric' | 'alphanumeric' | 'alphabetic' */ type: 'numeric' | 'alphanumeric' | 'alphabetic'; /** Visual variant */ variant: 'default' | 'underline'; /** Show separator between groups */ showSeparator: boolean; /** Group size for separator (e.g. 3 shows dash every 3 boxes) */ separatorGroup: number; /** Disabled */ disabled: boolean; /** Error state */ error: boolean; /** Success state */ success: boolean; /** Mask input (password-style) */ mask: boolean; private _values; connectedCallback(): void; updated(changed: Map): void; private _getInputs; private _onInput; private _onKeydown; private _onPaste; private _emit; /** Programmatically set the value */ setValue(val: string): void; /** Clear all inputs */ clear(): void; /** Get current value */ get value(): string; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-otp-input': UIOtpInput; } } //# sourceMappingURL=otp-input.d.ts.map