import type { HTMLAttributes } from "react";
/**
* PinInput — multi-slot OTP / code input primitive.
*
* Renders N separate boxes (default 6) that auto-advance focus on
* input. Paste handling fills all slots from clipboard (whitespace
* stripped). Arrow keys navigate; backspace clears current slot
* then moves focus back when empty.
*
* Industry-standard pattern for email verification codes (Apple,
* Stripe, Clerk, Auth0, GitHub two-factor).
*
* @example
* verify(v)}
* inputMode="numeric"
* aria-label="Verification code"
* />
*
* Note: value is treated as controlled. If you pass a complete value
* on mount, onComplete will NOT fire — onComplete fires only on
* transitions from incomplete → complete.
*/
export interface PinInputProps extends Omit, "onChange" | "inputMode"> {
length?: number;
value?: string;
onChange?: (value: string) => void;
onComplete?: (value: string) => void;
inputMode?: "numeric" | "alphanumeric";
size?: "sm" | "md" | "lg";
disabled?: boolean;
error?: boolean;
"aria-label": string;
autoFocus?: boolean;
mask?: boolean;
}
declare const PinInput: import("react").ForwardRefExoticComponent>;
export { PinInput };