import { type McpToolCallResult } from './mcpClient';
export interface McpConfiguredTool {
    name: string;
    description?: string;
    inputSchema?: Record<string, unknown>;
}
export interface McpServerDefinition {
    id: string;
    catalogName?: string;
    command: string;
    args: string[];
    cwd?: string;
    env?: Record<string, string>;
    enabled: boolean;
    tools: McpConfiguredTool[];
}
export interface McpServerStatus extends McpServerDefinition {
    running: boolean;
    pid?: number;
    startedAt?: string;
    lastExitCode?: number | null;
    lastError?: string;
}
export declare function listMcpServers(projectDir: string): Promise<McpServerStatus[]>;
export declare function upsertMcpServer(projectDir: string, input: Record<string, unknown>): Promise<McpServerStatus>;
export declare function removeMcpServer(projectDir: string, id: string): Promise<boolean>;
export declare function startMcpServer(projectDir: string, id: string): Promise<McpServerStatus>;
export declare function discoverMcpServerTools(projectDir: string, id: string): Promise<McpServerStatus>;
export declare function invokeMcpServerTool(projectDir: string, serverId: string, toolName: string, input: Record<string, unknown>): Promise<McpToolCallResult>;
export declare function stopMcpServer(id: string): Promise<boolean>;
export declare function stopAllMcpServers(): Promise<void>;
export declare function readMcpServerDefinitions(projectDir: string): Promise<McpServerDefinition[]>;
export declare function readMcpServerDefinitionsSync(projectDir: string): McpServerDefinition[];
//# sourceMappingURL=mcpRuntime.d.ts.map