import { SQLiteDriver } from "../drivers/SQLiteDriver"; import { Initiable } from "./Initiable"; export interface BeforeSaveHook { (t: T): void; } export declare abstract class AbstractSQLite extends Initiable { private driver; readonly table: string; private pkFields; protected fields: string[]; private arrays; private booleans; private bigintegers; private transientFields; private beforeSaveHook; constructor(driver: SQLiteDriver, table: string, pkFields?: string[], fields?: string[], arrays?: string[], booleans?: string[], bigintegers?: string[], transientFields?: string[], beforeSaveHook?: BeforeSaveHook | null); query(sql: string, params?: any[]): Promise; cleanData(): Promise; sqlListAll(): Promise; sqlDeleteAll(): Promise; sqlFind(obj: any, sortObj?: any): Promise; sqlFindOne(obj: any, sortObj?: any): Promise; sqlFindLikeAny(obj: any): Promise; sqlRemoveWhere(obj: any): Promise; sqlExisting(entity: T): Promise; saveEntity(entity: any): Promise; insert(entity: T): Promise; getEntity(entity: any): Promise; deleteEntity(entity: any): Promise; exec(sql: string): Promise; getInsertQuery(): string; getInsertHead(): string; getInsertValue(toSave: T): string; toInsertValues(entity: T): string; /** * Make a batch insert. * @param records The records to insert as a batch. */ insertBatch(records: T[]): Promise; /** * To redefine if necessary in subclasses. */ cleanCache(): void; close(): Promise; private toConditionsArray; private toParams; private escapeToSQLite; private getPKFields; private toEntity; private toRow; }