import { ICondition } from './condition'; import { Criteria } from './criteria'; import { IQuery } from './dialects/iQuery'; import { Field, Table } from './mapping'; /** * A function which receives a `Criteria`, modifies it and then returns it. */ export declare type CriteriaBuilder = (c: Criteria) => Criteria; export declare type CriteriaOrBuilder = Criteria | CriteriaBuilder; /** * A function which receives a `Query`, modifies it and then returns it. */ export declare type QueryBuilder = (query: IQuery) => IQuery; /** * Either an `IQuery` or a `QueryBuilder`. * `QueryBuilder` is a function which receives a query, modifies it and then returns it. */ export declare type QueryOrBuilder = IQuery | QueryBuilder; /** * A function which receives a `Table` and returns an ICondition. */ export declare type ConditionBuilder = (mapper: TTable) => ICondition; export declare type ConditionOrMapper = ICondition | ConditionBuilder; /** * A function which receives a `TTable` and returns a `Field` */ export declare type FieldSelector = (mapper: TTable) => Field; export declare type FieldOrSelector = Field | FieldSelector;