import { ConfigService } from '@nestjs/config';
import type { AuthenticatedUser } from '../../common/auth/authenticated-user';
import { DatabaseService } from '../../common/database/database.service';
export interface SessionContext {
    ipAddress?: string;
    userAgent?: string;
}
export interface CreatedSession {
    token: string;
    expiresAt: Date;
}
export declare class AuthSessionsService {
    private readonly database;
    private readonly config;
    constructor(database: DatabaseService, config: ConfigService);
    create(userId: string, context: SessionContext): Promise<CreatedSession>;
    resolve(token: string): Promise<AuthenticatedUser | null>;
    revoke(sessionId: string): Promise<void>;
    revokeAllForUser(userId: string): Promise<void>;
    deleteExpired(): Promise<number>;
    private hashToken;
}
