import type { z } from 'zod/v4'; type ZodTypeAny = z.ZodType; type ZodObjectAny = z.ZodObject; type ZodArrayAny = z.ZodArray; /** * Checks if a value is a Zod type * @param value - The value to check * @returns True if the value is a Zod type, false otherwise */ export declare function isZodType(value: unknown): value is ZodTypeAny; /** * Get the Zod typeName from a schema, compatible with both Zod 3 and Zod 4. * Uses string-based typeName instead of instanceof to avoid dual-package hazard * where multiple Zod instances can cause instanceof checks to fail. * * Zod 3 uses `_def.typeName` with values like "ZodString", "ZodOptional", etc. * Zod 4 uses `_def.type` with lowercase values like "string", "optional", etc. * * This function normalizes to Zod 3 format (e.g., "ZodString") for compatibility. * * @param schema - The Zod schema to get the type name from * @returns The Zod type name string (e.g., "ZodString", "ZodOptional") or undefined */ export declare function getZodTypeName(schema: ZodTypeAny): string | undefined; /** * Check if a value is a ZodArray type * @param value - The value to check (can be any type) * @returns True if the value is a ZodArray */ export declare function isZodArray(value: unknown): value is ZodArrayAny; /** * Check if a value is a ZodObject type * @param value - The value to check (can be any type) * @returns True if the value is a ZodObject */ export declare function isZodObject(value: unknown): value is ZodObjectAny; /** * Get the def object from a Zod schema, compatible with both Zod 3 and Zod 4. * @param schema - The Zod schema * @returns The def object */ export declare function getZodDef(schema: ZodTypeAny): any; /** * Get the inner type from a wrapper schema (nullable, optional, default, effects, branded). * Compatible with both Zod 3 and Zod 4. * * @param schema - The wrapper Zod schema * @param typeName - The Zod type name of the wrapper (e.g., "ZodOptional") * @returns The inner schema, or undefined if not found */ export declare function getZodInnerType(schema: z.ZodTypeAny, typeName: string): z.ZodTypeAny | undefined; /** * Unwraps Zod wrapper types (optional, nullable, default, effects, branded) * to find the base schema type. Compatible with both Zod 3 and Zod 4. * * For example, `z.array(z.string()).nullish().default([])` unwraps to `z.array(z.string())`. * * @param schema - The Zod schema to unwrap * @returns The innermost base schema */ export declare function unwrapZodType(schema: z.ZodTypeAny): z.ZodTypeAny; export {}; //# sourceMappingURL=zod-utils.d.ts.map