import { JoinDefinitionsTraveler } from "./Joiner";
import Collection from "../Collection";
export default class CollectionJoinerBuilder {
    private traveler;
    constructor(primaryCollection: Collection, joinedCollection: Collection);
    as(property: string): JoinThisKeyBuilder;
}
export declare class JoinThisKeyBuilder {
    private traveler;
    constructor(traveler: JoinDefinitionsTraveler);
    thisKey(thisKeyProperty: string): JoinForeignKeyBuilder;
}
export declare class JoinForeignKeyBuilder {
    private traveler;
    constructor(traveler: JoinDefinitionsTraveler);
    foreignKey(foreignKeyProperty: string): JoinerBuilder;
}
export declare class JoinerBuilder {
    private traveler;
    constructor(traveler: JoinDefinitionsTraveler);
    asList(): Collection;
    asObject(): Collection;
}
