import type { ReactElement } from "react";
import React from "react";
import type { FormFieldProps } from "../FormField";
interface MaskElementProps {
readonly isMasking: boolean;
readonly formattedValue: string;
readonly placeholderMask: string;
}
export declare function MaskElement({ isMasking, formattedValue, placeholderMask, }: MaskElementProps): React.JSX.Element | null;
export interface InputMaskProps {
/**
* A string pattern to mask the value. For example:
*
* - Phone number: `(***) ***-*****` = `(555) 123-3456`
* - Hours and minutes: `**:**` = `01:20`
*
* By default, a `*` is used to indicate where a value would be in place. To
* change that, use the `delimiter` prop.
*/
readonly pattern: string;
/**
* Change the delimiter when you need to have a `*` as a value that the input
* returns. For example, you want your pattern to have a `*` in it.
*
* ```
*
* ```
*
* It would now replace `n` with the value you type and end up with `1*2=2` if
* you give a value of `122`.
*
* @default "*"
*/
readonly delimiter?: string;
/**
* Allow/prevent users adding from more value than the desired pattern.
* For example, your pattern could accept 10 characters. If it's strict, your
* users can only type 10 characters.
*
* @default true
*/
readonly strict?: boolean;
readonly children: ReactElement;
}
export declare function InputMask({ children, delimiter, pattern, strict, }: InputMaskProps): ReactElement>;
export {};