import { NestAuthSession } from '../entities/session.entity'; import { SessionPayload } from '../../core/interfaces/token-payload.interface'; import { SessionStore } from '../interfaces/session-store.interface'; export declare abstract class BaseSessionRepository implements SessionStore { abstract create(session: SessionPayload): Promise; abstract findById(sessionId: string): Promise; abstract findByUserId(userId: string): Promise; abstract findActiveByUserId(userId: string): Promise; abstract update(sessionId: string, updates: Partial): Promise; abstract delete(sessionId: string): Promise; abstract deleteByUserId(userId: string): Promise; abstract deleteExpired(): Promise; abstract countActiveByUserId(userId: string): Promise; abstract updateLastActive(sessionId: string): Promise; protected isExpired(session: NestAuthSession): boolean; protected calculateExpiresAt(duration: string | number): Date; protected serializeSession(session: SessionPayload | NestAuthSession): Record; protected deserializeSession(data: Record): NestAuthSession; protected filterActive(sessions: NestAuthSession[]): NestAuthSession[]; } //# sourceMappingURL=base-session.repository.d.ts.map