import type { AgentConfig } from "@opencode-ai/sdk"; import type { WeaveConfig } from "../../config/schema"; import type { ConfigHandler } from "../../managers/config-handler"; import type { CreatedHooks } from "../../hooks/create-hooks"; import type { PluginContext, ToolsRecord } from "../../plugin/types"; import type { SessionTracker } from "../../features/analytics"; export declare function createPluginAdapter(args: { pluginConfig: WeaveConfig; hooks: CreatedHooks; tools: ToolsRecord; configHandler: ConfigHandler; agents: Record; client?: PluginContext["client"]; directory?: string; tracker?: SessionTracker; }): { config: (config: Record) => Promise; handleChatMessage: (input: { sessionID: string; }, output: { message?: Record; parts?: Array<{ type: string; text?: string; }>; }) => Promise; handleChatParams: (input: { sessionID?: string; agent?: string; model?: { id?: string; limit?: { context?: number; }; }; }) => Promise; handleEvent: (input: { event: { type: string; properties?: unknown; }; }) => Promise; handleToolExecuteBefore: (input: { sessionID: string; tool: string; callID: string; agent?: string; }, output: { args?: Record | null; }) => Promise; handleToolExecuteAfter: (input: { sessionID: string; tool: string; callID: string; args?: Record; }, output: { title?: string; output?: string; metadata?: unknown; }) => Promise; handleCommandExecuteBefore: (input: { command: string; sessionID: string; arguments: string; }, output: { parts: Array<{ type: string; text: string; }>; }) => Promise; handleToolDefinition: (input: { toolID: string; }, output: { description: string; parameters?: unknown; }) => Promise; handleSessionCompacting: (input: { sessionID?: string; }) => Promise; };