import { Session } from "../types/session.types.js";
import { Auth } from "../utils/auth/getAuth.js";
import { FastifyReply, FastifyRequest } from "fastify";

//#region src/middlewares/sessionAuth.middleware.d.ts
declare module 'fastify' {
  interface FastifyRequest {
    locals?: {
      authType?: string;
      [key: string]: any;
    } & Session;
  }
}
type ResponseWithSession<ResBody = any, Locals extends Record<string, any> = Record<string, any> & Session> = FastifyReply & {
  locals: Locals;
};
declare const authMiddleware: (auth: Auth) => (request: FastifyRequest, reply: FastifyReply) => Promise<void>;
//#endregion
export { ResponseWithSession, authMiddleware };
//# sourceMappingURL=sessionAuth.middleware.d.ts.map