import { AbstractEventSourcedAggregateRoot, IConsumedMessageRepository, IDomainEventRepository, IMessageConsumer, WaitForMessageConsumer, type RemoveAbstract } from "@dugongjs/core";
export declare class WaitForMessageConsumerService {
    private readonly currentOrigin;
    private readonly domainEventRepository;
    private readonly consumedMessageRepository;
    private readonly messageConsumer;
    private readonly logger;
    constructor(currentOrigin: string, domainEventRepository: IDomainEventRepository, consumedMessageRepository: IConsumedMessageRepository, messageConsumer: IMessageConsumer<any>);
    getWaitForMessageConsumer(aggregateClass: RemoveAbstract<typeof AbstractEventSourcedAggregateRoot>): WaitForMessageConsumer;
    waitForMessagesToBeConsumed(aggregateClass: RemoveAbstract<typeof AbstractEventSourcedAggregateRoot>, consumerName: string, ...ids: string[]): Promise<void>;
    waitForAggregateDomainEventsToBeConsumed(aggregateClass: RemoveAbstract<typeof AbstractEventSourcedAggregateRoot>, consumerName: string, aggregateId: string, tenantId?: string | null, fromSequenceNumber?: number): Promise<void>;
}
