import { wo as OpenClawPluginToolContext } from "./types-9k7QHAb02.js";
import { r as AnyAgentTool } from "./common-BbnIwt4V.js";
//#region src/plugins/tool-descriptor-cache.d.ts
declare function resetPluginToolDescriptorCache(): void;
//#endregion
//#region src/plugins/tools.d.ts
type PluginToolMcpMeta = {
  serverName: string;
  safeServerName: string;
  toolName: string;
  operation: "tool" | "resources_list" | "resources_read" | "prompts_list" | "prompts_get";
};
type PluginToolMeta = {
  pluginId: string;
  optional: boolean;
  trustedLocalMedia?: boolean;
  mcp?: PluginToolMcpMeta;
};
declare function setPluginToolMeta(tool: AnyAgentTool, meta: PluginToolMeta): void;
declare function getPluginToolMeta(tool: AnyAgentTool): PluginToolMeta | undefined;
declare function copyPluginToolMeta(source: AnyAgentTool, target: AnyAgentTool): void;
/**
 * Builds a collision-proof key for plugin-owned tool metadata lookups.
 */
declare function buildPluginToolMetadataKey(pluginId: string, toolName: string): string;
declare function ensureStandalonePluginToolRegistryLoaded(params: {
  context: OpenClawPluginToolContext;
  toolAllowlist?: string[];
  toolDenylist?: string[];
  allowGatewaySubagentBinding?: boolean;
  hasAuthForProvider?: (providerId: string) => boolean;
  env?: NodeJS.ProcessEnv;
}): void;
declare function resolvePluginTools(params: {
  context: OpenClawPluginToolContext;
  existingToolNames?: Set<string>;
  toolAllowlist?: string[];
  toolDenylist?: string[];
  suppressNameConflicts?: boolean;
  allowGatewaySubagentBinding?: boolean;
  hasAuthForProvider?: (providerId: string) => boolean;
  env?: NodeJS.ProcessEnv;
}): AnyAgentTool[];
//#endregion
export { ensureStandalonePluginToolRegistryLoaded as a, setPluginToolMeta as c, copyPluginToolMeta as i, resetPluginToolDescriptorCache as l, PluginToolMeta as n, getPluginToolMeta as o, buildPluginToolMetadataKey as r, resolvePluginTools as s, PluginToolMcpMeta as t };