import type { Logger } from 'pino'; import type { SubscriptionInfo, SessionManagerInterface } from './types.js'; import { WebSocketEventEmitter } from './event-emitter.js'; export declare class WebSocketSessionManager implements SessionManagerInterface { private readonly logger; private readonly sessions; private readonly eventEmitter; private readonly sessionTimeout; private cleanupInterval?; constructor(logger: Logger, eventEmitter: WebSocketEventEmitter, sessionTimeout?: number); createSession(connectionId: string): void; removeSession(connectionId: string): void; addSubscription(connectionId: string, subscriptionId: string, info: SubscriptionInfo): void; removeSubscription(connectionId: string, subscriptionId: string): void; getSubscriptions(connectionId: string): Map | undefined; updateActivity(connectionId: string): void; getMetadata(connectionId: string, key: string): unknown; setMetadata(connectionId: string, key: string, value: unknown): void; getActiveSessionCount(): number; getSessionInfo(connectionId: string): { createdAt: Date; lastActivity: Date; subscriptionCount: number; } | null; private startCleanupInterval; private cleanupInactiveSessions; stopCleanupInterval(): void; cleanup(): void; } //# sourceMappingURL=session-manager.d.ts.map