/**
 * Tool composer for the built-in agent (#626).
 *
 * Operator-only tools (FS, schedule, fetch) are inline today. Once the
 * unified MCP tool registry (#615) lands with the Operations (#617) and
 * Application (#618) profiles, this is the seam where RBAC-filtered
 * registry tools get folded in for the agent's configured user. The shape
 * of {@link composeToolset} won't change — only the body gains a registry
 * lookup.
 */
import { type ScheduleToolDeps, type ScheduledFollowup } from './tools/scheduleTool.ts';
import type { AgentTool } from './types.ts';
export interface ComposeToolsetOpts extends ScheduleToolDeps {
    /** When `false`, destructive tools are filtered out at composition time. */
    allowDestructive?: boolean;
    /** Operator-injected extras (tests, custom plugins). */
    extraTools?: AgentTool[];
}
export interface ComposedToolset {
    tools: AgentTool[];
    scheduled: Map<string, ScheduledFollowup>;
}
export declare function composeToolset(opts: ComposeToolsetOpts): ComposedToolset;
export declare function toolMapByName(tools: AgentTool[]): Map<string, AgentTool>;
