import type { ResolvedRole, ResolvedFunction } from "../types.ts"; import type { ISessionClient } from "../platform/ports/session-client.ts"; export declare const managerMap: Map; export declare const loopManagerMap: Map; export declare const pendingCorrections: Map; export declare const userMessagedSessions: Set; export declare const sessionAgentRegistry: Map; export declare const autoActivatedSessions: Set; export declare const roleAutoActivateMap: Map; export declare const roleLockedMap: Map; export declare let activeLoopManager: import("../loop/coordinator.ts").LoopCoordinator | undefined; /** * Configuration for creating plugin hooks. * Groups all initialization parameters into a single named object. */ export interface CreatePluginHooksConfig { resolvedRoles: ResolvedRole[]; session: ISessionClient; roleFunctionsMap: Map; directory?: string; roleboxDir?: string; globalSkillsDir?: string; configDir?: string; builtinDir?: string; } export declare function createPluginHooks(config: CreatePluginHooksConfig): Promise | { tool: Record; event: (input: { event: unknown; }) => Promise; config: (config: import("@opencode-ai/plugin").Config) => Promise; "chat.message": (input: { agent?: string; sessionID: string; }, output: { parts: { type: string; text?: string; }[]; }) => Promise; "tool.execute.after": (input: { sessionID?: string; tool?: string; args?: unknown; }, output: unknown) => Promise; "tool.execute.before": (input: { tool: string; sessionID: string; callID: string; }, output: { args: any; }) => Promise; "experimental.chat.system.transform": (input: { sessionID?: string; }, output: { system: string[]; }) => Promise; "experimental.session.compacting": (input: { sessionID: string; }, output: { context: string[]; prompt?: string; }) => Promise; dispose: () => Promise; }>; //# sourceMappingURL=composition.d.ts.map