@message-queue-toolkit/amqp
Version:
AMQP adapter for message-queue-toolkit
18 lines (17 loc) • 2.72 kB
TypeScript
import { AbstractPublisherManager } from '@message-queue-toolkit/core';
import type { MessagePublishType, MessageSchemaType, PublisherMessageMetadataType } from '@message-queue-toolkit/core';
import type z from 'zod';
import type { AMQPDependencies, AMQPTopicPublisherConfig } from './AbstractAmqpService.ts';
import type { AMQPTopicPublisherOptions, AbstractAmqpTopicPublisher, AmqpTopicMessageOptions } from './AbstractAmqpTopicPublisher.ts';
import type { AmqpAwareEventDefinition, AmqpMessageSchemaType, AmqpPublisherManagerDependencies, AmqpPublisherManagerOptions } from './AmqpQueuePublisherManager.ts';
export declare class AmqpTopicPublisherManager<PublisherType extends AbstractAmqpTopicPublisher<z.infer<SupportedEventDefinitions[number]['publisherSchema']>>, SupportedEventDefinitions extends AmqpAwareEventDefinition[], MetadataType = PublisherMessageMetadataType> extends AbstractPublisherManager<AmqpAwareEventDefinition, NonNullable<SupportedEventDefinitions[number]['exchange']>, AbstractAmqpTopicPublisher<z.infer<SupportedEventDefinitions[number]['publisherSchema']>>, AMQPDependencies, AMQPTopicPublisherConfig, AMQPTopicPublisherConfig, AmqpMessageSchemaType<AmqpAwareEventDefinition>, Omit<AMQPTopicPublisherOptions<z.infer<SupportedEventDefinitions[number]['publisherSchema']>>, 'messageSchemas' | 'locatorConfig' | 'exchange'>, SupportedEventDefinitions, MetadataType, AmqpTopicMessageOptions> {
constructor(dependencies: AmqpPublisherManagerDependencies<SupportedEventDefinitions>, options: AmqpPublisherManagerOptions<PublisherType, AmqpTopicMessageOptions, AMQPTopicPublisherOptions<z.infer<SupportedEventDefinitions[number]['publisherSchema']>>, z.infer<SupportedEventDefinitions[number]['publisherSchema']>, MetadataType, AMQPTopicPublisherConfig, AMQPTopicPublisherConfig>);
protected resolvePublisherConfigOverrides(exchange: string): Partial<Omit<AMQPTopicPublisherOptions<z.infer<SupportedEventDefinitions[number]['publisherSchema']>>, 'messageSchemas' | 'locatorConfig'>>;
protected resolveCreationConfig(exchange: NonNullable<SupportedEventDefinitions[number]['exchange']>): AMQPTopicPublisherConfig;
/**
* @deprecated use `publishSync` instead.
*/
publish(): Promise<MessageSchemaType<SupportedEventDefinitions[number]>>;
publishSync(exchange: NonNullable<SupportedEventDefinitions[number]['exchange']>, message: MessagePublishType<SupportedEventDefinitions[number]>, messageOptions?: AmqpTopicMessageOptions, precedingEventMetadata?: Partial<MetadataType>): MessageSchemaType<SupportedEventDefinitions[number]>;
protected resolveEventTarget(event: AmqpAwareEventDefinition): NonNullable<SupportedEventDefinitions[number]['exchange']> | undefined;
}