import type { FastifyInstance } from 'fastify';
import { type AccessTokenPayload } from './jwt.js';
declare module 'fastify' {
    interface FastifyInstance {
        requireAuth: (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
        requireRole: (role: string) => (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
    }
    interface FastifyRequest {
        user: AccessTokenPayload;
    }
}
export declare function registerAuthMiddleware(app: FastifyInstance, jwtSecret: string): void;
//# sourceMappingURL=auth-middleware.d.ts.map