export type FormFieldError = Readonly<{
    message: string;
}>;
export type AuthFormServerError = Readonly<{
    fields?: Readonly<Record<string, FormFieldError>>;
    form?: FormFieldError;
}>;
export type StringLengthValidation = {
    maxLength?: number;
    maxLengthMessage?: string;
    minLength?: number;
    minLengthMessage?: string;
    requiredMessage?: string;
    trim?: boolean;
};
export type UrlValidation = {
    allowedProtocols?: readonly string[];
    invalidMessage: string;
    requiredMessage?: string;
};
export declare function createFormFieldError(message: string | undefined): FormFieldError | undefined;
export declare function getFormFieldErrorMessage(errors: readonly unknown[]): string | undefined;
/** Normalizes the error shapes accepted by TanStack Form field validators. */
export declare function getFormFieldErrors(errors: readonly unknown[]): FormFieldError[];
/** Normalizes thrown mutation errors for TanStack Form's global error map. */
export declare function normalizeAuthFormServerError(error: unknown, fallbackMessage: string): AuthFormServerError;
export declare function validateStringLength(value: string, { maxLength, maxLengthMessage, minLength, minLengthMessage, requiredMessage, trim }: StringLengthValidation): FormFieldError | undefined;
export declare function validateEmailAddress(value: string, { invalidMessage, requiredMessage }: {
    invalidMessage: string;
    requiredMessage?: string;
}): FormFieldError | undefined;
export declare function validateMatchingValue(value: string, expected: string, message: string): FormFieldError | undefined;
export declare function validateMinimumItems<T>(value: readonly T[], minimum: number, message: string): FormFieldError | undefined;
export declare function validateAbsoluteUrl(value: string, { allowedProtocols, invalidMessage, requiredMessage }: UrlValidation): FormFieldError | undefined;
export declare function validateAbsoluteUrlList(value: string, options: UrlValidation): FormFieldError | undefined;
