import { type MaskitoElementPredicate, type MaskitoOptions } from '@maskito/core';
import { type RefCallback } from 'react';
/**
 * Hook for convenient use of Maskito in React
 * @description For controlled inputs use `onInput` event
 * @param options options used for creating Maskito
 * @param elementPredicate function that can help find nested Input or TextArea
 * @returns ref callback to pass it in React Element
 * @example
 * // To avoid unnecessary hook runs with Maskito recreation pass named variables
 * // good example ✅
 * useMaskito({ options: maskitoOptions, elementPredicate: maskitoPredicate })
 *
 * // bad example ❌
 * useMaskito({ options: { mask: /^.*$/ }, elementPredicate: () => e.querySelector('input') })
 */
export declare const useMaskito: ({ options, elementPredicate, }?: {
    options?: MaskitoOptions | null;
    elementPredicate?: MaskitoElementPredicate;
}) => RefCallback<HTMLElement>;
