import { FilePosition, Json } from "@azure-tools/openapi-tools-common"; import { FileLoader, FileLoaderOption } from "./fileLoader"; import { Loader } from "./loader"; export interface JsonLoaderOption extends FileLoaderOption { useJsonParser?: boolean; eraseDescription?: boolean; eraseXmsExamples?: boolean; keepOriginalContent?: boolean; transformRef?: boolean; skipResolveRefKeys?: string[]; supportYaml?: boolean; } export interface FileCache { resolved?: Json; filePath: string; originalContent?: string; skipResolveRef?: boolean; mockName: string; resolveRef?: boolean; } export declare const $id = "$id"; export declare class JsonLoaderRefError extends Error { position?: FilePosition; url?: string; ref?: string; constructor(source: { $ref: string; }); } export declare class JsonLoader implements Loader { private opts; private fileLoader; private mockNameMap; private globalMockNameId; private loadedFiles; private skipResolveRefKeys; private fileCache; private loadFile; private loadFileWithRefSiblings; constructor(opts: JsonLoaderOption, fileLoader: FileLoader); private parseFileContent; load(inputFilePath: string, skipResolveRef?: boolean, keepRefSiblings?: boolean): Promise; getFileContentFromCache(filePath: string): Json | undefined; resolveFile(mockName: string): Promise; resolveRefObj(object: T): T; resolveMockedFile(fileName: string): any; getRealPath(mockName: string): string; private resolveRef; private getNextMockName; } export declare const isRefLike: (obj: any) => obj is { $ref: string; readOnly?: boolean; }; //# sourceMappingURL=jsonLoader.d.ts.map