import { DocumentIndex, ReferenceInfo } from '@criteria/json-schema'; import { OpenAPIContentIndex } from '../openapi-index/OpenAPIContentIndex'; import { OpenAPIObjectType } from '../specification/v3.1/visitOpenAPIObjects'; import { MaybePromise } from '../util/promises'; import { URI } from '../util/uri'; export interface Metadata { type: OpenAPIObjectType | null; openAPIVersion: string; metaSchemaID: string; } export interface OpenAPIIndexConfiguration { defaultJSONSchemaDialect?: URI; cloned?: boolean; retrieve?: (uri: URI) => MaybePromise; } export declare class OpenAPIIndex extends DocumentIndex { readonly openAPIContentIndex: OpenAPIContentIndex; readonly defaultJSONSchemaDialect: URI; constructor(configuration: OpenAPIIndexConfiguration); readonly references: Map>; isObjectIndexed(object: object): boolean; isURIIndexed(uri: string): boolean; indexedObjectWithURI(uri: URI): any; infoForIndexedObject(object: any): import("@criteria/json-schema").DocumentInfo; addRootOpenAPI(rootOpenAPI: object, baseURI: URI): MaybePromise; addOpenAPIObjects(rootObject: object, baseURI: URI, metadata: Metadata): MaybePromise; }