import type { SNSClient, SubscribeCommandInput } from '@aws-sdk/client-sns'; import type { CreateQueueCommandInput, SQSClient } from '@aws-sdk/client-sqs'; import type { STSClient } from '@aws-sdk/client-sts'; import type { ExtraParams } from '@message-queue-toolkit/core'; import type { ExtraSQSCreationParams } from '@message-queue-toolkit/sqs'; import type { ExtraSNSCreationParams } from '../sns/AbstractSnsService.ts'; import { type TopicResolutionOptions } from '../types/TopicTypes.ts'; export type SNSSubscriptionOptions = Omit & { updateAttributesIfExists: boolean; }; export declare function subscribeToTopic(sqsClient: SQSClient, snsClient: SNSClient, stsClient: STSClient, queueConfiguration: CreateQueueCommandInput, topicConfiguration: TopicResolutionOptions, subscriptionConfiguration: SNSSubscriptionOptions, extraParams?: ExtraSNSCreationParams & ExtraSQSCreationParams & ExtraParams): Promise<{ subscriptionArn: string | undefined; topicArn: string; queueUrl: string; queueArn: string; }>;