import { LogEntry, LogLevel, LogMiddleware, MiddlewareContext } from '../types'; export interface RateLimitOptions { maxLogsPerSecond?: number; maxLogsPerMinute?: number; maxLogsPerHour?: number; skipLevels?: LogLevel[]; onRateLimitExceeded?: (droppedCount: number) => void; } export declare class RateLimitMiddleware implements LogMiddleware { private options; readonly name = "RateLimitMiddleware"; private logTimestamps; private droppedLogsCount; constructor(options?: RateLimitOptions); execute(entry: LogEntry, context: MiddlewareContext, next: () => Promise | void): Promise; private cleanOldTimestamps; private isRateLimitExceeded; private getLogsInWindow; getDroppedLogsCount(): number; resetDroppedLogsCount(): void; }