import { Annotation, NamedCollection, JSONArray } from "./internals"; export declare class Join { private leftJoin; private _joins; constructor(leftJoin: NamedCollection, joins: Array> & Record>>>); [Symbol.iterator](): IterableIterator> & Record>>>; forEach(callback: (join: Record> & Record>>) => void): void; get length(): number; toJSON(): JSONArray; outerJoin(rightCollection: NamedCollection, filter: (lhs: Record> & Record>>, rhs: Annotation) => boolean): never | Join; join(rightCollection: NamedCollection, filter: (lhs: Record> & Record>>, rhs: Annotation) => boolean): never | Join; where(filter: (join: Record> & Record>>) => boolean): Join; push(join: Record> & Record>>): void; update(callback: (join: Record> & Record>>) => void): void; } //# sourceMappingURL=join.d.ts.map