import type { MCPScope, MCPServerConfig } from "../core/mcp/index.js"; declare function bannerLines(version: string, subtitle: string): string[]; /** A server row joined with its live connection status. */ export interface McpServerRow { config: MCPServerConfig; scope: MCPScope; ok: boolean; toolCount: number; error?: string; } export type McpDashboardAction = { kind: "add"; } | { kind: "remove"; name: string; scope: MCPScope; } | { kind: "retry"; } | { kind: "details"; name: string; scope: MCPScope; } | { kind: "close"; }; declare function transportSummary(config: MCPServerConfig): string; /** * Render the interactive dashboard. Resolves with the chosen action so the * flow controller in cli/mcp.ts can re-run connect + redraw afterwards. */ export declare function renderMcpDashboard(options: { version: string; rows: McpServerRow[]; }): Promise; export declare function renderScopeSelector(version: string, cwd: string): Promise; /** Read one line of input via readline (used for the paste prompt). */ export declare function promptLine(question: string): Promise; export interface BannerPromptOptions { /** Subtitle shown under the logo. */ subtitle: string; /** The input prompt label, e.g. "Command: ". */ question: string; /** Hint text shown above the prompt (default: leave empty to go back). */ hint?: string; } /** * Paint the MCP banner from the home position (same anchor as every other * screen, so nothing drifts), then read one line. Returns null when the user * submits an empty line (treated as "go back"). */ export declare function promptWithBanner(version: string, options: BannerPromptOptions): Promise; export declare const mcpColors: { primary: string; accent: string; text: string; dim: string; good: string; bad: string; }; export { bannerLines, transportSummary }; //# sourceMappingURL=mcp.d.ts.map