import React from 'react';
import { type MaskitoOptions } from '@maskito/core';
import type { createNumberMask } from './hooks/useNumberMask';
export type TextMaskMask = RegExp | Array<RegExp | string> | false | typeof createNumberMask;
export type TextMaskInputElement = React.ReactElement<any>;
export type TextMaskValue = string | number;
export type TextMaskProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size'> & {
    mask: TextMaskMask;
    inputRef?: React.Ref<HTMLInputElement> & React.MutableRefObject<HTMLInputElement | null>;
    inputElement?: TextMaskInputElement;
    onChange?: React.ChangeEventHandler<HTMLInputElement>;
    value?: TextMaskValue;
    size?: number;
    showMask?: boolean;
    optionsEnhancer?: (opts: MaskitoOptions | null) => MaskitoOptions | null;
    ghostPlaceholder?: string;
    stripValue?: (displayValue: string) => string;
    allowOverflow?: boolean;
    overwriteMode?: MaskitoOptions['overwriteMode'];
};
export default function TextMask(props: TextMaskProps): React.JSX.Element;
