import { CredentialsProvider } from "providers/credentials"; import { EmailProvider } from "providers/email"; import { OauthProvider, Provider } from "providers/interfaces"; interface Pages { signIn: string; signOut: string; error?: string; } interface CallbackParams { session: Session; } interface Callbacks { signIn?: (params: CallbackParams) => Promise; signOut?: (params: CallbackParams) => Promise; } export interface User { id: string; name: string | null; picture: string | null; email: string; } export interface Session { user: User; provider: Provider; } export type Debug = 'warning' | 'error' | 'info'; export type Providers = OauthProvider | EmailProvider | CredentialsProvider; export interface NextAuthOptions { debug?: Debug[]; secret?: string; url?: string; pages: Pages; callbacks?: Callbacks; providers: Required; } export {};