import { Input } from '@sagold/json-query'; import { JSONSchema, Draft } from '@squiz/json-schema-library'; import { AnyPrimitiveType, AnyResolvableType, ResolverContext, TypeResolver } from './jsonTypeResolution/TypeResolver'; export declare const ComponentInputMetaSchema: MetaSchemaInput; export declare const RenderInputMetaSchema: MetaSchemaInput; export declare const ManifestV1MetaSchema: MetaSchemaInput; export declare const JobV1MetaSchema: MetaSchemaInput; interface MetaSchemaInput { root: JSONSchema; remotes?: Record; } /** * A service that can be used to validate and resolve JSON against a schema. */ export declare class JSONSchemaService

{ private typeResolver; schema: Draft; constructor(typeResolver: TypeResolver, metaSchema: MetaSchemaInput); private doResolveRef; /** * Recursively check if a schema contains allOf combinators that could cause mutation */ private hasAllOfCombinator; /** * Validate an input value against a specified schema * @throws {SchemaValidationError} if the input is invalid * @returns true if the input is valid */ validateInput(input: unknown, inputSchema?: JSONSchema): true | never; /** * Resolve an input object by replacing all resolvable shapes with their resolved values * @param input any input object which matches the input schema * @param inputSchema a JSONSchema which provides type information about the input object * @returns the input object with all resolvable shapes resolved */ resolveInput(input: Input, inputSchema: JSONSchema, ctx?: ResolverContext): Promise; /** * Check if the allOf schema contains arrays with primitive types (SquizLink/SquizImage/FormattedText) * Used to determine if we need to apply data preservation */ private hasArraysWithPrimitiveTypes; /** * Check if a specific schema path should be protected from data corruption * Only protects arrays of SquizLink/SquizImage types */ private isProtectedPrimitivePath; /** * Get value at a specific JSON pointer path from the data structure * Used to preserve original data during schema traversal */ private getValueAtPointer; /** * Check if the value is already a resolved primitive type (SquizLink, SquizImage) * and doesn't need further resolution */ private isAlreadyResolvedPrimitive; } export {};