import type { IContributionProvider, IPlugin, IPluginService, IStage } from '../interface';
interface ILegacyPluginRegistry {
    install: (plugin: IPlugin) => void;
    uninstall: (name: string) => void;
    get: (name: string) => IPlugin | undefined;
    clear: () => void;
}
interface IPluginServiceDeps {
    pluginRegistry?: ILegacyPluginRegistry;
}
export declare class DefaultPluginService implements IPluginService {
    protected autoEnablePlugins: IContributionProvider<IPlugin>;
    onStartupFinishedPlugin: IPlugin[];
    onRegisterPlugin: IPlugin[];
    stage: IStage;
    actived: boolean;
    readonly pluginRegistry: ILegacyPluginRegistry;
    constructor(autoEnablePlugins?: IContributionProvider<IPlugin>, deps?: IPluginServiceDeps);
    active(stage: IStage, params: {
        pluginList?: string[];
    }): void;
    findPluginsByName(name: string): IPlugin[];
    install(plugin: IPlugin): void;
    uninstall(name: string): void;
    register(plugin: IPlugin): void;
    unRegister(plugin: IPlugin): void;
    release(...params: any): void;
}
export {};
