import type { Schema } from "../schema/schema"; export type ResolverOptions = { rawRoot?: unknown; compileRaw?: (schema: unknown) => Schema; }; export type DynamicScopeFrame = { resolver: Resolver; resource: string; }; export declare class Resolver { readonly root: Schema; private static remotes; private static owners; private refs; private meta; private rawRoot?; private compileRaw?; constructor(root: Schema, options?: ResolverOptions); hasRef(s: S, value: unknown): s is S & { $ref: string; }; hasDynamicRef(s: S, value: unknown): s is S & { $dynamicRef: string; }; resolve(ref: string, from?: Schema): Schema; resolveDynamicRef(ref: string, from: Schema, dynamicScopes?: DynamicScopeFrame[]): Schema; static registerRemote(uri: string, schema: Schema): void; static clearRemotes(): void; keyFor(schema: Schema): string; resourceFor(schema?: Schema): string; draftFor(schema?: Schema): "2019-09" | "2020-12"; disablesValidationVocabulary(schema?: Schema): boolean; owns(schema: Schema): boolean; static ownerOf(schema: Schema): Resolver | undefined; private resolveRawPointer; private index; private normalizeRef; private normalizeFragment; private resolveUri; private resourceId; private splitFragment; private dynamicAnchorInResource; private dynamicAnchorName; private pointer; private shouldSkipKey; private draftFromSchema; private hasValidationVocabulary; }