import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import type { Logger } from "pino";
import type { AgentManager } from "./agent-manager.js";
import type { AgentStorage } from "./agent-storage.js";
import { type ArchivePaseoWorktreeDependencies } from "../paseo-worktree-archive-service.js";
import type { VoiceCallerContext, VoiceSpeakHandler } from "../voice-types.js";
import type { TerminalManager } from "../../terminal/terminal-manager.js";
import type { CreatePaseoWorktreeWorkflowFn } from "../worktree-session.js";
import type { ScheduleService } from "../schedule/service.js";
import { type ProviderSnapshotManager } from "./provider-snapshot-manager.js";
import type { GitHubService } from "../../services/github-service.js";
import type { WorkspaceGitService } from "../workspace-git-service.js";
export interface AgentMcpServerOptions {
    agentManager: AgentManager;
    agentStorage: AgentStorage;
    terminalManager?: TerminalManager | null;
    getDaemonTcpPort?: () => number | null;
    scheduleService?: ScheduleService | null;
    providerSnapshotManager: ProviderSnapshotManager;
    github?: GitHubService;
    workspaceGitService?: Pick<WorkspaceGitService, "getSnapshot" | "listWorktrees" | "resolveRepoRoot">;
    archiveWorkspaceRecord?: ArchivePaseoWorktreeDependencies["archiveWorkspaceRecord"];
    emitWorkspaceUpdatesForWorkspaceIds?: ArchivePaseoWorktreeDependencies["emitWorkspaceUpdatesForWorkspaceIds"];
    markWorkspaceArchiving?: ArchivePaseoWorktreeDependencies["markWorkspaceArchiving"];
    clearWorkspaceArchiving?: ArchivePaseoWorktreeDependencies["clearWorkspaceArchiving"];
    createPaseoWorktree?: CreatePaseoWorktreeWorkflowFn;
    paseoHome?: string;
    worktreesRoot?: string;
    /**
     * ID of the agent that is connecting to this MCP server.
     * Used for cwd/mode inheritance when agents spawn child agents.
     */
    callerAgentId?: string;
    /**
     * Optional resolver for session-bound speak handlers.
     * Used by hidden voice agents to narrate through daemon-managed TTS.
     */
    resolveSpeakHandler?: (callerAgentId: string) => VoiceSpeakHandler | null;
    resolveCallerContext?: (callerAgentId: string) => VoiceCallerContext | null;
    enableVoiceTools?: boolean;
    voiceOnly?: boolean;
    logger: Logger;
}
export declare function createAgentMcpServer(options: AgentMcpServerOptions): Promise<McpServer>;
//# sourceMappingURL=mcp-server.d.ts.map