import type { JSX, TargetedFocusEvent } from 'preact';
import type { FieldErrorMessage } from '../../atoms/Field/Field.types';
import type { MaskSettings } from '../../../../hooks/useForm/types';
import type { MismatchResult } from '../../../../utils/masking/matchAgainstMask';
export interface MaskedInputProps extends MaskSettings {
    value: string;
    onInput: (value: string) => void;
    onFocus?: () => void;
    onBlur?: (event: TargetedFocusEvent<HTMLInputElement>) => void;
    onMismatch?: (mismatch: MismatchResult) => void;
    isValid: boolean;
    errorMessage?: FieldErrorMessage;
    shouldValidate?: boolean;
    label: string;
    name: string;
    type?: 'text' | 'tel' | 'email';
    formatGuidance?: string;
    placeholder?: string;
    readonly?: boolean;
    disabled?: boolean;
    optional?: boolean;
    acceptObscuredValue?: boolean;
    helper?: string | JSX.Element;
    helperPosition?: 'above' | 'below';
    useFieldComponent?: boolean;
    stripNonAllowedInputs?: boolean;
}
export declare const MaskedInput: ({ value, onInput, onBlur, onFocus, onMismatch: onMismatchExternal, isValid: validationIsValid, errorMessage, shouldValidate, mask, name, label, placeholder, transformOnType, type, readonly, disabled, optional, formatGuidance, acceptObscuredValue, helper, helperPosition, useFieldComponent, stripNonAllowedInputs, }: MaskedInputProps) => JSX.Element;
