import { DefaultSession, DefaultUser } from "next-auth";
import { JWT } from "next-auth/jwt";

declare module "next-auth" {
    interface User extends DefaultUser {
        id: number;
        role: string;
        accessToken: string;
        refreshToken: string;
    }

    interface Session extends DefaultSession {
        accessToken: string;
        refreshToken: string;
        error?: string;
        user: {
            id: number;
            email: string;
            name: string;
            role: string;
        } & DefaultSession["user"];
    }
}

declare module "next-auth/jwt" {
    interface JWT {
        accessToken: string;
        refreshToken: string;
        user: {
            id: number;
            email: string;
            name: string;
            role: string;
        };
    }
}