import type { AvailableCategory } from "../agents/dynamic-agent-prompt-builder";
import type { OhMyOpenCodeConfig } from "../config";
import { createTeamApproveShutdownTool, createTeamCreateTool, createTeamDeleteTool, createTeamRejectShutdownTool, createTeamShutdownRequestTool } from "../features/team-mode/tools/lifecycle";
import { createTeamSendMessageTool } from "../features/team-mode/tools/messaging";
import { createTeamListTool, createTeamStatusTool } from "../features/team-mode/tools/query";
import { createTeamTaskCreateTool, createTeamTaskGetTool, createTeamTaskListTool, createTeamTaskUpdateTool } from "../features/team-mode/tools/tasks";
import type { PluginContext, ToolsRecord } from "./types";
import { createBackgroundTools, createCallOmoAgent, createLookAt, createSkillMcpTool, createSkillTool, createGrepTools, createGlobTools, createSessionManagerTools, createDelegateTask, discoverCommandsSync, interactive_bash, createTaskCreateTool, createTaskGetTool, createTaskList, createTaskUpdateTool, createHashlineEditTool } from "../tools";
import type { Managers } from "../create-managers";
import type { SkillContext } from "./skill-context";
type ToolRegistryFactories = {
    createBackgroundTools: typeof createBackgroundTools;
    createCallOmoAgent: typeof createCallOmoAgent;
    createLookAt: typeof createLookAt;
    createSkillMcpTool: typeof createSkillMcpTool;
    createSkillTool: typeof createSkillTool;
    createGrepTools: typeof createGrepTools;
    createGlobTools: typeof createGlobTools;
    createSessionManagerTools: typeof createSessionManagerTools;
    createDelegateTask: typeof createDelegateTask;
    discoverCommandsSync: typeof discoverCommandsSync;
    interactive_bash: typeof interactive_bash;
    createTaskCreateTool: typeof createTaskCreateTool;
    createTaskGetTool: typeof createTaskGetTool;
    createTaskList: typeof createTaskList;
    createTaskUpdateTool: typeof createTaskUpdateTool;
    createHashlineEditTool: typeof createHashlineEditTool;
    createTeamApproveShutdownTool: typeof createTeamApproveShutdownTool;
    createTeamCreateTool: typeof createTeamCreateTool;
    createTeamDeleteTool: typeof createTeamDeleteTool;
    createTeamRejectShutdownTool: typeof createTeamRejectShutdownTool;
    createTeamShutdownRequestTool: typeof createTeamShutdownRequestTool;
    createTeamSendMessageTool: typeof createTeamSendMessageTool;
    createTeamTaskCreateTool: typeof createTeamTaskCreateTool;
    createTeamTaskGetTool: typeof createTeamTaskGetTool;
    createTeamTaskListTool: typeof createTeamTaskListTool;
    createTeamTaskUpdateTool: typeof createTeamTaskUpdateTool;
    createTeamStatusTool: typeof createTeamStatusTool;
    createTeamListTool: typeof createTeamListTool;
};
export type ToolRegistryResult = {
    filteredTools: ToolsRecord;
    taskSystemEnabled: boolean;
};
export declare function trimToolsToCap(filteredTools: ToolsRecord, maxTools: number): void;
export declare function createToolRegistry(args: {
    ctx: PluginContext;
    pluginConfig: OhMyOpenCodeConfig;
    managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager" | "skillMcpManager" | "modelFallbackControllerAccessor">;
    skillContext: SkillContext;
    availableCategories: AvailableCategory[];
    interactiveBashEnabled?: boolean;
    toolFactories?: Partial<ToolRegistryFactories>;
}): ToolRegistryResult;
export {};
