import { MCPClient } from 'mcp-client';
export interface McpServerInfo {
    name: string;
    type: 'http' | 'stdio' | 'sse' | 'builtin' | 'other' | 'unknown';
    status: 'connected' | 'failed' | 'not_found' | 'pending';
    url?: string;
    command?: string;
    args?: string[];
    tools?: string[];
    error?: string;
    actualTransport?: 'http' | 'sse' | 'stdio' | 'builtin';
    isBuiltIn?: boolean;
}
export interface SystemDetectionResult {
    hasRole: boolean;
    role?: string;
    hasMcpServices: boolean;
    mcpServers: McpServerInfo[];
}
export declare class SystemDetector {
    private mcpClients;
    private globalMCPManager;
    constructor();
    detectSystem(): Promise<SystemDetectionResult>;
    displaySystemInfo(detectionResult: SystemDetectionResult): Promise<void>;
    private detectMcpServers;
    private connectToBuiltInServer;
    private fetchToolsForServers;
    private detectServerType;
    private connectToMcpServer;
    private convertToSseUrl;
    private delay;
    private getStatusIcon;
    private getStatusColor;
    private getStatusText;
    waitForUserToContinue(): Promise<void>;
    getMcpClient(serverName: string): MCPClient | undefined;
    getAllMcpClients(): Map<string, MCPClient>;
    getAllToolDefinitions(): Promise<any[]>;
    private convertMcpToolToOpenAI;
    executeMcpTool(toolName: string, parameters: any): Promise<any>;
    cleanup(): Promise<void>;
}
//# sourceMappingURL=system-detector.d.ts.map