/**
 * Tool access constants for sub-agent tool filtering.
 *
 * CC-aligned: constants/tools.ts pattern.
 * Tool filtering happens at agent SPAWN time (not per-iteration in tool loop).
 *
 * CC reference: claude-code-haha/src/constants/tools.ts
 * CC reference: claude-code-haha/src/tools/AgentTool/agentToolUtils.ts
 */
import type { ToolDefinition } from "../protocol/wire/index.js";
/**
 * Tools that ALL sub-agents are forbidden from using.
 * CC: ALL_AGENT_DISALLOWED_TOOLS
 */
export declare const AGENT_DISALLOWED_TOOLS: Set<string>;
/**
 * Additional tools denied for custom (user-defined) agents.
 * CC: CUSTOM_AGENT_DISALLOWED_TOOLS
 */
export declare const CUSTOM_AGENT_DISALLOWED_TOOLS: Set<string>;
/**
 * Filter tools available to a sub-agent.
 *
 * CC pattern: tool filtering happens at agent SPAWN time,
 * not per-iteration inside the tool loop.
 *
 * @param tools - Parent's full tool pool
 * @param isBuiltIn - Whether the agent is a built-in agent type (vs custom)
 */
export declare function filterToolsForAgent(tools: ToolDefinition[], isBuiltIn: boolean): ToolDefinition[];
