import { GenericType, OrderDirection, JoinType, RelationshipType, IObjectType } from "../../Common/Type"; import { IColumnExpression } from "./IColumnExpression"; import { IQueryExpression } from "./IQueryExpression"; import { IEntityExpression } from "./IEntityExpression"; import { IOrderExpression } from "./IOrderExpression"; import { IExpression } from "../../ExpressionBuilder/Expression/IExpression"; import { IPagingExpression } from "./IPagingExpression"; import { SqlParameterExpression } from "./SqlParameterExpression"; import { ISelectRelation } from "../Interface/ISelectRelation"; import { IncludeRelation } from "../Interface/IncludeRelation"; import { JoinRelation } from "../Interface/JoinRelation"; import { IBaseRelationMetaData } from "../../MetaData/Interface/IBaseRelationMetaData"; import { SqlTableValueParameterExpression } from "./SqlTableValueParameterExpression"; import { IColumnMetaData } from "../../MetaData/Interface/IColumnMetaData"; import { IQueryOption } from "../../Query/IQueryOption"; import { IEnumerable } from "../../Enumerable/IEnumerable"; export declare class SelectExpression implements IQueryExpression { constructor(entity?: IEntityExpression); entity: IEntityExpression; type: ArrayConstructor; option: IQueryOption; readonly itemType: GenericType; itemExpression: IExpression; selects: IColumnExpression[]; isSelectOnly: boolean; readonly projectedColumns: IEnumerable>; readonly primaryKeys: IColumnExpression[]; distinct: boolean; where: IExpression; orders: IOrderExpression[]; paging: IPagingExpression; parentRelation: ISelectRelation; includes: IncludeRelation[]; joins: JoinRelation[]; isSubSelect: boolean; paramExps: SqlParameterExpression[]; readonly relationColumns: IEnumerable; readonly resolvedSelects: IEnumerable; readonly allColumns: IEnumerable>; readonly resolvedIncludes: IEnumerable>; readonly resolvedJoins: IEnumerable>; addWhere(expression: IExpression): void; setOrder(orders: IOrderExpression[]): void; setOrder(expression: IExpression, direction: OrderDirection): void; addInclude(name: string, child: SelectExpression, relationMeta: IBaseRelationMetaData): IncludeRelation; addInclude(name: string, child: SelectExpression, relations: IExpression, type: RelationshipType, isEmbedded?: boolean): IncludeRelation; addJoin(child: SelectExpression, relationMeta: IBaseRelationMetaData, type?: JoinType): JoinRelation; addJoin(child: SelectExpression, relations: IExpression, type: JoinType, isEmbedded?: boolean): JoinRelation; getItemExpression(): IExpression; getEffectedEntities(): IObjectType[]; /** * All select expressions used. */ readonly allSelects: IEnumerable; toString(): string; hashCode(): number; clone(replaceMap?: Map): SelectExpression; addSqlParameter(valueExp: IExpression, colExp?: IEntityExpression): SqlTableValueParameterExpression; addSqlParameter(valueExp: IExpression, colExp?: IColumnMetaData): SqlParameterExpression; }