import { IPagination } from './pagination'; type StringOrNumber = string | number; export interface IQueryWhereBase { operation: TOp; not?: boolean; } export interface IQueryWhereEquals extends IQueryWhereBase<'eq'> { value: StringOrNumber; } export interface IQueryWhereContains extends IQueryWhereBase<'contains'> { value: string; } export interface IQueryWhereBegins extends IQueryWhereBase<'begins'> { value: string; } export interface IQueryWhereIContains extends IQueryWhereBase<'icontains'> { value: string; } export interface IQueryWhereIBegins extends IQueryWhereBase<'ibegins'> { value: string; } export interface IQueryWhereGreaterThan extends IQueryWhereBase<'gt'> { value: StringOrNumber; } export interface IQueryWhereLessThan extends IQueryWhereBase<'lt'> { value: StringOrNumber; } export interface IQueryWhereIn extends IQueryWhereBase<'in'> { value: StringOrNumber[]; } export interface IQueryWhereBetween extends IQueryWhereBase<'between'> { from: StringOrNumber; to: StringOrNumber; } export type IQueryWhereNull = IQueryWhereBase<'null'>; export type IQueryWhereValue = IQueryWhereEquals | IQueryWhereNull | IQueryWhereContains | IQueryWhereBegins | IQueryWhereIContains | IQueryWhereIBegins | IQueryWhereGreaterThan | IQueryWhereLessThan | IQueryWhereIn | IQueryWhereBetween; export type SortOrder = 'ASC' | 'DESC'; export type ItemOrArray = T[] | T; export type IQueryWhere = { [P in keyof T]?: IQueryWhereValue; }; export interface IQuery extends IPagination { order?: { [P in keyof T]?: SortOrder; }; where?: ItemOrArray>; } export {}; //# sourceMappingURL=query.d.ts.map