import { ModelIdentifier } from '@dolittle/sdk.common';
import { AggregateRootId } from '@dolittle/sdk.events';
import { AggregateRootType } from './AggregateRootType';
/**
 * Represents the identifier of an aggregate root in an application model.
 */
export declare class AggregateRootModelId extends ModelIdentifier<AggregateRootId, '@dolittle/sdk.events.AggregateRootModelId', {
    aggregateRootType: AggregateRootType;
}> {
    /**
     * Initialises a new instance of the {@link AggregateRootModelId} class.
     * @param {AggregateRootType} aggregateRootType - The aggregate root type.
     */
    constructor(aggregateRootType: AggregateRootType);
    /**
     * Gets the aggregate root type of the identifier.
     */
    get aggregateRootType(): AggregateRootType;
    /** @inheritdoc */
    protected [Symbol.toStringTag]: string;
    /** @inheritdoc */
    protected toStringExtras(extras: {
        aggregateRootType: AggregateRootType;
    }): object;
}
/**
 * Checks whether or not an object is an instance of {@link AggregateRootModelId}.
 * @param {any} object - The object to check.
 * @returns {boolean} True if the object is an {@link AggregateRootModelId}, false if not.
 */
export declare const isAggregateRootModelId: (object: any) => object is AggregateRootModelId;
//# sourceMappingURL=AggregateRootModelId.d.ts.map