import type { Namespace, Socket } from 'socket.io';
import type { EventBus } from '../core/event-bus.js';
import type { SessionManager } from '../services/session-manager.js';
import type { TerminalManager } from '../services/terminal-manager.js';
export declare class SocketGateway {
    private readonly nsp;
    private readonly eventBus;
    private readonly sessionManager;
    private readonly terminalManager;
    private cleanups;
    constructor(nsp: Namespace, eventBus: EventBus, sessionManager: SessionManager, terminalManager: TerminalManager);
    destroy(): void;
    register(socket: Socket): void;
    private registerEventBusForwarders;
    private handleSubscribe;
    private handleUnsubscribe;
}
//# sourceMappingURL=socket-gateway.d.ts.map