import { Constructor } from '@dolittle/types'; import { Decorators } from '@dolittle/sdk.common'; import { AggregateRootIdLike } from '@dolittle/sdk.events'; import { AggregateRootType } from './AggregateRootType'; import { AggregateRootTypeOptions } from './AggregateRootTypeOptions'; /** * Decorator to mark a class as an aggregate root. * @param {AggregateRootIdLike} aggregateRootId - The identifier of the aggregate root. * @param {AggregateRootTypeOptions} [options={}] - Options to give to the aggregate root. * @returns {Decorators.Decorator} The decorator. */ export declare function aggregateRoot(aggregateRootId: AggregateRootIdLike, options?: AggregateRootTypeOptions): Decorators.Decorator; /** * Checks whether the specified class is decorated with an aggregate root type. * @param {Constructor} type - The class to check the decorated aggregate root type for. * @returns {boolean} True if the decorator is applied, false if not. */ export declare function isDecoratedAggregateRootType(type: Constructor): boolean; /** * Gets the decorated aggregate root type of the specified class. * @param {Constructor} type - The class to get the decorated aggregate root type for. * @returns {AggregateRootType} The decorated aggregate root type. */ export declare function getDecoratedAggregateRootType(type: Constructor): AggregateRootType; //# sourceMappingURL=aggregateRootDecorator.d.ts.map