UNPKG

@message-queue-toolkit/amqp

Version:
18 lines (17 loc) 2.72 kB
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; }