import { z, ZodObject } from "zod";
type ValidationResponse<T> = {
    success: true;
    data: T;
} | {
    success: false;
    errors: Partial<Record<keyof T, string>>;
    message: string;
    data: T;
};
/**
 * Validates form data against a Zod schema.
 *
 * @param {Schema} validationSchema - The Zod schema to validate the form data against.
 * @param {FormData | Record<string, unknown> | undefined} formData - The form data to validate.
 * @returns {Promise<ValidationResponse<z.infer<Schema>>>} - A promise that resolves to a validation response.
 *
 * @throws {Error} Throws an error if a valid Zod schema or valid FormData is not provided,
 * or if an unexpected error occurs during validation.
 */
export declare function validateForm<Schema extends ZodObject>(validationSchema: Schema, formData: FormData | Record<string, unknown> | undefined): Promise<ValidationResponse<z.infer<Schema>>>;
export declare function extractFieldErrors<T extends z.ZodObject>(error: z.ZodError, schema: T): Partial<Record<keyof z.infer<T>, string>>;
export {};
