import { HTMLAttributes, ReactNode } from 'react'; export interface SegmentedInputProps extends Omit, 'onChange' | 'value' | 'defaultValue'> { /** The controlled value of the input */ value?: string; /** The uncontrolled default value */ defaultValue?: string; /** Number of input segments. Overridden if 'groups' is provided. */ length?: number; /** Array of numbers defining segment groupings. (e.g. [3, 2, 2] for ABC-12-34) */ groups?: number[]; /** Custom separator node rendered between groups. Defaults to a dash. */ separator?: ReactNode; /** Input type for each segment */ type?: 'text' | 'password' | 'number'; /** Autocomplete behavior. Common value for SMS OTP is "one-time-code" */ autoComplete?: string; /** Callback fired when the combined value changes */ onChange?: (value: string) => void; /** Whether the input is disabled */ disabled?: boolean; /** * Optional per-character validation. If false is returned, * the character is rejected. * */ validateChar?: (char: string, index: number) => boolean; /** Visual presentation style. */ layout?: 'separated' | 'grouped'; /** Name attribute for native form submission */ name?: string; } export declare function SegmentedInput({ value, defaultValue, length, groups, separator, type, autoComplete, onChange, disabled, validateChar, layout, name, className, ...props }: SegmentedInputProps): import("react").JSX.Element;