import { Bucket, BucketSettings } from '@orbit/core'; export interface IndexedDBBucketSettings extends BucketSettings { storeName?: string; } /** * Bucket for persisting transient data in IndexedDB. * * @class IndexedDBBucket * @extends Bucket */ export declare class IndexedDBBucket extends Bucket { protected _storeName: string; protected _db: any; /** * Create a new IndexedDBBucket. */ constructor(settings?: IndexedDBBucketSettings); upgrade(settings: IndexedDBBucketSettings): Promise; _applySettings(settings: IndexedDBBucketSettings): Promise; /** * The version to specify when opening the IndexedDB database. * * IndexedDB's default verions is 1. */ get dbVersion(): number; /** * IndexedDB database name. * * Defaults to 'orbit-bucket', which can be overridden in the constructor. */ get dbName(): string; /** * IndexedDB ObjectStore name. * * Defaults to 'settings', which can be overridden in the constructor. */ get dbStoreName(): string; get isDBOpen(): boolean; openDB(): Promise; closeDB(): void; reopenDB(): Promise; createDB(db: IDBDatabase): void; /** * Migrate database. */ migrateDB(db: IDBDatabase, event: IDBVersionChangeEvent): void; deleteDB(): Promise; getItem(key: string): Promise; setItem(key: string, value: unknown): Promise; removeItem(key: string): Promise; clear(): Promise; }