import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { Repository } from 'typeorm';
import { McpConfig, McpTool } from '../core-entities';
import { LlmFunctionTool } from '../llm-provider/llm-provider.interface';
export declare class McpService implements OnModuleInit, OnModuleDestroy {
    private readonly mcpConfigRepository;
    private readonly mcpToolRepository;
    private readonly logger;
    private readonly activeClients;
    constructor(mcpConfigRepository: Repository<McpConfig>, mcpToolRepository: Repository<McpTool>);
    onModuleInit(): Promise<void>;
    onModuleDestroy(): Promise<void>;
    connectToServer(config: McpConfig): Promise<void>;
    disconnectFromServer(serverName: string): Promise<void>;
    private syncToolsToDb;
    createMcpConfig(configJson: string): Promise<McpConfig>;
    updateMcpConfigStatus(serverName: string, isActive: boolean): Promise<McpConfig>;
    deleteMcpConfig(serverName: string): Promise<void>;
    batchUpdateToolStatus(toolIds: string[], isActive: boolean): Promise<{
        affected: number;
    }>;
    getMcpServers(): Promise<any[]>;
    executeMcpTool(serverName: string, toolName: string, args: any): Promise<{
        stdout: string;
        stderr: string;
    }>;
    getMcpToolsDefinition(): Promise<string>;
    getActiveMcpToolNames(): Promise<string[]>;
    getActiveMcpToolDefinitions(): Promise<LlmFunctionTool[]>;
    parseEnabledMcpTools(value: string | null): string[] | 'all' | null;
    serializeEnabledMcpTools(value: string[] | 'all' | null): string | null;
    resolveMcpToolNames(entries: string[], allActiveMcpToolNames: string[]): string[];
}
