import { type AdapterAccount, type AdapterAuthenticator, type AdapterSession, type AdapterUser, type VerificationToken as AdapterVerificationToken } from "next-auth/adapters"; import type { DataFromCollectionSlug } from "payload"; import type { AuthCollectionSlug } from "../../payload/plugin.js"; type User = Omit, "collection" | "createdAt" | "updatedAt">; type Account = NonNullable[0]; type Session = NonNullable[0]; type VerificationToken = NonNullable[0]; type Authenticator = NonNullable[0]; /** * Transform payload objects and adapter objects back and forth * * @see https://authjs.dev/guides/creating-a-database-adapter#official-adapter-guidelines */ export declare const transform: { user: { /** * Modifications: * - ~`accounts`~ * - ~`sessions`~ * - ~`verificationTokens`~ * - ~`authenticators`~ */ toAdapter: (user: User) => AdapterUser; /** * No modifications */ fromAdapter: (adapterUser: AdapterUser) => Omit; /** * No modifications */ fromPartialAdapter: (adapterUser: Partial) => Partial>; }; account: { /** * Modifications: * - `user.id` --> `userId` */ toAdapter: (user: Pick, account: Account) => AdapterAccount; /** * Modifications: * - ~`userId`~ */ fromAdapter: (adapterAccount: AdapterAccount) => Account; }; session: { toAdapter: (user: Pick, session: Session) => AdapterSession; /** * Modifications: * - ~`userId`~ */ fromAdapter: (adapterSession: AdapterSession) => Session; /** * Modifications: * - ~`userId`~ */ fromPartialAdapter: (adapterSession: Partial) => Partial; }; verificationToken: { /** * Modifications: * - `user.email` --> `identifier` */ toAdapter: (user: Pick, verificationToken: VerificationToken) => AdapterVerificationToken; /** * Modifications: * - ~`identifier`~ */ fromAdapter: (adapterVerificationToken: AdapterVerificationToken) => VerificationToken; }; authenticator: { /** * Modifications: * - `user.id` --> `userId` * - `authenticator.credentialID` --> `providerAccountId` */ toAdapter: (user: Pick, authenticator: Authenticator) => AdapterAuthenticator; /** * Modifications: * - ~`userId`~ * - ~`providerAccountId`~ */ fromAdapter: (adapterAuthenticator: AdapterAuthenticator) => Authenticator; }; }; export {};