import type { EventRegistry, MessagePublishType, MessageSchemaType, MetadataFiller, PublisherBaseEventType, PublisherMessageMetadataType } from '@message-queue-toolkit/core'; import { AbstractPublisherManager } from '@message-queue-toolkit/core'; import type { SnsAwareEventDefinition } from '@message-queue-toolkit/schemas'; import type z from 'zod/v4'; import type { AbstractSnsPublisher, SNSMessageOptions, SNSPublisherOptions } from './AbstractSnsPublisher.ts'; import type { SNSCreationConfig, SNSDependencies, SNSTopicLocatorType } from './AbstractSnsService.ts'; import type { SnsPublisherFactory } from './CommonSnsPublisherFactory.ts'; export type { SnsAwareEventDefinition }; export type SnsPublisherManagerDependencies = { eventRegistry: EventRegistry; } & SNSDependencies; export type SnsPublisherManagerOptions, EventType extends PublisherBaseEventType, MetadataType> = { metadataField?: string; publisherFactory: SnsPublisherFactory; metadataFiller: MetadataFiller; newPublisherOptions: Omit, 'messageSchemas' | 'creationConfig' | 'locatorConfig'> & { creationConfig?: Omit; }; }; export type SnsMessageSchemaType = z.output; export declare class SnsPublisherManager>, SupportedEventDefinitions extends SnsAwareEventDefinition[], MetadataType = PublisherMessageMetadataType> extends AbstractPublisherManager, AbstractSnsPublisher>, SNSDependencies, SNSCreationConfig, SNSTopicLocatorType, SnsMessageSchemaType, Omit>, 'messageSchemas' | 'creationConfig' | 'locatorConfig'>, SupportedEventDefinitions, MetadataType, SNSMessageOptions> { constructor(dependencies: SnsPublisherManagerDependencies, options: SnsPublisherManagerOptions, MetadataType>); publish(topic: NonNullable, message: MessagePublishType, precedingEventMetadata?: Partial, messageOptions?: SNSMessageOptions): Promise>; protected resolveCreationConfig(eventTarget: NonNullable): SNSCreationConfig; protected resolveEventTarget(event: SnsAwareEventDefinition): NonNullable | undefined; }