import { z } from 'zod';
export declare function reportErrors(): void;
export declare function match<T extends z.ZodSchema>(schema: T, input: unknown, onError?: 'warn' | 'throw'): input is z.infer<T>;
export declare function looseArray<T extends z.ZodTypeAny>(schema: T, catchCallback?: () => void): z.ZodEffects<z.ZodCatch<z.ZodArray<z.ZodCatch<z.ZodNullable<T>>, 'many'>>, z.TypeOf<T>[], unknown>;
export declare function looseRecord<T extends z.ZodTypeAny>(schema: T, catchCallback?: () => void): z.ZodEffects<z.ZodCatch<z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodNullable<T>>>>, Record<string, z.TypeOf<T>>, unknown>;
export declare function looseValue<T, U extends z.ZodTypeDef, V>(schema: z.ZodType<T, U, V>, catchCallback?: () => void): z.ZodCatch<z.ZodNullable<z.ZodType<T, U, V>>>;
