import * as React from "react";
import { type ReactNode } from "react";
/**
 * OTP component for one-time password input with multiple fields
 */
export interface IOtpProps extends Omit<React.HTMLAttributes<HTMLFieldSetElement>, "onFocus" | "onBlur" | "onChange"> {
    /**
     * Value of the OTP input.
     */
    initialValue?: string;
    /**
     * Pass a regex to restrict what can be entered in the OTP input.
     */
    regexValidation?: string;
    /**
     * Callback triggered when the OTP input value changes.
     */
    onChange?: (val: string) => void;
    /**
     * Callback triggered when the OTP input loses focus.
     */
    onBlur?: React.FocusEventHandler<HTMLDivElement>;
    /**
     * Callback triggered when the OTP input gains focus.
     */
    onFocus?: React.FocusEventHandler<HTMLDivElement>;
    /**
     * Regular static label.
     */
    label?: ReactNode;
    /**
     * Pass OTP length.
     * @default 6
     */
    otpLength?: number;
    /**
     * Overwrite the style by passing space separated class names.
     */
    className?: string;
    /**
     * Additional information or guidance displayed below the OTP input.
     */
    helperText?: ReactNode;
    /**
     * Pass a boolean value to indicate if the OTP input is in an error state.
     * @default false
     */
    error?: boolean;
    /**
     * Whether the OTP input is disabled.
     * @default false
     */
    disabled?: boolean;
}
/**
 * OTP input component for one-time password entry
 */
export declare const OtpInput: React.ForwardRefExoticComponent<IOtpProps & React.RefAttributes<HTMLFieldSetElement>>;
