import { Disposable } from '@opensumi/ide-core-browser';
import { IExtensionMetaData } from '../common';
import { Extension } from './extension';
import { AbstractExtInstanceManagementService } from './types';
/**
 * 管理 Extension 实例相关数据
 * 负责插件实例的管理
 * - 及插件的激活/禁用等
 */
export declare class ExtInstanceManagementService extends Disposable implements AbstractExtInstanceManagementService {
    private readonly storageProvider;
    private readonly appConfig;
    private readonly injector;
    private readonly extensionNodeClient;
    private onDidChangeEmitter;
    private workspaceStorage;
    private globalStorage;
    private _whenReady;
    constructor();
    init(): Promise<void>;
    get whenReady(): Promise<void>;
    get onDidChange(): import("@opensumi/ide-core-browser").Event<void>;
    private extensionMap;
    dispose(): void;
    getExtensionInstances(): Extension[];
    disposeExtensionInstances(): void;
    disposeExtensionInstancesByPath(paths: string[]): void;
    resetExtensionInstances(): void;
    getExtensionInstanceByPath(extensionPath: string): Extension | undefined;
    getExtensionInstanceByExtId(extensionId: string): Extension | undefined;
    deleteExtensionInstanceByPath(extensionPath: string): void;
    addExtensionInstance(extension: Extension): void;
    /**
     * 检查插件是否激活
     */
    checkExtensionEnable(extension: IExtensionMetaData): Promise<boolean>;
    createExtensionInstance(extensionPathOrMetaData: IExtensionMetaData | string, isBuiltin: boolean, isDevelopment?: boolean): Promise<Extension | undefined>;
    /**
     * 判断插件是否为内置插件
     */
    checkIsBuiltin(extensionMetaData: IExtensionMetaData): boolean;
    /**
     * 判断插件是否为开发模式
     */
    checkIsDevelopment(extensionMetaData: IExtensionMetaData): boolean;
    /**
     * @param realPath extension path
     */
    private getExtensionCandidateByPath;
}
//# sourceMappingURL=extension-instance-management.d.ts.map