import { IObjectType } from "../Common/Type"; import { FunctionExpression } from "../ExpressionBuilder/Expression/FunctionExpression"; import { Queryable } from "./Queryable"; import { IQueryExpression } from "./QueryExpression/IQueryExpression"; import { IQueryVisitor } from "../Query/IQueryVisitor"; export declare class GroupJoinQueryable extends Queryable { readonly parent: Queryable; protected readonly parent2: Queryable; type: IObjectType; protected readonly relationFn: (item: T, item2: T2) => boolean; protected readonly resultSelectorFn: (item1: T, item2: T2[]) => R; private _relation; protected relation: FunctionExpression; private _resultSelector; protected resultSelector: FunctionExpression; constructor(parent: Queryable, parent2: Queryable, relationShip: FunctionExpression | ((item: T, item2: T2) => boolean), resultSelector?: FunctionExpression | ((item1: T, item2: T2[]) => R), type?: IObjectType); buildQuery(queryVisitor: IQueryVisitor): IQueryExpression; hashCode(): number; }