import type { IPlayerSessionRepository, PlayerSessionSummary } from '../../application/ports/outbound/IPlayerSessionRepository.js'; import { PlayerSession } from '../../domain/entities/PlayerSession.js'; /** * SqlitePlayerSessionRepository * Implements IPlayerSessionRepository using SQLite database storage with * better-sqlite3 (#528, Phase 4). Follows the same raw-SQL pattern as * `SqliteAuditLogRepository`. */ export declare class SqlitePlayerSessionRepository implements IPlayerSessionRepository { private readonly db; /** * Create a new SqlitePlayerSessionRepository * @param dbPath - Path to the SQLite database file */ constructor(dbPath: string); private migrate; recordJoin(serverName: string, playerName: string, at: Date): Promise; recordLeave(serverName: string, playerName: string, at: Date): Promise; closeOpenSessions(serverName: string, at: Date): Promise; listSessions(serverName: string, playerName: string, limit?: number): Promise; getSummary(serverName: string, playerName: string, now: Date): Promise; getCursor(serverName: string): Promise; setCursor(serverName: string, at: Date): Promise; /** Close the database connection. */ close(): void; } //# sourceMappingURL=SqlitePlayerSessionRepository.d.ts.map