import { DBConfig } from '.';
import { IndexDBItem } from './entity';
export declare class IndexDBSaver {
    private _dbRequest?;
    private _db?;
    constructor();
    /**
     * 打开（创建） DB
     * @param dbConfig db 配置
     */
    openDB(dbConfig: DBConfig): Promise<void>;
    private _checkConn;
    /**
     * 新增数据
     * @param tableName 存数据，没表会建表
     * @param item 数据项
     */
    save(tableName: string, item: IndexDBItem): Promise<IDBValidKey>;
    /**
     * 更新数据
     * @param tableName 数据表
     * @param items 数据项
     */
    update(tableName: string, item: IndexDBItem): Promise<void>;
    /**
     * 根据ID查找
     * @param tableName 表名
     * @param id 数据项 ID
     */
    queryById(tableName: string, id: IDBValidKey): Promise<IndexDBItem | null>;
    /**
     * 从游标开始查找
     * @param maxCount 查询的最大数量，不填就是全部返回
     */
    queryByCursor(tableName: string, maxCount?: number): Promise<IndexDBItem[]>;
    /**
     * 获取表的行数
     * @param tableName 表名
     * @returns number
     */
    lines(tableName: string): Promise<number>;
    /**
     * 打开并获取表的游标
     * @param tableName 表名
     */
    openCursor(tableName: string): IDBRequest<IDBCursorWithValue | null>;
    /**
     * 根据 ID 删除数据项
     * @param tableName 表名
     * @param id ID
     */
    deleteById(tableName: string, id: IDBValidKey): Promise<void>;
    deleteByCount(tableName: string, count: number): Promise<void>;
    /**
     * 删除表中所有数据项
     * @param tableName 表名
     */
    deleteAll(tableName: string): Promise<void>;
    /**
     * 批量删除数据项
     * @param items 数据项列表（带ID）
     */
    deleteItems(tableName: string, items: IndexDBItem[]): Promise<void>;
}
