import { TextInputProps } from '../../../components';
import { FieldPath, FieldValues } from 'react-hook-form';
import { FormFieldProps } from '../../../types';
export type TransformProps<T> = {
    input?: (value: T) => string;
    output?: (value: string) => T;
};
type AllowedTextInputProps = Omit<TextInputProps, 'errorMessage' | 'id' | 'name' | 'onChange' | 'ref'>;
export type FormTextFieldProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransform = string> = FormFieldProps<TFieldValues, TName> & AllowedTextInputProps & {
    showOptionalText?: boolean;
    /**
     * Optional transformation functions for input and output values:
     * - `input`: Converts the form's value to a string.
     * - `output`: Converts the input string back to the desired format.
     */
    transform?: TransformProps<TTransform>;
};
export declare const FormTextField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransform = string>({ id: suppliedId, name, onBlur, errorMode, rules, shouldUnregister, showOptionalText, defaultValue, transform, ...muiProps }: FormTextFieldProps<TFieldValues, TName, TTransform>) => import("@emotion/react/jsx-runtime").JSX.Element;
export {};
