import { type HashFunction } from '../hashFunction.js'; import type { Cookies, RequestEvent } from '@sveltejs/kit'; import type { RateLimiterPlugin } from './rateLimiterPlugin.js'; import type { Rate } from '../rate.js'; export type CookieSerializeOptions = NonNullable[2]>; export type CookieRateLimiterOptions = { name: string; secret: string; rate: Rate | Rate[]; preflight: boolean; serializeOptions?: CookieSerializeOptions; hashFunction?: HashFunction; }; export declare class CookieRateLimiter implements RateLimiterPlugin { readonly rate: Rate | Rate[]; private readonly cookieOptions; private readonly secret; private readonly requirePreflight; private readonly cookieId; private readonly hashFunction; constructor(options: CookieRateLimiterOptions); hash(event: RequestEvent): Promise; preflight(event: RequestEvent): Promise; private setPreflightCookie; private userIdFromCookie; }