import type { PluginModule } from "@opencode-ai/plugin"; import { initConfigContext } from "../cli/config-manager/config-context"; import { createHooks } from "../create-hooks"; import { createManagers } from "../create-managers"; import { createRuntimeTmuxConfig, isTmuxIntegrationEnabled } from "../create-runtime-tmux-config"; import { createTools } from "../create-tools"; import { createRuntimeSkillSourceServer } from "../features/opencode-runtime-skills"; import { initializeOpenClaw } from "../openclaw"; import { createPluginInterface } from "../plugin-interface"; import { loadPluginConfig } from "../plugin-config"; import { createModelCacheState } from "../plugin-state"; import { installAgentSortShim, setAgentSortOrder } from "../shared/agent-sort-shim"; import { detectDuplicateOmoPlugin, detectExternalSkillPlugin, getDuplicateOmoPluginWarning, getSkillPluginConflictWarning } from "../shared/external-plugin-detector"; import { createFirstMessageVariantGate } from "../shared/first-message-variant"; import { initI18n } from "../shared/i18n"; import { log } from "../shared/logger"; import { logLegacyPluginStartupWarning } from "../shared/log-legacy-plugin-startup-warning"; import { migrateLegacyWorkspaceDirectory } from "../shared/legacy-workspace-migration"; import { injectServerAuthIntoClient } from "../shared/opencode-server-auth"; import { startBackgroundCheck as startTmuxCheck } from "../tools/interactive-bash"; export type PluginModuleDeps = { initConfigContext: typeof initConfigContext; installAgentSortShim: typeof installAgentSortShim; setAgentSortOrder: typeof setAgentSortOrder; log: typeof log; logLegacyPluginStartupWarning: typeof logLegacyPluginStartupWarning; migrateLegacyWorkspaceDirectory: typeof migrateLegacyWorkspaceDirectory; detectDuplicateOmoPlugin: typeof detectDuplicateOmoPlugin; getDuplicateOmoPluginWarning: typeof getDuplicateOmoPluginWarning; detectExternalSkillPlugin: typeof detectExternalSkillPlugin; getSkillPluginConflictWarning: typeof getSkillPluginConflictWarning; injectServerAuthIntoClient: typeof injectServerAuthIntoClient; loadPluginConfig: typeof loadPluginConfig; initI18n: typeof initI18n; initializeOpenClaw: typeof initializeOpenClaw; isTmuxIntegrationEnabled: typeof isTmuxIntegrationEnabled; startTmuxCheck: typeof startTmuxCheck; createFirstMessageVariantGate: typeof createFirstMessageVariantGate; createRuntimeTmuxConfig: typeof createRuntimeTmuxConfig; createModelCacheState: typeof createModelCacheState; createManagers: typeof createManagers; createTools: typeof createTools; createRuntimeSkillSourceServer: typeof createRuntimeSkillSourceServer; createHooks: typeof createHooks; createPluginInterface: typeof createPluginInterface; }; export declare function createPluginModule(overrides?: Partial): PluginModule;