export interface JsonSchema { type?: string | string[]; properties?: Record; required?: string[]; items?: JsonSchema | JsonSchema[]; enum?: unknown[]; const?: unknown; additionalProperties?: boolean | JsonSchema; description?: string; title?: string; default?: unknown; minimum?: number; maximum?: number; minLength?: number; maxLength?: number; pattern?: string; format?: string; minItems?: number; maxItems?: number; uniqueItems?: boolean; anyOf?: JsonSchema[]; oneOf?: JsonSchema[]; allOf?: JsonSchema[]; not?: JsonSchema; if?: JsonSchema; then?: JsonSchema; else?: JsonSchema; $ref?: string; $defs?: Record; definitions?: Record; } export interface SchemaValidationResult { valid: boolean; errors: SchemaValidationError[]; } export interface SchemaValidationError { path: string; message: string; expected?: string; actual?: string; } export interface SchemaDefinitionValidationResult { valid: boolean; errors: string[]; } /** Max schema nesting depth. Schemas are LLM-provided and purely-recursively * validated; without a cap a pathologically deep schema overflows the call * stack (RangeError). 64 is well beyond any realistic schema. */ export declare const MAX_SCHEMA_DEPTH = 64; export declare function validateJsonSchema(value: unknown, schema: JsonSchema, path?: string, depth?: number, rootSchema?: JsonSchema): SchemaValidationResult; export declare function validateJsonSchemaDefinition(schema: JsonSchema): SchemaDefinitionValidationResult; export declare function generateSchemaDescription(schema: JsonSchema, indent?: number): string; export declare function mergeSchemas(schemas: JsonSchema[]): JsonSchema; //# sourceMappingURL=schema-validator.d.ts.map