import { FactoryOpts } from 'imask';
import { default as React } from 'react';
/**
 * Configuration for the `useInputMask` hook.
 */
interface UseInputMaskOptions {
    /** Mask configuration passed to IMask. */
    mask: FactoryOpts['mask'] | undefined;
    /** Input ref from the consuming component. */
    ref: React.Ref<HTMLInputElement> | undefined;
    /** Optional callback invoked with the accepted masked value. */
    onChange: ((value: string) => void) | undefined;
}
/**
 * Result returned by `useInputMask`.
 */
interface UseInputMaskResult {
    /** Ref callback that merges consumer ref with the internal IMask ref. */
    mergedRef: (node: HTMLInputElement | null) => void;
    /** Indicates whether a mask is currently enabled. */
    isMasked: boolean;
}
/**
 * Creates an input ref callback that conditionally attaches IMask when a mask is provided
 * while always forwarding the input node to the consumer ref.
 */
export default function useInputMask({ mask, ref, onChange }: UseInputMaskOptions): UseInputMaskResult;
export {};
