import type { Collection } from "../core/collection_model.js";
import type { RequestEvent } from "../core/event_request.js";
import type { Handler } from "../tools/hook/hook.js";
import { type RateLimitRule } from "../core/settings_model.js";
export declare function rateLimit(): Handler<RequestEvent>;
export declare function collectionPathRateLimit(collectionPathParam: string, ...baseTags: string[]): Handler<RequestEvent>;
export declare function checkCollectionRateLimit(event: RequestEvent, collection: Collection, ...baseTags: string[]): Response | null;
export declare function checkRateLimit(event: RequestEvent, rtId: string, rule: RateLimitRule): Response | null;
export declare function isClientRateLimited(event: RequestEvent, rtId: string): boolean;
