import { SqlFieldDefinition } from "./SqlFieldDefinition"; import { SqliteNodeIOManager } from "./SqliteNodeIOManager"; import { SQLiteDriver } from "../../drivers/SQLiteDriver"; export declare class SqliteTable { protected name: string; protected fields: { [k in keyof T]?: SqlFieldDefinition; }; private readonly pdriver; protected driver: SqliteNodeIOManager; protected constructor(name: string, fields: { [k in keyof T]?: SqlFieldDefinition; }, getSqliteDB: (dbName: string) => Promise); init(): Promise; close(): Promise; generateCreateTable(): string; generateCreateIndexes(): string; keys(): (keyof T)[]; insertInTable(driver: SqliteNodeIOManager, record: T): Promise; update(driver: SqliteNodeIOManager, record: T, fieldsToUpdate: K[], whereFields: K[]): Promise; insertBatchInTable(driver: SqliteNodeIOManager, records: T[]): Promise; findEntities(sql: string, params: any[]): Promise; /** * Extract an SQL value of a field into its Object value * @param {keyof T} fieldName Name of the field in the record. * @param {T} record The record from which extracting a column's value. * @returns {any} The translated value. */ protected sqlValue2Object(fieldName: K, record: T): any; private getFieldValue; dump(): Promise; count(): Promise; /** * Debugging function: allows to make a hot copy of an SQLite database to a new file, even if the source is in-memory. * @param {string} path The path where to write the copy. * @returns {Promise} Promise of done. */ copy2file(path: string): Promise; }