import type { RegisteredDatabaseSessionAttributes, RegisteredDatabaseUserAttributes } from "./index.js"; export interface Adapter { getSessionAndUser( sessionId: string ): Promise<[session: DatabaseSession | null, user: DatabaseUser | null, profile: DatabaseProfile | null]>; getUserSessions(userId: string): Promise; setSession(session: DatabaseSession): Promise; updateSessionExpiration(sessionId: string, expiresAt: Date): Promise; deleteSession(sessionId: string): Promise; deleteUserSessions(userId: string): Promise; deleteExpiredSessions(): Promise; } export interface DatabaseUser { id: string; attributes: RegisteredDatabaseUserAttributes; } export interface DatabaseSession { userId: string; expiresAt: Date; id: string; attributes: RegisteredDatabaseSessionAttributes; } export interface DatabaseProfile { id: string; userId: string; attributes: Record; }