import { ObjectStoreMeta } from "./indexed-hooks"; export declare type Key = string | number | Date | ArrayBufferView | ArrayBuffer | IDBKeyRange; export interface IndexDetails { indexName: string; order: string; } export declare function openDatabase(dbName: string, version: number, upgradeCallback?: (e: Event, db: IDBDatabase) => void): Promise; export declare function CreateObjectStore(dbName: string, version: number, storeSchemas: ObjectStoreMeta[]): void; export declare function DBOperations(dbName: string, version: number, currentStore: string): { add: (value: T, key?: any) => Promise; getByID: (id: string | number) => Promise; getAll: () => Promise; update: (value: T_3, key?: any) => Promise; deleteRecord: (key: Key) => Promise; clear: () => Promise; openCursor: (cursorCallback: (event: Event) => void, keyRange?: IDBKeyRange) => Promise; getByIndex: (indexName: string, key: any) => Promise; }; export declare enum DBMode { readonly = "readonly", readwrite = "readwrite" }