next-auth.d.ts
672 Bytes
import type { DefaultSession } from 'next-auth'
import { Rule } from './plugins/casl/ability'
interface UserAdditionalData {
username?: string
fullName?: string
avatar?: string
role?: string
abilityRules?: Rule[]
}
declare module 'next-auth/jwt' {
/** Returned by the `jwt` callback and `getToken`, when using JWT sessions */
interface JWT extends UserAdditionalData {}
}
declare module "next-auth" {
/**
* Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
*/
interface Session {
user: UserAdditionalData & DefaultSession['user']
}
interface User extends UserAdditionalData { }
}