import type { App as FirebaseApp } from "firebase-admin/app"; import { CustomSession, ISessionStoreAdapter, Session } from "../types"; interface FirebaseSessionAdapterOptions { collectionName: string; firebaseApp: FirebaseApp; /** * Whether to skip nested properties that are set to `undefined` during object serialization. If set to `true`, these properties are skipped and not written to Firestore. If set `false` or omitted, the SDK throws an exception when it encounters properties of type `undefined`. */ ignoreUndefinedProperties?: boolean; } /** * A Firebase Session Adapter conforming to the `ISessionStoreAdapter` interface. * Fully working. */ export declare class FirebaseSessionAdapter implements ISessionStoreAdapter { private firApp; private firStore; private options; private getUniqId; constructor(options: FirebaseSessionAdapterOptions); 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 {};