export interface RateLimitConfig { maxRequests: number; windowMs: number; keyGenerator?: (args: Record) => string; } export interface RateLimitInfo { remaining: number; resetTime: number; limit: number; } export interface RateLimitViolation { exceeded: boolean; remainingMs: number; retryAfter: number; } export declare class RateLimiterService { private static instance; private logger; private configs; private requests; private constructor(); static getInstance(): RateLimiterService; configureToolLimit(toolName: string, config: RateLimitConfig): void; isAllowed(toolName: string, args?: Record): boolean; checkRateLimit(toolName: string, args?: Record): RateLimitViolation; getRateLimitInfo(toolName: string, args?: Record): RateLimitInfo | undefined; recordRequest(toolName: string, args?: Record): void; resetToolLimit(toolName: string): void; resetAll(): void; getConfiguredTools(): string[]; removeToolLimit(toolName: string): void; static resetInstance(): void; } export declare const DEFAULT_RATE_LIMITS: Record; //# sourceMappingURL=rate-limiter.service.d.ts.map