export interface JSONSchemaDefinition { $schema?: string; $id?: string; $ref?: string; type?: string | string[]; properties?: Record; required?: string[]; items?: JSONSchemaDefinition | JSONSchemaDefinition[]; additionalProperties?: boolean | JSONSchemaDefinition; enum?: unknown[]; const?: unknown; allOf?: JSONSchemaDefinition[]; anyOf?: JSONSchemaDefinition[]; oneOf?: JSONSchemaDefinition[]; not?: JSONSchemaDefinition; if?: JSONSchemaDefinition; then?: JSONSchemaDefinition; else?: JSONSchemaDefinition; minimum?: number; maximum?: number; minLength?: number; maxLength?: number; pattern?: string; format?: string; default?: unknown; description?: string; title?: string; [key: string]: unknown; } export interface JSONSchemaValidationError { path: string; message: string; keyword?: string; params?: Record; } export type JSONSchemaValidationResult = { valid: true; data: T; } | { valid: false; errors: JSONSchemaValidationError[]; }; export interface JSONSchemaAdapter { validate: (schema: JSONSchemaDefinition, data: unknown) => JSONSchemaValidationResult; formatErrors: (errors: JSONSchemaValidationError[]) => string; } export declare function registerJSONSchemaAdapter(adapter: JSONSchemaAdapter): void; export declare function unregisterJSONSchemaAdapter(): void; export declare function hasJSONSchemaAdapter(): boolean; export declare function getJSONSchemaAdapter(): JSONSchemaAdapter; export declare function isJSONSchema(value: unknown): value is JSONSchemaDefinition; export declare function validateJSONSchema(schema: JSONSchemaDefinition, data: unknown): { success: true; data: T; } | { success: false; error: Error; }; export interface UnifiedSchema { readonly _tag: "zod" | "effect" | "jsonschema"; parse(data: unknown): T; safeParse(data: unknown): { success: true; data: T; } | { success: false; error: Error; }; } export declare function wrapJSONSchema(schema: JSONSchemaDefinition): UnifiedSchema; export declare function createSimpleJSONSchemaAdapter(): JSONSchemaAdapter; //# sourceMappingURL=jsonSchemaCompat.d.ts.map