interface GuardLikeResult { success: boolean; status: 200 | 403 | 429; reason: string; headers?: Headers; body?: string; contentType?: string; } interface GuardLike { check(request: Request): Promise; } interface GuardRunnerOptions { onBlocked?: (result: GuardLikeResult) => Response; } declare function toBlockedResponse(result: GuardLikeResult): Response; declare function runGuards(request: Request, guards: GuardLike[], options?: GuardRunnerOptions): Promise; export { type GuardLike as G, type GuardLikeResult as a, type GuardRunnerOptions as b, runGuards as r, toBlockedResponse as t };