import { createMask, MaskDefinition, MaskResult } from './utils/mask'; export interface UseMaskedInputOptions { /** The mask definition */ mask: MaskDefinition | ReturnType; /** Initial value */ initialValue?: string; /** Callback when value changes */ onValueChange?: (result: MaskResult) => void; /** Callback when unmasked value changes */ onUnmaskedValueChange?: (unmaskedValue: string, result: MaskResult) => void; } export interface UseMaskedInputReturn { /** Current masked value for display */ value: string; /** Current unmasked value */ unmaskedValue: string; /** Whether the mask is complete */ isComplete: boolean; /** Handle text input changes */ handleChangeText: (text: string) => void; /** Handle selection change (for cursor positioning) */ handleSelectionChange: (selection: { start: number; end: number; }) => void; /** Current cursor position */ cursorPosition: number; /** Reset to initial value */ reset: () => void; /** Set value programmatically */ setValue: (value: string) => void; /** Set unmasked value programmatically */ setUnmaskedValue: (unmaskedValue: string) => void; } export declare function useMaskedInput(options: UseMaskedInputOptions): UseMaskedInputReturn;