import { ContextEntity } from '../types'; import type { ClientSession, Model } from 'mongoose'; import type { Lock } from 'redlock'; export type DatabaseSessionActionOptions = { lockKey?: string[]; lockTTLInSeconds?: number; }; export declare class DatabaseSessionAction { private static model; static configure(model: Model): void; static withTransaction(context: ContextEntity, action: (session: ClientSession | null, lock: Lock | null) => Promise, options?: DatabaseSessionActionOptions): Promise; private static getModel; }