import type { ToolServerSpec } from "../agents/ports/tools.js";
type MessageSender = (opts: {
    prompt: string | AsyncIterable<any>;
    chatId?: string;
    folder?: string;
    systemPrompt?: string;
    agentAlias?: string;
    maxTurns?: number;
    defaultPermissions?: any;
    provider?: "claude-code" | "openrouter";
    model?: string;
}) => Promise<import("events").EventEmitter>;
/**
 * Register the sendMessage function. Called by claude.ts on module load
 * to break the circular dependency.
 */
export declare function setMessageSender(fn: MessageSender): void;
/**
 * Build a tool-server spec scoped to a specific agent.
 * The agentAlias is baked into the closure so scoped tools (cron jobs, activity)
 * only access that agent's data. Orchestration tools can target other agents.
 */
export declare function buildAgentToolsSpec(agentAlias: string): ToolServerSpec;
export {};
//# sourceMappingURL=agent-tools.d.ts.map