/* eslint-disable @typescript-eslint/naming-convention */ interface KnexQuery { insert(data: object): Promise>; update(data: object): Promise; select(...columns: Array): Promise>; delete(): Promise; where(filter: object): KnexQuery; whereNot(filter: object): KnexQuery; whereIn(filter: object): KnexQuery; whereNotIn(filter: object): KnexQuery; whereNull(filter: object): KnexQuery; whereNotNull(filter: object): KnexQuery; whereExists(filter: object): KnexQuery; whereNotExists(filter: object): KnexQuery; whereBetween(filter: object): KnexQuery; whereNotBetween(filter: object): KnexQuery; join(table: string, col: string, on: string): KnexQuery; leftJoin(table: string, col: string, on: string): KnexQuery; rightJoin(table: string, col: string, on: string): KnexQuery; leftOuterJoin(table: string, col: string, on: string): KnexQuery; rightOuterJoin(table: string, col: string, on: string): KnexQuery; fullOuterJoin(table: string, col: string, on: string): KnexQuery; returning(column: string | Array): KnexQuery; } type Knex = { (table: string): KnexQuery; } export { Knex, KnexQuery };