import React from 'react'; import { FlintInputOtp as FlintInputOtpElement } from '@getufy/flint-ui/input-otp/flint-input-otp'; export interface FlintOtpChangeDetail { value: string; } export interface FlintOtpCompleteDetail { value: string; } /** * Accessible one-time password input with copy/paste support. Manages a hidden native `` and syncs each `flint-input-otp-slot` with the appropriate character and active-cursor state. * * @slot (default) - Accepts `flint-input-otp-group`, `flint-input-otp-separator`, and `flint-input-otp-slot` elements. */ export interface FlintInputOtpProps extends Omit, 'defaultValue'> { /** Current OTP value. Reflects to attribute for external observation. */ value?: string; /** Initial uncontrolled value. Has no effect after the first render. */ defaultValue?: string; /** Total number of character slots. */ maxLength?: number; /** Per-character regex pattern string. Characters failing the test are */ pattern?: string; /** Disables the OTP input. */ disabled?: boolean; /** Form field name used when submitting form data. */ name?: string; /** Marks the OTP input as required for form validation. */ required?: boolean; /** Accessible label for the hidden input (used as aria-label). */ label?: string; /** Optional description text for the hidden input (used as aria-describedby). */ description?: string; /** * Fired on every value change. `detail: { value: string }`. * DOM event: `flint-otp-change` */ onFlintOtpChange?: (event: CustomEvent) => void; /** * Fired when `maxLength` chars have been entered. `detail: { value: string }`. * DOM event: `flint-otp-complete` */ onFlintOtpComplete?: (event: CustomEvent) => void; } export declare const FlintInputOtp: React.ForwardRefExoticComponent>;