import { z } from "zod/v4"; import type { JSONSchema } from "zod/v4/core"; import { convertJsonSchemaToZod } from "./core/converter"; export { convertJsonSchemaToZod }; export { createUniqueItemsValidator, isValidWithSchema } from "./core/utils"; type InferZodTypeFromJsonSchema = T extends { type: "string"; } ? z.ZodString : T extends { type: "number"; } ? z.ZodNumber : T extends { type: "integer"; } ? z.ZodNumber : T extends { type: "boolean"; } ? z.ZodBoolean : T extends { type: "null"; } ? z.ZodNull : T extends { type: "array"; } ? z.ZodArray : T extends { type: "object"; } ? z.ZodObject : T extends { const: any; } ? z.ZodLiteral : T extends { enum: readonly any[]; } ? z.ZodEnum : z.ZodTypeAny; type InferZodRawShape> = { [K in keyof T]: InferZodTypeFromJsonSchema; }; /** * Converts a JSON Schema object to a Zod raw shape with proper typing * @param schema The JSON Schema object to convert * @returns A Zod raw shape for use with z.object() with inferred types */ export declare function jsonSchemaObjectToZodRawShape; }>(schema: T): InferZodRawShape; /** * Converts a JSON Schema object to a Zod raw shape * @param schema The JSON Schema object to convert * @returns A Zod raw shape for use with z.object() */ export declare function jsonSchemaObjectToZodRawShape(schema: JSONSchema.Schema): Record;