import { OrderDirection, JoinType, DeleteMode, IObjectType } from "../../Common/Type"; import { IQueryExpression } from "./IQueryExpression"; import { IEntityExpression } from "./IEntityExpression"; import { IOrderExpression } from "./IOrderExpression"; import { RelationMetaData } from "../../MetaData/Relation/RelationMetaData"; import { IRelationMetaData } from "../../MetaData/Interface/IRelationMetaData"; import { IExpression } from "../../ExpressionBuilder/Expression/IExpression"; import { SelectExpression } from "./SelectExpression"; import { EntityExpression } from "./EntityExpression"; import { JoinRelation } from "../Interface/JoinRelation"; import { IQueryOption } from "../../Query/IQueryOption"; export interface IDeleteIncludeRelation { child: DeleteExpression; parent: IQueryExpression; relations: IExpression; } export declare class DeleteExpression implements IQueryExpression { option: IQueryOption; deleteMode?: IExpression; includes: IDeleteIncludeRelation[]; parentRelation: IDeleteIncludeRelation; select: SelectExpression; paramExps: import("./SqlParameterExpression").SqlParameterExpression[]; readonly joins: JoinRelation[]; readonly type: any; readonly entity: EntityExpression; readonly paging: import("./IPagingExpression").IPagingExpression; readonly orders: IOrderExpression[]; readonly where: IExpression; constructor(entity: IEntityExpression, deleteMode?: IExpression); constructor(select: SelectExpression, deleteMode?: IExpression); addWhere(expression: IExpression): void; setOrder(orders: IOrderExpression[]): void; setOrder(expression: IExpression, direction: OrderDirection): void; addInclude(child: DeleteExpression, relationMeta: RelationMetaData): IDeleteIncludeRelation; addInclude(child: DeleteExpression, relations: IExpression): IDeleteIncludeRelation; addJoin(child: SelectExpression, relationMeta: IRelationMetaData, toOneJoinType?: JoinType): JoinRelation; addJoin(child: SelectExpression, relations: IExpression, type: JoinType): JoinRelation; clone(replaceMap?: Map): DeleteExpression; toString(): string; hashCode(): number; getEffectedEntities(): IObjectType[]; }