import type { Worker } from "node:worker_threads";
export interface SessionSummary {
    id: string;
    type: "javascript" | "python";
    age: number;
    lastUsed: number;
}
export interface SessionInfo {
    id: string;
    type: "javascript" | "python";
    worker: Worker;
    createdAt: number;
    lastUsedAt: number;
}
/**
 * SessionManager manages persistent REPL sessions for JS and Python.
 * It keeps workers alive across multiple tool calls.
 */
export declare class SessionManager {
    private sessions;
    createSession(type: "javascript" | "python", worker: Worker, id?: string): string;
    getSession(id: string): SessionInfo | undefined;
    terminateSession(id: string): boolean;
    listSessions(): SessionSummary[];
    /** Terminate all sessions and release resources. */
    dispose(): Promise<void>;
}
