import { ApiKeyRepository } from '../repositories/api-key.repository';
import { ApiKey } from '../entities/api-key.entity';
import { Repository } from 'typeorm';
export declare class RateLimitService {
    private apiKeyRepo;
    private apiKeyRepository;
    private readonly logger;
    constructor(apiKeyRepo: Repository<ApiKey>, apiKeyRepository: ApiKeyRepository);
    getUsageStats(apiKeyId: string): Promise<{
        minuteUsage: number;
        minuteLimit: number;
        dailyUsage: number;
        dailyLimit: number;
        monthlyUsage: number;
        monthlyLimit: number;
        totalUsage: number;
        lastUsed: Date;
    }>;
    resetUsageCounters(apiKeyId: string): Promise<boolean>;
    checkAndIncrementUsage(apiKeyId: string): Promise<boolean>;
    private resetCountersIfNeeded;
    private minutesPassed;
    private daysPassed;
    private monthsPassed;
}
