export class Join {
    /**
     * @param {Plan.Conjunct[]} conjuncts - Ordered plans
     * @param {Plan.Cursor} references - Variable references
     * @param {number} cost - Total cost of the plan
     */
    constructor(conjuncts: Plan.Conjunct[], references: Plan.Cursor, cost: number);
    conjuncts: Plan.Conjunct[];
    references: Plan.Cursor;
    cost: number;
    /**
     * @param {Plan.EvaluationContext} context
     * @returns {Plan.Task<Plan.MatchFrame[], Plan.EvaluationError>}
     */
    evaluate({ selection, ...context }: Plan.EvaluationContext): Plan.Task<Plan.MatchFrame[], Plan.EvaluationError>;
    toJSON(): any[];
    toDebugString(): string;
}
import * as Plan from './plan.js';
//# sourceMappingURL=join.d.ts.map