import type { EventRegistry, MessagePublishType, MessageSchemaType, MetadataFiller, PublisherBaseEventType, PublisherMessageMetadataType } from '@message-queue-toolkit/core'; import { AbstractPublisherManager } from '@message-queue-toolkit/core'; import type z from 'zod/v4'; import type { PubSubAwareEventDefinition } from '../schemas/pubSubSchemas.ts'; import type { AbstractPubSubPublisher, PubSubMessageOptions } from './AbstractPubSubPublisher.ts'; import type { PubSubCreationConfig, PubSubDependencies, PubSubQueueLocatorType } from './AbstractPubSubService.ts'; import type { PubSubPublisherFactory } from './CommonPubSubPublisherFactory.ts'; export type { PubSubAwareEventDefinition }; export type PubSubPublisherManagerDependencies = { eventRegistry: EventRegistry; } & PubSubDependencies; export type PubSubPublisherManagerOptions, EventType extends PublisherBaseEventType, MetadataType> = { metadataField?: string; publisherFactory?: PubSubPublisherFactory; metadataFiller: MetadataFiller; newPublisherOptions: Omit, 'messageSchemas' | 'creationConfig' | 'locatorConfig'> & { creationConfig?: Omit; }; }; export type PubSubMessageSchemaType = z.output; export declare class PubSubPublisherManager>, SupportedEventDefinitions extends PubSubAwareEventDefinition[], MetadataType = PublisherMessageMetadataType> extends AbstractPublisherManager, AbstractPubSubPublisher>, PubSubDependencies, PubSubCreationConfig, PubSubQueueLocatorType, PubSubMessageSchemaType, Omit>, 'messageSchemas' | 'creationConfig' | 'locatorConfig'>, SupportedEventDefinitions, MetadataType, PubSubMessageOptions> { constructor(dependencies: PubSubPublisherManagerDependencies, options: PubSubPublisherManagerOptions, MetadataType>); publish(topic: NonNullable, message: MessagePublishType, precedingEventMetadata?: Partial, messageOptions?: PubSubMessageOptions): Promise>; protected resolveCreationConfig(eventTarget: NonNullable): PubSubCreationConfig; protected resolveEventTarget(event: PubSubAwareEventDefinition): NonNullable | undefined; }