import { NestAuthSession } from '../entities/session.entity';
import { SessionPayload } from '../../core/interfaces/token-payload.interface';
export interface ISessionRepository {
    create(session: SessionPayload): Promise<NestAuthSession>;
    findById(sessionId: string): Promise<NestAuthSession | null>;
    findByUserId(userId: string): Promise<NestAuthSession[]>;
    findActiveByUserId(userId: string): Promise<NestAuthSession[]>;
    update(sessionId: string, updates: Partial<NestAuthSession>): Promise<NestAuthSession>;
    delete(sessionId: string): Promise<void>;
    deleteByUserId(userId: string): Promise<void>;
    deleteExpired(): Promise<number>;
    countActiveByUserId(userId: string): Promise<number>;
    updateLastActive(sessionId: string): Promise<void>;
}
//# sourceMappingURL=session-repository.interface.d.ts.map