/// <reference types="web" />
/// <reference types="node" />
import type { TSLanguageService, TSLanguageServiceHost, TSProject, TSServerHost, TypeScript } from '../contracts/TypeScript';
import { PluginConfig } from './ConfigManager';
export interface Options {
    project?: TSProject;
    languageService: TSLanguageService;
    languageServiceHost: TSLanguageServiceHost;
    serverHost: TSServerHost;
    config: PluginConfig;
    typescript: typeof TypeScript;
    typesDir: string;
}
export declare class PluginManager {
    #private;
    static instance: PluginManager;
    private constructor();
    private readonly logger;
    private _activeContainerId;
    create(options: Options): TSLanguageService;
    getExternalFiles(project: TSProject): string[];
    onConfigurationChanged(config: PluginConfig): void;
    fixConsole(console: Console): void;
}
export declare const pluginManager: PluginManager;
//# sourceMappingURL=PluginManager.d.ts.map