/**
 * Thin wrapper around idb to use as redux-persist storage using single object store for all data
 * @see https://github.com/jakearchibald/idb
 * Must implement methods:
 * - getItem(key)
 * - setItem(key, item)
 * - removeItem(key)
 * - getAllKeys() required for Redux Persit v4
 */
import { UpgradeDB, ObjectStore } from 'idb';
export default function createIdbStorage(definedOptions?: {
    name?: string;
    storeName?: string;
    version?: number;
    upgradeCallback?: (upgradeDB: UpgradeDB) => ObjectStore<any, string>;
}): {
    /**
     * Get
     * @param {string} key
     * @return {Promise}
     */
    getItem(key: string): Promise<any>;
    /**
     * Set
     * @param {string} key
     * @param {any} item
     * @return {Promise}
     */
    setItem(key: string, item: any): Promise<void>;
    /**
     * Remove
     * @param {string} key
     * @return {Promise}
     */
    removeItem(key: string): Promise<void>;
    /**
     * Get all keys
     * @return {Promise}
     */
    getAllKeys(): Promise<string[]>;
    /**
     * Get all data
     * @return {Promise}
     */
    getAll(): Promise<any[]>;
    /**
     * Clear storage
     * @return {Promise}
     */
    clear(): Promise<void>;
};
