import { Context, MiddlewareHandler } from "hono"; //#region src/hono/rate-limit.d.ts interface KV { setItem(key: string, value: string, expiresIn?: number): Promise; getItem(key: string): Promise; removeItem(key: string): Promise; } interface RateLimitOptions { kv: KV; rate: number; capacity: number; requested?: number; keyPrefix?: string; expiresIn?: number; getIdentifier?: (c: Context) => string | undefined; onRateLimited?: (c: Context, retryAfter: number) => Response | Promise; skip?: (c: Context) => boolean | Promise; } interface RateLimitResult { allowed: boolean; remaining: number; limit: number; reset: number; retryAfter?: number; } declare function checkRateLimit(kv: KV, identifier: string, options: { rate: number; capacity: number; requested?: number; keyPrefix?: string; expiresIn?: number; }): Promise; declare function rateLimit(options: RateLimitOptions): MiddlewareHandler; //#endregion export { KV, RateLimitOptions, RateLimitResult, checkRateLimit, rateLimit }; //# sourceMappingURL=rate-limit.d.mts.map