import type { Either } from '@lokalise/node-core'; import { type AsyncPublisher, type BarrierResult, type MessageInvalidFormatError, type MessageValidationError, type QueuePublisherOptions, type ResolvedMessage } from '@message-queue-toolkit/core'; import type { PubSubMessage } from '../types/MessageTypes.ts'; import type { PubSubCreationConfig, PubSubDependencies, PubSubQueueLocatorType } from './AbstractPubSubService.ts'; import { AbstractPubSubService } from './AbstractPubSubService.ts'; export type PubSubMessageOptions = { orderingKey?: string; attributes?: Record; }; export declare abstract class AbstractPubSubPublisher extends AbstractPubSubService implements AsyncPublisher { private readonly messageSchemaContainer; private readonly isDeduplicationEnabled; private initPromise?; constructor(dependencies: PubSubDependencies, options: QueuePublisherOptions); publish(message: MessagePayloadType, options?: PubSubMessageOptions): Promise; private sendMessage; protected resolveNextFunction(): () => void; protected resolveMessage(_message: PubSubMessage): Either; protected processPrehandlers(): Promise; protected preHandlerBarrier(): Promise>; processMessage(): Promise>; protected isDeduplicationEnabledForMessage(message: MessagePayloadType): boolean; protected resolveSchema(message: MessagePayloadType): Either>; }