/** * Represents a collection of documents in a document db. */ export interface IZDatabaseDocumentCollection { /** * The collection name. */ name: string; /** * A list of left outer join targets. */ join: Array<{ target: string; local: string; foreign: string; as: string; }>; } /** * A builder that builds a collection for a document database. */ export declare class ZDatabaseDocumentCollectionBuilder { private _collection; /** * Initializes a new instance of this object. * * @param name - * The name of the collection. */ constructor(name: string); /** * Adds a left outer join to the collection. * * @param target - * The target collection to join against. * @param local - * The local field to match on. * @param foreign - * The foreign field to match the local to. * @param as - * The output property. * * @returns * This object. */ join(target: string, local: string, foreign: string, as: string): this; /** * Returns the built collection. * * @returns * The built collection. */ build(): IZDatabaseDocumentCollection; }