import type { CustomSession, ISessionStoreAdapter, Session } from "../types"; interface ISession { id: string; sessionId: string; createdAt: Date; updatedAt: Date; expiresAt: Date | null; data: any; detectedUserAgent: string; detectedIPAddress: string; } export interface IPrismaClientAdapter { [x: string]: any; session: { findUnique(args: { where: { id: string; }; }): Promise; create(args: { data: ISession; }): Promise; delete(args: { where: { id: string; }; }): Promise; upsert(args: { where: { id: string; }; create: ISession; update: ISession; }): Promise; }; } /** * A Prisma Session Adapter conforming to the `ISessionStoreAdapter` interface. */ export declare class PrismaSessionAdapter implements ISessionStoreAdapter { private prismaClient; private getUniqId; constructor(prismaClient: IPrismaClientAdapter); setUniqIdGenerator(uniqIdGenerator: () => string): void; createSession(sessionData: CustomSession, expiresAt: Date | null, metas: { detectedIPAddress?: string | undefined; detectedUserAgent: string; }): Promise; readSessionById(sessionId: string): Promise; updateSessionById(sessionId: string, session: Session): Promise; deleteSessionById(sessionId: string): Promise; } export {};