import type { Tool } from '@langchain/core/tools';
import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
import type { SessionStore } from './SessionStore';
import type { McpTransport } from '../transport/Transport';
export interface SessionInfo {
    sessionId: string;
    server: Server;
    transport: McpTransport;
}
export declare class SessionManager {
    private store;
    private sessions;
    constructor(store: SessionStore);
    registerSession(sessionId: string, server: Server, transport: McpTransport, tools?: Tool[]): Promise<void>;
    destroySession(sessionId: string): Promise<void>;
    getSession(sessionId: string): SessionInfo | undefined;
    getTransport(sessionId: string): McpTransport | undefined;
    getServer(sessionId: string): Server | undefined;
    isSessionValid(sessionId: string): Promise<boolean>;
    getTools(sessionId: string): Tool[] | undefined;
    setTools(sessionId: string, tools: Tool[]): void;
    setStore(store: SessionStore): void;
    getStore(): SessionStore;
}
