import { Schema } from "js-yaml"; import { AutorestExtensionHost, WriteFileOptions } from "./extension-host"; import { LogLevel } from "./extension-logger"; import { Message, LogSource } from "./types"; export interface SessionOptions { host: AutorestExtensionHost; filename: string; model: T; configuration: any; } export declare class Session { model: TInputModel; filename: string; configuration: Record; private context; protected errorCount: number; private _debug; private _verbose; private service; readFile(filename: string): Promise; getValue(key: string, defaultValue?: V): Promise; listInputs(artifactType?: string | undefined): Promise; protectFiles(path: string): Promise; writeFile(options: WriteFileOptions): void; message(message: Message): void; checkpoint(): void; debug(message: string): void; verbose(message: string): void; info(message: string): void; warning(message: string, key: string[], source?: LogSource, details?: any): void; error(message: string, key: string[], source?: LogSource, details?: any): void; fatal(message: string, key: string[], source?: LogSource, details?: any): void; /** * @deprecated use #info */ log(message: string): void; protected msg(level: LogLevel, message: string, key?: string[], source?: LogSource, details?: any): void; } export declare function startSession(host: AutorestExtensionHost, schema?: Schema, artifactType?: string): Promise>; //# sourceMappingURL=session.d.ts.map