export declare class Database { private static _db; static queryCounts: number; static get db(): any; static QueryExecute(query: string, params?: any[]): Promise; } export declare abstract class BaseDatabase { protected tableName: string; constructor(tableName: string); abstract constructModel(row: I): T; query(query: string): Promise; /** It returns the Object keys & values in a string. (Mysql SET) */ private mysqlStringSet; /** It returns the Object keys & values in a string. (Mysql WHERE) */ private mysqlStringWhere; update(d: { where?: Partial; set?: Partial; }): Promise; find(d: { where: Partial; find?: Array; limit?: number; }): Promise; delete(d: { where: Partial; limit?: number; }): void | Promise; insert(model: Partial): Promise; exist(w: Partial): Promise; private constructModels; all(): Promise; count(): Promise; }