// @ts-ignore
import type { FastifyInstance } from "fastify";
export type FastifyReply = {
    status(code: number): FastifyReply;
    header(key: string, value: string): FastifyReply;
    send(payload: string): FastifyReply;
};
export type FastifyDone = () => void;
export type FastifyRequest = {};
export type FastifyHookHandler = (request: FastifyRequest, reply: FastifyReply, done: FastifyDone) => void | FastifyReply;
/**
 * Calling this function will setup rate limiting and user blocking for the provided Fastify app by adding a onRequest hook.
 * Attacks will still be blocked by Zen if you do not call this function.
 * Execute this function as early as possible in your Fastify app, but after the hook that sets the user.
 */
export declare function addFastifyHook(app: FastifyInstance): void;
export declare const fastifyHook: FastifyHookHandler;
