import { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
export interface InputOTPProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange' | 'inputMode'> {
    /**
     * Maximum length of the input value.
     * If not provided, will be automatically detected from the number of InputOTP.Slot children.
     */
    maxLength?: number;
    /**
     * Type of input
     * @default 'text'
     */
    type?: 'text' | 'number' | 'password' | 'tel';
    /**
     * Current value (controlled mode)
     */
    value?: string;
    /**
     * Default value (uncontrolled mode)
     */
    defaultValue?: string;
    /**
     * Callback fired when the value changes
     */
    onValueChange?: (value: string) => void;
    /**
     * Whether the input is valid
     * @default true
     */
    isValid?: boolean;
    /**
     * Whether the input is disabled
     * @default false
     */
    disabled?: boolean;
    /**
     * Whether to auto-focus the input
     * @default false
     */
    autoFocus?: boolean;
    /**
     * Auto-complete attribute
     * @default 'off'
     */
    autoComplete?: string;
    /**
     * Whether to force uppercase
     * @default false
     */
    forceUppercase?: boolean;
    /**
     * Array of keys to filter out (using KeyboardEvent.key values)
     * @default ['-', '.']
     */
    filterKeys?: string[];
    /**
     * Pattern attribute for input validation and character filtering.
     * Uses a regular expression to filter allowed characters in real-time.
     * For example: "[0-9]" for digits only, "[a-c]" for letters a, b, c only.
     */
    pattern?: string;
    /**
     * Input mode attribute
     */
    inputMode?: string;
    /**
     * Placeholder text
     */
    placeholder?: string;
    /**
     * Name attribute for form integration
     */
    name?: string;
    /**
     * Children components (InputOTPGroup, InputOTPSlot, InputOTPSeparator)
     */
    children: ReactNode;
    /**
     * Ref callback for the container
     */
    ref?: Ref<HTMLDivElement>;
}
export declare const InputOTP: {
    ({ maxLength: maxLengthProp, type, value: controlledValue, defaultValue, onValueChange, isValid, disabled: disabledProp, autoFocus, autoComplete, forceUppercase, filterKeys, pattern, inputMode, placeholder, name: nameProp, className, children, ...others }: InputOTPProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
