import { LuxenElement } from '../../shared/luxen-element.js';
/**
* Enhances a child `` with visual digit cells (Stripe-style OTP input).
*
* A single hidden `` handles keyboard, paste, and autocomplete.
* Visual cells are rendered as real DOM elements with individual borders and focus ring.
*
* @summary Stripe-style OTP input with visual digit cells over a hidden native input.
* @customElement l-input-otp
*
* @attribute size - sm | lg — Cell size. Default is md.
*
* @cssproperty --digits - Number of digit boxes (default: 6). Must match input's maxlength.
* @cssproperty --cell-size - Cell width and height (default: 2.75rem). Font size scales automatically.
* @cssproperty --cell-gap - Space between cells (default: 0.5rem).
* @cssproperty --cell-bg-color - Cell background color.
* @cssproperty --cell-border-color - Cell border color.
* @cssproperty --cell-border-radius - Cell border-radius.
* @cssproperty --cell-focus-color - Border + ring color of the active (focused) cell.
* @cssproperty --cell-focus-ring - `box-shadow` of the active cell ring (defaults to a 1px solid ring; set to `none` to disable).
*/
export declare class InputOtp extends LuxenElement {
createRenderRoot(): this;
/** Position after which to insert a visual separator (e.g., 3 for a 3-3 grouping). */
separatorAfter?: number;
private _input;
private _container;
private _cells;
private _separatorEl;
private _initialized;
private _setupTimer;
connectedCallback(): void;
disconnectedCallback(): void;
/** @returns true when setup ran or was already done; false to schedule a retry. */
private _trySetup;
private _setup;
private _teardown;
private _updateCells;
private _clearCells;
private _scheduleUpdateCells;
}
//# sourceMappingURL=input-otp.d.ts.map