import { OpenAPI2Document } from "./v2"; import { OpenAPI3Document } from "./v3"; export interface WorkspaceConfig { specs: { [filePath: string]: T; } | Map; } export interface ResolveReferenceRelativeTo { /** * Reference as it is. * @example * #/components/schemas/Foo * file:///bar.json#/components/schemas/Foo */ ref: string; /** * File where the reference was defined. * @example file:///foo.json * */ relativeTo: string; } export interface TargetedJsonRef { /** * File part of the json ref. * @example foo.json for "foo.json#/components/schemas/Bar" */ file: string; /** * Path part of the json ref. * @example /components/schemas/Bar for "foo.json#/components/schemas/Bar" */ path?: string; } export type ResolveReferenceArgs = TargetedJsonRef | ResolveReferenceRelativeTo; export interface OpenAPIWorkspace { specs: Map; resolveReference(args: ResolveReferenceArgs): T; } export declare class InvalidRefError extends Error { } export declare function createOpenAPIWorkspace(workspace: WorkspaceConfig): OpenAPIWorkspace; //# sourceMappingURL=workspace.d.ts.map