import * as ts from 'typescript'; export declare class HostBase implements ts.CompilerHost { fileExists(fileName: string): boolean; directoryExists(directoryName: string): boolean; readFile(fileName: string): string; getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: (message: string) => void): ts.SourceFile; writeFile(name: string, text: string, writeByteOrderMark: boolean): void; useCaseSensitiveFileNames(): boolean; getCanonicalFileName(fileName: string): string; getCurrentDirectory(): string; getNewLine(): string; getDefaultLibFileName(options: ts.CompilerOptions): string; getCancellationToken(): ts.CancellationToken; getDirectories(path: string): string[]; } export declare class ChainableHost extends HostBase { protected source: ts.CompilerHost; setSource(source: ts.CompilerHost): void; fileExists(fileName: string): boolean; directoryExists(directoryName: string): boolean; getCurrentDirectory(): string; readFile(fileName: string): string; getSourceFile(fileName: string, languageVersion: ts.ScriptTarget, onError?: (message: string) => void): ts.SourceFile; writeFile(name: string, text: string, writeByteOrderMark: boolean): void; getDirectories(path: string): string[]; } export declare function chainHosts(host0: ts.CompilerHost, ...chainableHosts: ChainableHost[]): ts.CompilerHost;