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;
    requireExplicitCompletion?: boolean;
}) => Promise<import("events").EventEmitter>;
/**
 * Register the sendMessage function. Called by claude.ts on module load
 * to break the circular dependency.
 */
export declare function setCallboardMessageSender(fn: MessageSender): void;
export declare function buildCallboardToolsSpec(getChatId?: () => string, getAgentAlias?: () => string | undefined, opts?: {
    /**
     * Include the job management tools (default true). Agent sessions set
     * this false — they get the same tools on the "callboard" agent server
     * instead, so each session sees exactly one copy.
     */
    includeJobTools?: boolean;
}): ToolServerSpec;
export {};
//# sourceMappingURL=callboard-tools.d.ts.map