import type { ExposeProviderRegistrationApi } from "@/types"; import type { AuthStore } from "../../auth/store.js"; import type { PluginInstanceSettings } from "../../settings.js"; import type { ConfigModule } from "../config/configModule.js"; import type { FileFolder } from "../files/fileFolder.js"; import type { EngineEventBus } from "../ipc/events.js"; import type { InferenceRouter } from "../modules/inference/router.js"; import type { Processes } from "../processes/processes.js"; import type { PluginDefinition } from "./catalog.js"; import type { PluginEvent } from "./events.js"; import type { PluginRegistry } from "./registry.js"; export type PluginManagerOptions = { config: ConfigModule; registry: PluginRegistry; auth: AuthStore; fileStore: FileFolder; pluginCatalog: Map; inferenceRouter: InferenceRouter; processes: Processes; exposes: ExposeProviderRegistrationApi; mode?: "runtime" | "validate"; engineEvents?: EngineEventBus; onEvent?: (event: PluginEvent) => void; }; export declare class PluginManager { private readonly config; private registry; private auth; private fileStore; private pluginCatalog; private mode; private engineEvents?; private onEvent; private inference; private processes; private exposes; private loaded; private logger; constructor(options: PluginManagerOptions); listLoaded(): string[]; listLoadedDetails(): Array<{ id: string; pluginId: string; name: string; }>; listAvailable(): string[]; listRegisteredSkills(): Array<{ pluginId: string; path: string; }>; getSystemPrompts(): Promise; reload(): Promise; getConfig(instanceId: string): PluginInstanceSettings | null; load(pluginConfig: PluginInstanceSettings): Promise; unload(instanceId: string): Promise; unloadAll(): Promise; preStartAll(): Promise; postStartAll(): Promise; private ensurePluginDir; private ensureTmpDir; private resolveEnabledPlugins; } //# sourceMappingURL=manager.d.ts.map