import type { CreateRateLimiterOptions, FixedWindowConfig, LeakyBucketConfig, RateLimitAlgorithm, RateLimiter, RateLimiterOptions, RateLimitStorage, SlidingWindowConfig, TokenBucketConfig } from './types'; export declare class RateLimiterFactory { static create(options: RateLimiterOptions): RateLimiter; } export declare function createRateLimiter(options: CreateRateLimiterOptions): RateLimiter; export declare function createRateLimiter(algorithm: RateLimitAlgorithm, config: TokenBucketConfig | SlidingWindowConfig | FixedWindowConfig | LeakyBucketConfig, storage: RateLimitStorage): RateLimiter;