/** * Represents an aggregate calculation on a collection of data. */ export interface IZAggregate { /** * The id of the aggregate. */ id: string; /** * The resulting value of the aggregate. */ value: T; } /** * A builder for the aggregate model. */ export declare class ZAggregateBuilder { private _aggregate; /** * Sets the id of the aggregate. * * @param value - * The id to set. * * @returns * This object. */ id(value: string): this; /** * Sets the value of the aggregate. * * @param value - * The value to set. * * @returns * A new aggregate builder that is of type V. */ value(value: V): ZAggregateBuilder; /** * Creates a count aggregate. * * The id of the aggregate will be 'count' * * @param value - * The count value. * * @returns * A new aggregate builder that is of type number. */ count(value: number): ZAggregateBuilder; /** * Builds the aggregate. * * @returns * The constructed aggregate value. */ build(): IZAggregate; }