import { z } from 'zod/v4'; import type { $ZodFunction } from 'zod/v4/core'; /** * Converts Zod v4 function factory (returned by `z.function`) to Zod schema. * * Supports asynchronous functions. For synchronous functions, you can use {@link convertSyncZodFunctionToSchema}. * * @param factory `z.function({ input: [...], output: ... })` * @returns Zod schema with compile-time and runtime validations. */ export declare function convertAsyncZodFunctionToSchema(factory: T): z.ZodPipe, z.ZodTransform[0] extends infer T_1 ? T_1 extends Parameters[0] ? T_1 extends z.core.$InferOuterFunctionTypeAsync ? T_1 : z.core.$InferOuterFunctionTypeAsync : never : never>, unknown>>; /** * Converts Zod v4 function factory (returned by `z.function`) to Zod schema. * * **IMPORTANT!** Use for synchronous functions only. For asynchronous functions use {@link convertAsyncZodFunctionToSchema}. * * @throws `Encountered Promise during synchronous parse. Use .parseAsync() instead.` if used with async functions. * * @param factory `z.function({ input: [...], output: ... })` * @returns Zod schema with compile-time and runtime validations. */ export declare function convertSyncZodFunctionToSchema(factory: T): z.ZodPipe, z.ZodTransform<(...args: Parameters) => ReturnType[0]> extends ReturnType ? ReturnType[0]> : ReturnType, unknown>>;