import { Extension, onConnectPayload } from "@hocuspocus/server"; //#region packages/extension-throttle/src/index.d.ts interface ThrottleConfiguration { throttle: number | null | false; consideredSeconds: number; banTime: number; cleanupInterval: number; } declare class Throttle implements Extension { configuration: ThrottleConfiguration; connectionsByIp: Map>; bannedIps: Map; cleanupInterval?: NodeJS.Timeout; /** * Constructor */ constructor(configuration?: Partial); onDestroy(): Promise; clearMaps(): void; isBanned(ip: string): boolean; /** * Throttle requests * @private */ private throttle; /** * onConnect hook * @param data */ onConnect(data: onConnectPayload): Promise; } //#endregion export { Throttle, ThrottleConfiguration };