import { OpenApiZodAny } from '@anatine/zod-openapi';
import { z, ZodArray, ZodDate, ZodIntersection, ZodObject, ZodTypeAny, ZodUnion } from 'zod';
export type ReplaceDatesWithStrings<T extends ZodTypeAny> = T extends ZodDate ? ReturnType<typeof z.string> : T extends ZodObject<infer Shape> ? ZodObject<{
    [k in keyof Shape]: ReplaceDatesWithStrings<Shape[k]>;
}> : T extends ZodArray<infer Item> ? ZodArray<ReplaceDatesWithStrings<Item>> : T extends ZodUnion<infer Options> ? ZodUnion<{
    [k in keyof Options]: ReplaceDatesWithStrings<Options[k]>;
}> : T extends ZodIntersection<infer Left, infer Right> ? ZodIntersection<ReplaceDatesWithStrings<Left>, ReplaceDatesWithStrings<Right>> : T;
export declare const replaceDatesWithStrings: <T extends OpenApiZodAny>(schema: T) => ReplaceDatesWithStrings<T>;
