import React from 'react'; import { StyleProp, ViewStyle, KeyboardTypeOptions } from 'react-native'; export type Ux4gOtpBoxStatus = 'defaultStatus' | 'focused' | 'error' | 'warning' | 'success' | 'disabled'; export type Ux4gOtpInputStatus = 'defaultStatus' | 'error' | 'warning' | 'success' | 'locked'; export type Ux4gOtpCaptionVariant = 'resendTimer' | 'resendAction' | 'attemptWithTimer' | 'locked' | 'success' | 'warning' | 'plain'; export interface Ux4gOtpBoxProps { /** Digit value inside the box. */ value?: string; /** Status of the box driving borders and colors. */ status?: Ux4gOtpBoxStatus; /** Box size in logical points. Defaults to `48`. */ size?: number; /** Obscure character (password mode). Defaults to `false`. */ obscure?: boolean; /** Style override for the outer box container. */ style?: StyleProp; /** Test identifier */ testID?: string; } export declare const Ux4gOtpBox: React.FC; export interface Ux4gOtpCaptionProps { /** Visual variant of the caption. */ variant: Ux4gOtpCaptionVariant; /** Custom plain text caption. */ caption?: string; /** Leading text string (e.g. "Didn't receive OTP?"). */ leadingText?: string; /** Trailing text string (e.g. "Resend in 00:17"). */ trailingText?: string; /** Callback fired when pressable trailing action link is tapped. */ onTrailingTap?: () => void; /** Optional style override. */ style?: StyleProp; /** Test identifier */ testID?: string; } export declare const Ux4gOtpCaption: React.FC; export interface Ux4gOtpInputProps { /** Number of OTP digits. Defaults to `6`. */ length?: number; /** Current OTP value (controlled string). Pass empty string to clear. */ value: string; /** Fired on every character change with the full current OTP string. */ onChanged: (value: string) => void; /** Fired when all `length` digits are filled. */ onCompleted?: (value: string) => void; /** Label shown above the digit boxes. */ label?: string; /** Whether label displays required asterisk (*). Defaults to `false`. */ required?: boolean; /** Optional icon component next to label. */ labelTrailingIcon?: React.ReactNode; /** Overall status driving box colors and icons. Defaults to `'defaultStatus'`. */ status?: Ux4gOtpInputStatus; /** Password mode (obscures digits with '•'). Defaults to `false`. */ obscure?: boolean; /** Size of each digit box in logical points. Defaults to `48`. */ boxSize?: number; /** Gap between digit boxes in logical points. Defaults to `8`. */ gap?: number; /** Show '-' dash separator between middle digit boxes. Defaults to `false`. */ showSeparator?: boolean; /** Keyboard type. Defaults to `'number-pad'`. */ keyboardType?: KeyboardTypeOptions; captionVariant?: Ux4gOtpCaptionVariant; captionLeadingText?: string; captionTrailingText?: string; onCaptionTrailingTap?: () => void; captionText?: string; autoCountdownSeconds?: number; onCountdownComplete?: () => void; /** Enable or disable the OTP input. Defaults to `true`. */ enabled?: boolean; /** Optional container style override. */ containerStyle?: StyleProp; /** Optional test identifier. */ testID?: string; } export declare const Ux4gOtpInput: React.FC; //# sourceMappingURL=OtpInput.d.ts.map