import type { BaseLanguageModelInterface } from '@langchain/core/language_models/base';
import type { BaseMessage } from '@langchain/core/messages';
import type { MCPClient } from '../client.js';
import type { BaseConnector } from '../connectors/base.js';
import type { ServerManager } from './server_manager.js';
import { SystemMessage } from '@langchain/core/messages';
import { LangChainAdapter } from '../adapters/langchain_adapter.js';
export declare class MCPAgent {
    private llm;
    private client?;
    private connectors;
    private maxSteps;
    private autoInitialize;
    private memoryEnabled;
    private disallowedTools;
    private useServerManager;
    private verbose;
    private systemPrompt?;
    private systemPromptTemplateOverride?;
    private additionalInstructions?;
    private initialized;
    private conversationHistory;
    private agentExecutor;
    private sessions;
    private systemMessage;
    private tools;
    private adapter;
    private serverManager;
    constructor(options: {
        llm: BaseLanguageModelInterface;
        client?: MCPClient;
        connectors?: BaseConnector[];
        maxSteps?: number;
        autoInitialize?: boolean;
        memoryEnabled?: boolean;
        systemPrompt?: string | null;
        systemPromptTemplate?: string | null;
        additionalInstructions?: string | null;
        disallowedTools?: string[];
        useServerManager?: boolean;
        verbose?: boolean;
        adapter?: LangChainAdapter;
        serverManagerFactory?: (client: MCPClient) => ServerManager;
    });
    initialize(): Promise<void>;
    private createSystemMessageFromTools;
    private createAgent;
    getConversationHistory(): BaseMessage[];
    clearConversationHistory(): void;
    private addToHistory;
    getSystemMessage(): SystemMessage | null;
    setSystemMessage(message: string): void;
    setDisallowedTools(disallowedTools: string[]): void;
    getDisallowedTools(): string[];
    run(query: string, maxSteps?: number, manageConnector?: boolean, externalHistory?: BaseMessage[]): Promise<string>;
    close(): Promise<void>;
}
//# sourceMappingURL=mcp_agent.d.ts.map