import { IDatabase } from './IDatabase';
import { SQLiteConfig } from './types';
export declare class SQLiteDatabase extends IDatabase {
    private db;
    private _queue;
    private _isOpen;
    constructor(config: SQLiteConfig);
    private _flushQueue;
    private _flushQueueWithError;
    private _execute;
    query(sql: string, params?: any[]): Promise<any>;
    ensureTable(table: string, data?: any): Promise<void>;
    insert(table: string, data: any): Promise<number>;
    update(table: string, data: any, where: any): Promise<number>;
    delete(table: string, where: any): Promise<number>;
    select<T = any>(table: string, where?: any): Promise<T[]>;
    selectOne<T = any>(table: string, where?: any): Promise<T | null>;
    set(table: string, data: any, where: any): Promise<any>;
    bulkInsert(table: string, dataArray: any[]): Promise<number>;
    increment(table: string, incs: any, where: any): Promise<number>;
    decrement(table: string, decs: any, where: any): Promise<number>;
    close(): Promise<void>;
    private _serializeValue;
    private _buildWhereClause;
}
export default SQLiteDatabase;
