import type { CloudRegion } from '../../utils/types';
export type MCPServerConfig = Record<string, unknown>;
export declare abstract class MCPClient {
    name: string;
    abstract getConfigPath(): Promise<string>;
    abstract getServerPropertyName(): string;
    abstract isServerInstalled(local?: boolean): Promise<boolean>;
    abstract addServer(apiKey?: string, selectedFeatures?: string[], local?: boolean, zone?: CloudRegion): Promise<{
        success: boolean;
    }>;
    abstract removeServer(local?: boolean): Promise<{
        success: boolean;
    }>;
    abstract isClientSupported(): Promise<boolean>;
}
export declare abstract class DefaultMCPClient extends MCPClient {
    name: string;
    constructor();
    getServerPropertyName(): string;
    getServerConfig(apiKey: string | undefined, type: 'sse' | 'streamable-http', selectedFeatures?: string[], local?: boolean, zone?: CloudRegion): MCPServerConfig;
    isServerInstalled(local?: boolean): Promise<boolean>;
    addServer(apiKey?: string, selectedFeatures?: string[], local?: boolean, zone?: CloudRegion): Promise<{
        success: boolean;
    }>;
    _addServerType(apiKey: string | undefined, type: 'sse' | 'streamable-http', selectedFeatures?: string[], local?: boolean, zone?: CloudRegion): Promise<{
        success: boolean;
    }>;
    removeServer(local?: boolean): Promise<{
        success: boolean;
    }>;
}
