import type { SessionInfo } from './types.js'; import type { SessionStateManager } from './state-manager.js'; import type { SessionEventEmitter } from './event-emitter.js'; import type { SessionSecurityLogger } from './security-logger.js'; import type { pino } from 'pino'; export interface SessionLifecycleOptions { sessionTimeout: number; maxSessionsPerUser: number; cleanupInterval?: number; } export declare class SessionLifecycleManager { private readonly logger; private readonly stateManager; private readonly eventEmitter; private readonly securityLogger; private readonly options; private cleanupInterval; constructor(logger: pino.Logger, stateManager: SessionStateManager, eventEmitter: SessionEventEmitter, securityLogger: SessionSecurityLogger, options: SessionLifecycleOptions); start(): void; stop(): void; createSession(sessionId: string, userId: string, connectionId: string, options?: { roles?: string[]; permissions?: string[]; scopes?: string[]; metadata?: Record; }): Promise; validateSession(sessionId: string): Promise; terminateSession(sessionId: string): Promise; cleanupExpiredSessions(): Promise; private canUserCreateSession; private startCleanup; } //# sourceMappingURL=lifecycle-manager.d.ts.map