import { z } from 'zod';
import type { ValidatedEventPayload } from './types';
/**
 * Event payload schema that matches the Edge Function payload structure
 */
export declare const eventPayloadSchema: z.ZodObject<{
    contact: z.ZodObject<{
        email: z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodString>;
        marketing_opt_out: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        properties: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    }, "strip", z.ZodTypeAny, {
        email: string;
        marketing_opt_out: boolean;
        properties: Record<string, unknown>;
    }, {
        email: string;
        marketing_opt_out?: boolean | undefined;
        properties?: Record<string, unknown> | undefined;
    }>;
    event: z.ZodObject<{
        name: z.ZodString;
        properties: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    }, "strip", z.ZodTypeAny, {
        properties: Record<string, unknown>;
        name: string;
    }, {
        name: string;
        properties?: Record<string, unknown> | undefined;
    }>;
}, "strict", z.ZodTypeAny, {
    contact: {
        email: string;
        marketing_opt_out: boolean;
        properties: Record<string, unknown>;
    };
    event: {
        properties: Record<string, unknown>;
        name: string;
    };
}, {
    contact: {
        email: string;
        marketing_opt_out?: boolean | undefined;
        properties?: Record<string, unknown> | undefined;
    };
    event: {
        name: string;
        properties?: Record<string, unknown> | undefined;
    };
}>;
/**
 * Validate the user-provided payload
 * This is the main validation function used by the SDK
 */
export declare function validatePayload(payload: unknown): ValidatedEventPayload;
/**
 * Format validation errors into a readable string
 * @internal
 */
export declare const formatValidationError: (error: z.ZodError) => string;
