import { EntityBase } from "../../types/EntityBase" ; import { JoinedEntityType } from "../../types/JoinedEntityType" ; import { QueryOrderOptions } from "../../types/QueryOrderOptions" ; import { IComparableQuery } from "./IComparableQuery" ; import { IJoinedQuery } from "./IJoinedQuery" ; import { IQuery } from "./IQuery" ; /**
 * Base set of operations for all Queries that are not in Comparable mode.
 */ export interface IQueryBase < T extends EntityBase , R extends T | T [ ] , P = T > { type { S } param propertySelector and < S extends Object > ( propertySelector ) : IComparableQuery < T , R , P > ; param rejected catch ( rejected ) : Promise < any > ; /**
     * Gets the count of results matching the current query conditions.
     */ count ( ) : Promise < number > ; type { F } param foreignEntity from < F extends EntityBase > ( foreignEntity ) : IJoinedQuery < T , R , F > ; param propertySelector groupBy ( propertySelector ) : IQuery < T , R , P > ; type { S } param propertySelector include < S > ( propertySelector ) : IQuery < T , R , S > ; param and isolatedAnd < S extends Object > ( and ) : IQuery < T , R , P > ; param or isolatedOr < S extends Object > ( or ) : IQuery < T , R , P > ; type { S } param propertySelector join < S extends Object > ( propertySelector ) : IJoinedQuery < T , R , S > ; type { S } param propertySelector joinAlso < S extends Object > ( propertySelector ) : IJoinedQuery < T , R , S > ; type { S } param propertySelector or < S extends Object > ( propertySelector ) : IComparableQuery < T , R , P > ; param propertySelector orderBy ( propertySelector , options ? ) : IQuery < T , R , P > ; param propertySelector orderByDescending ( propertySelector , options ? ) : IQuery < T , R , P > ; /**
     * Returns the query back to its base type while also exiting "join mode",
     * thus ending a join chain so that where conditions may be continued on the base type.
     */ reset ( ) : IQuery < T , R , T > ; param skip skip ( skip ) : IQuery < T , R , P > ; param limit take ( limit ) : IQuery < T , R , P > ; param resolved then ( resolved ) : Promise < any > ; param propertySelector thenBy ( propertySelector , options ? ) : IQuery < T , R , P > ; param propertySelector thenByDescending ( propertySelector , options ? ) : IQuery < T , R , P > ; param propertySelector thenGroupBy ( propertySelector ) : IQuery < T , R , P > ; type { S } param propertySelector thenInclude < S extends Object > ( propertySelector ) : IQuery < T , R , S > ; type { S } param propertySelector thenJoin < S extends Object > ( propertySelector ) : IJoinedQuery < T , R , S > ; type { S } param propertySelector thenJoinAlso < S extends Object > ( propertySelector ) : IJoinedQuery < T , R , S > ; /**
     * Invokes and returns the Promise to get the underlying QueryBuilder's results.
     */ toPromise ( ) : Promise < R > ; deprecated usingBaseType ( ) : IQuery < T , R , T > ; }