import type { OpenClawConfig } from "../config/config.js"; export type EffectiveToolSource = "core" | "plugin" | "channel"; export type EffectiveToolInventoryEntry = { id: string; label: string; description: string; rawDescription: string; source: EffectiveToolSource; pluginId?: string; channelId?: string; }; export type EffectiveToolInventoryGroup = { id: EffectiveToolSource; label: string; source: EffectiveToolSource; tools: EffectiveToolInventoryEntry[]; }; export type EffectiveToolInventoryResult = { agentId: string; profile: string; groups: EffectiveToolInventoryGroup[]; }; export type ResolveEffectiveToolInventoryParams = { cfg: OpenClawConfig; agentId?: string; sessionKey?: string; workspaceDir?: string; agentDir?: string; messageProvider?: string; senderIsOwner?: boolean; senderId?: string | null; senderName?: string | null; senderUsername?: string | null; senderE164?: string | null; accountId?: string | null; modelProvider?: string; modelId?: string; currentChannelId?: string; currentThreadTs?: string; currentMessageId?: string | number; groupId?: string | null; groupChannel?: string | null; groupSpace?: string | null; replyToMode?: "off" | "first" | "all"; modelHasVision?: boolean; requireExplicitMessageTarget?: boolean; disableMessageTool?: boolean; }; export declare function resolveEffectiveToolInventory(params: ResolveEffectiveToolInventoryParams): EffectiveToolInventoryResult;