import { Observable } from 'rxjs'; import { ReactiveIDBDatabase, ReactiveIDBTransformer } from './reactive-idb-database'; import { ReactiveIDBObjectStore } from './reactive-idb-object-store'; export declare class ReactiveIDBTransaction { private readonly transaction; readonly db: ReactiveIDBDatabase; /** * If the transaction was aborted, returns the error (a DOMException) providing the reason. */ get error(): DOMException | null; /** * Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction. */ get mode(): IDBTransactionMode; /** * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database. */ get objectStoreNames(): DOMStringList; /** * Constructs a ReactiveIDBTransaction * * @param transaction The underlying IDBTransaction object * @param db The associated ReactiveIDBDatabase of this transaction */ constructor(transaction: IDBTransaction, db: ReactiveIDBDatabase); /** * Aborts the transaction. All pending requests will fail with a "AbortError" DOMException and all changes made to the database will be reverted. */ abort(): void; /** * Returns a ReactiveIDBObjectStore in the transaction's scope. */ objectStore(name: string, transformer?: ReactiveIDBTransformer): ReactiveIDBObjectStore; /** * Returns a ReactiveIDBObjectStore in the transaction's scope. */ objectStore$(name: string, transformer?: ReactiveIDBTransformer): Observable>; addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => void, options?: boolean | EventListenerOptions): void; }