import type { RequestData } from "./StorableRequest.js"; export interface UnidentifiedQueueStoreEntry { requestData: RequestData; timestamp: number; id?: number; queueName?: string; metadata?: Record; } export interface BackgroundSyncQueueStoreEntry extends UnidentifiedQueueStoreEntry { id: number; } /** * A class to interact directly an IndexedDB created specifically to save and * retrieve QueueStoreEntries. This class encapsulates all the schema details * to store the representation of a Queue. * * @private */ export declare class BackgroundSyncQueueDb { private _db; /** * Add QueueStoreEntry to underlying db. * * @param entry */ addEntry(entry: UnidentifiedQueueStoreEntry): Promise; /** * Returns the first entry id in the ObjectStore. * * @returns */ getFirstEntryId(): Promise; /** * Get all the entries filtered by index * * @param queueName * @returns */ getAllEntriesByQueueName(queueName: string): Promise; /** * Returns the number of entries filtered by index * * @param queueName * @returns */ getEntryCountByQueueName(queueName: string): Promise; /** * Deletes a single entry by id. * * @param id the id of the entry to be deleted */ deleteEntry(id: number): Promise; /** * * @param queueName * @returns */ getFirstEntryByQueueName(queueName: string): Promise; /** * * @param queueName * @returns */ getLastEntryByQueueName(queueName: string): Promise; /** * Returns either the first or the last entries, depending on direction. * Filtered by index. * * @param direction * @param query * @returns * @private */ getEndEntryFromIndex(query: IDBKeyRange, direction: IDBCursorDirection): Promise; /** * Returns an open connection to the database. * * @private */ private getDb; /** * Upgrades QueueDB * * @param db * @param oldVersion * @private */ private _upgradeDb; } //# sourceMappingURL=BackgroundSyncQueueDb.d.ts.map