import { type DefaultSession } from 'next-auth';

declare module 'next-auth' {
    /**
     * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
     */
    interface User {
        id: number
        name: string
        apiToken?: string
        accessToken?: string
        refreshToken?: string
        accessTokenExpires?: string
        role?: {
            id: number
            name: string
            label?: string
        }
        permissions: string[]
        first_login: number
        training_video_watched: boolean
        training_video_progress: number
        training_video_progress_detail: number[] | null
        cities: {
            city_name: string
            city_id: number
        }[]
        designations: {
            designation_name: string
            designation_id: number
        }[]
        profile_photo?: string
    }
    interface Session {
        user: User & DefaultSession['user']
    }
}
