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 { 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 { detectExternalSkillPlugin, 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;
    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;
    createHooks: typeof createHooks;
    createPluginInterface: typeof createPluginInterface;
};
export declare function createPluginModule(overrides?: Partial<PluginModuleDeps>): PluginModule;
