import { default as React } from 'react'; import { LabelPlacement } from './Input'; export interface PinInputProps { /** Number of character cells (default 6; any positive number, e.g. 4, 6, 8) */ length?: number; /** Input type */ type?: "numeric" | "alphanumeric"; /** Current value */ value: string; /** Change handler */ onChange: (value: string) => void; /** Label text or ReactNode (supports rich content like tooltip icons) */ label?: React.ReactNode; /** Helper text */ helperText?: string; /** Error state */ error?: boolean | string; /** Disabled */ disabled?: boolean; /** Mask characters (password mode) */ mask?: boolean; /** Size */ size?: "small" | "medium" | "large"; /** Auto-focus first cell on mount */ autoFocus?: boolean; /** Callback when all cells filled */ onComplete?: (value: string) => void; /** * Label placement style. * - `'outlined'` — label sits on the border of a surrounding container. **Default.** * - `'above'` — label sits above the cells with a gap (classic stack). */ labelPlacement?: LabelPlacement; /** Required indicator */ required?: boolean; /** Stretch to full width of container (cells share width equally, same as standard inputs) */ fullWidth?: boolean; } export declare const PinInput: React.NamedExoticComponent; export default PinInput;