import { PropertyDescriptorParams, PropertyDescriptor } from "./PropertyDescriptor"; export interface ChildAggregateParams extends PropertyDescriptorParams { order: number; name?: string; required?: boolean; collectionEntryType?: any; } /** * Marks a method as providing a child aggregate (or set of them to a top-level aggregate). */ export declare class ChildAggregate extends PropertyDescriptor { private _name; private _required; private _order; private _collectionEntryType; constructor(params: ChildAggregateParams); /** * Used to specify the name of the aggregate in its context as a child aggregate. * * @return Used to specify the name of the aggregate in its context as a child aggregate. */ name(): string; /** * Whether this aggregate is required. * * @return Whether this aggregate is required. */ required(): boolean; /** * The order this child aggregate comes in its parent aggregate. * * @return The order this child aggregate comes in its parent aggregate. */ order(): number; /** * If the type is a collection, return the type of the elements of the collection (otherwise null) */ collectionEntryType(): any; }