/// <reference types="node" />
import { FastifyPluginCallback, FastifyRequest, preValidationHookHandler } from "fastify";
import { IncomingMessage } from "http";
interface TokenAuthService {
    authenticate(request: FastifyRequest | IncomingMessage): Promise<string | null>;
}
declare module "fastify" {
    interface FastifyInstance {
        tokenAuth: TokenAuthService;
        tokenAuthPreValidation: preValidationHookHandler;
    }
    interface FastifyRequest {
        tokenId: string;
    }
}
interface TokenAuthPluginOpts {
    enable: boolean;
    passphrases: string[];
    jwtPublicKey?: string;
}
declare const _default: FastifyPluginCallback<TokenAuthPluginOpts, import("http").Server, import("fastify").FastifyTypeProviderDefault>;
export default _default;
