import type { RateLimitResult, AlgorithmType } from '../types/index.js'; export interface Store { consume(key: string, window: number, max: number, algorithm?: AlgorithmType, burst?: number): Promise | RateLimitResult; peek?(key: string, window: number, max: number, algorithm?: AlgorithmType): Promise | RateLimitResult; reset(key?: string): Promise | void; getStats?(): Record; destroy?(): void | Promise; }