interface UseInputMaskParams { /** * The current value of the input */ value: string; /** * A pattern to specify the format (e.g. "(***) ***-****") */ pattern: string; /** * Character in the pattern that will be replaced with input values * @default "*" */ delimiter?: string; /** * Whether to restrict input to the pattern length * @default true */ strict?: boolean; /** * Callback function to be called with the masked value on change. */ onChange?: (maskedValue: string, event?: React.ChangeEvent) => void; } interface UseInputMaskResult { /** * The formatted value according to the pattern */ formattedValue: string; /** * The masked placeholder text (portion of pattern not yet filled) */ placeholderMask: string; /** * Whether masking is currently active */ isMasking: boolean; /** * Handler for input change events that formats the input and calls the onChange prop */ maskedOnChange: (newValue: string, event?: React.ChangeEvent) => void; /** * Raw input value from the user without formatting characters */ inputValue: string; } export declare function useInputMask({ value, pattern, delimiter, strict, onChange, }: UseInputMaskParams): UseInputMaskResult; export {};