import * as sqlite3 from 'sqlite3'; import * as Tp from 'thingpedia'; import type * as DB from '..'; import LocalTable from './local_table'; import SyncTable from './sync_table'; export interface SQLitePlatform extends Tp.BasePlatform { getSqliteDB(): string; getSqliteKey(): string | null; } export declare function makeKeyPragma(key: string): string; export declare function query(client: sqlite3.Database, string: string, args: unknown[]): Promise; export declare function selectAll(client: sqlite3.Database, string: string, args: unknown[]): Promise; export declare function selectOne(client: sqlite3.Database, string: string, args: unknown[]): Promise; export declare function insertOne(client: sqlite3.Database, string: string, args: unknown[]): Promise; export declare class SQLiteDatabase implements DB.AbstractDatabase { platform: SQLitePlatform; private _transactionQueue; constructor(platform: SQLitePlatform); withClient(callback: (client: sqlite3.Database) => Promise): Promise; withTransaction(transaction: (client: sqlite3.Database) => Promise): Promise; ensureSchema(): Promise; getLocalTable(name: T): LocalTable; getSyncTable(name: T): SyncTable; }