interface IActive extends IActiveJoins { table?: string; as?: string; field?: string[]; fieldAs?: Record; fieldQueryAs?: [IActive, string][]; clearField?: { field?: string[]; fieldAs?: Record; fieldQueryAs?: [IActive, string][]; }; useIndex?: string; forceIndex?: string; ignoreIndex?: string; where?: any; whereOr?: any; sWhere?: string; groupBy?: string[]; orderBy?: Record | [string, 'ASC' | 'DESC'][]; having?: any; havingOr?: any; offset?: number; limit?: number; data?: Record | Record[]; set?: Record; parentTables?: { table: string; as?: string; }[]; forUpdate?: boolean | 'nowait' | 'skip'; partition?: string[] | string; } interface IFieldItem { Field: string; Type: string; Null: string; Key: string; Default: string; Extra: string; } interface IDB { getTables: () => string[] | Promise; getFields: (table: string) => IFieldItem[] | Promise; } interface IActiveJoin extends IActiveJoins { table: string; on: any; as?: string; query?: string; clear?: boolean; type?: 'LEFT' | 'left' | 'INNER' | 'inner' | 'RIGHT' | 'right' | 'OUTER' | 'outer'; path?: string; sort?: number; } interface IActiveJoins { joins?: IActiveJoin[]; innerJoin?: IActiveJoin[]; leftJoin?: IActiveJoin[]; rightJoin?: IActiveJoin[]; outerJoin?: IActiveJoin[]; } declare class DBQB { private db; private tables; private fields; private joins; private ifs; private errorLogs; constructor(db: IDB); private checkTable; private getFields; private getPKField; private addErrorLogs; getErrorLogs(): string[]; private initQuery; private getFieldQuery; private getTableField; private checkFieldFn; private checkField; selectQuery(_active: IActive): Promise; countQuery(_active: IActive): Promise; insertQuery(_active: IActive): Promise; insertAllQuery(_active: IActive): Promise; updateQuery(_active: IActive): Promise; insertUpdateQuery(_active: IActive): Promise; deleteQuery(_active: IActive): Promise; private getJoins; private getJoinQuery; private getWhereQuery; private getWhereBuild; private getWhereKeyVal; private checkDataType; private getGroupByQuery; private getOrderByQuery; private getLimitQuery; private getCountQuery; private getDataQuery; private getDataListQuery; private getSetQuery; private getIndexQuery; private getPartitionQuery; private getForUpdateQuery; private clearJoinActive; private makeQuery; private escape; private pregMatch; private getKeys; private getValues; } export { IActive, IActiveJoin, IDB, IFieldItem, DBQB as default };