import { ChildAggregate } from '../meta/ChildAggregate'; import { Header } from '../meta/Header'; import { Element } from '../meta/Element'; import { AggregateInfo } from './AggregateInfo'; /** * Introspector for aggregate information. */ export declare class AggregateIntrospector { private static AGGREGATE_CLASSES_BY_NAME; private static placeholderName; /** * Get the aggregate meta information for the specified class. * * @param clazz the aggregate class. * @return The aggregate meta information, or null if the class isn't an aggregate. */ static getAggregateInfo(clazz: any): AggregateInfo; private static getAncestorAggregateInfo; /** * Find the aggregate class by name. * * @param aggregateName The name of the aggregate. * @return The aggregate class. */ static findAggregateByName(aggregateName: string): any; static addAggregate(clazz: any, name: string): void; static addChildAggregate(clazz: any, childAggregate: ChildAggregate): void; static addElement(clazz: any, element: Element): void; static addHeader(clazz: any, header: Header): void; }