import { OnModuleInit } from '@nestjs/common';
export declare class GraphRateLimiterService implements OnModuleInit {
    private readonly logger;
    private readonly MAX_REQUESTS_PER_SECOND;
    private readonly MAX_REQUESTS_PER_10_MINUTES;
    private readonly ONE_SECOND_MS;
    private readonly TEN_MINUTES_MS;
    private readonly INACTIVE_USER_THRESHOLD_MS;
    private readonly userLimiters;
    private totalPermitsAcquired;
    private totalWaitTime;
    private cooldownCount;
    onModuleInit(): void;
    acquirePermit(userId: string): Promise<void>;
    releasePermit(userId: string): void;
    handleRateLimitResponse(userId: string, retryAfterSeconds: number): void;
    private canMakeRequest;
    private initializeLimiter;
    private cleanupInactiveUsers;
    getStats(): {
        activeUsers: number;
        totalPermitsAcquired: number;
        totalWaitTimeMs: number;
        averageWaitTimeMs: number;
        cooldownCount: number;
    };
    getUserStats(userId: string): {
        userId: string;
        recentRequestCount: number;
        tenMinuteRequestCount: number;
        cooldownUntil: number | null;
        lastActivity: string;
    } | null;
}
