import type { Plugin, PluginOwnership } from "./types/plugin";
import type { IAgentRuntime } from "./types/runtime";
type RuntimeWithPluginLifecycle = IAgentRuntime & {
    __elizaPluginLifecycleInstalled?: boolean;
    __elizaPluginOwnership?: Map<string, PluginOwnership>;
    registerDatabaseAdapter: (adapter: IAgentRuntime["adapter"]) => void;
    unloadPlugin?: (pluginName: string) => Promise<PluginOwnership | null>;
    reloadPlugin?: (plugin: Plugin) => Promise<void>;
    applyPluginConfig?: (pluginName: string, config: Record<string, string>) => Promise<boolean>;
    getPluginOwnership?: (pluginName: string) => PluginOwnership | null;
    getAllPluginOwnership?: () => PluginOwnership[];
};
export declare function installRuntimePluginLifecycle(runtime: IAgentRuntime): void;
export declare function supportsRuntimePluginLifecycle(runtime: IAgentRuntime | null): runtime is RuntimeWithPluginLifecycle;
export {};
//# sourceMappingURL=plugin-lifecycle.d.ts.map