import { Repository } from 'typeorm';
import type { Request } from 'express';
import { ClientLoginLog } from './client-login-log.entity';
export interface RecordLoginInput {
    companyId?: number | null;
    clientUserId?: number | null;
    email?: string | null;
    phone?: string | null;
    method?: string;
    status: 'success' | 'failed';
    failureReason?: string | null;
    tokenId?: number | null;
    sessionId?: string | null;
    ipAddress?: string | null;
    userAgent?: string | null;
}
export declare class ClientLoginLogService {
    private readonly repo;
    private readonly logger;
    constructor(repo: Repository<ClientLoginLog>);
    record(req: Request | null, input: RecordLoginInput): void;
    listForCompany(companyId: number, opts?: {
        page?: number;
        limit?: number;
        status?: 'success' | 'failed';
    }): Promise<{
        rows: ClientLoginLog[];
        total: number;
        page: number;
        limit: number;
        pages: number;
    }>;
    listForClientUser(clientUserId: number, limit?: number): Promise<ClientLoginLog[]>;
    recentFailuresForEmail(email: string, sinceMinutes?: number): Promise<number>;
}
