import { type Logger } from '../utils';
import type { PluginExtend } from './plugin-extend';
import type { Plugin, PluginManager, PluginMeta } from './plugin-manager';
export declare class PluginRuntime {
    config: Plugin;
    logger: Logger;
    private manager;
    private _inited;
    private _extended;
    private pluginName;
    meta: PluginMeta;
    /**
     * indicates whether the plugin is disabled
     */
    private _disabled;
    get ctx(): import("./plugin-context").PluginContext;
    constructor(pluginName: string, manager: PluginManager, config: Plugin);
    get name(): string;
    get deps(): string[];
    get disabled(): boolean;
    isInited(): boolean;
    isExtended(): boolean;
    init(forceInit?: boolean): Promise<void>;
    destroy(): Promise<void>;
    extend(pluginExtend: PluginExtend): Promise<void>;
    setDisabled(flag?: boolean): void;
    dispose(): Promise<void>;
}
