import { JoinTerm } from './terms'; export declare class RestJoin { private collection; private terms; private children; private commands; constructor(collection: string); toString(): string; private _toString(); private register(key, value); private registerList(key, fields); private registerBoolean(key, value); on(field: string): RestJoin; to(field: string): RestJoin; list(isList: boolean): RestJoin; show(fields: string[]): RestJoin; hide(fields: string[]): RestJoin; injectAt(fieldName: string): RestJoin; outer(isOuterJoin: boolean): RestJoin; nest(collection: string, configure?: (child: RestJoin) => void): RestJoin; where(field: string, configure: (term: JoinTerm) => void): this; }