import { z } from "zod"; interface OpenAPISchemaBase { type?: string; nullable?: boolean; enum?: string[]; } interface OpenAPISchemaObject extends OpenAPISchemaBase { type: "object"; properties?: Record; required?: string[]; } interface OpenAPISchemaArray extends OpenAPISchemaBase { type: "array"; items?: OpenAPISchema | undefined; } interface OpenAPISchemaAllOf { allOf: OpenAPISchema[]; } interface OpenAPISchemaOneOf { oneOf: OpenAPISchema[]; } interface OpenAPISchemaAnyOf { anyOf: OpenAPISchema[]; } interface OpenAPISchemaRef { $ref: string; } type OpenAPISchema = OpenAPISchemaAllOf | OpenAPISchemaAnyOf | OpenAPISchemaArray | OpenAPISchemaBase | OpenAPISchemaObject | OpenAPISchemaOneOf | OpenAPISchemaRef; interface OpenAPISpec { components: { schemas: Record; }; } declare class OpenAPIToZodConverter { private spec; private zodSchemas; constructor(spec: OpenAPISpec); private convertSchema; private handleAllOf; private handleAnyOf; private handleRef; private convertObjectSchema; private convertArraySchema; private convertStringSchema; private convertNumberSchema; private convertBooleanSchema; convert(): Record; } export declare function convertOpenAPISpecToZodSchemas(spec: OpenAPISpec): { map: Record; items: { name: string; schema: z.ZodTypeAny; }[]; }; export { type OpenAPISpec, OpenAPIToZodConverter };