import type { DialogID } from '../../dialog';
import { DialogPersistence } from '../../persistence';
export type TakenSideDialogResponse = Awaited<ReturnType<typeof DialogPersistence.takeSideDialogResponses>>[number];
export declare function takeSideDialogResponses(dialogId: DialogID): Promise<TakenSideDialogResponse[]>;
export declare function commitTakenSideDialogResponses(dialogId: DialogID): Promise<void>;
export declare function rollbackTakenSideDialogResponses(dialogId: DialogID): Promise<void>;
export declare function withSideDialogTxnLock<T>(dialogId: DialogID, fn: () => Promise<T>): Promise<T>;
export declare function withSideDialogTxnLocks<T>(dialogIds: readonly DialogID[], fn: () => Promise<T>): Promise<T>;
