import { Stack } from 'aws-cdk-lib'; import { TopicProps, SubscriptionFilter, ITopic } from 'aws-cdk-lib/aws-sns'; import { IQueue } from 'aws-cdk-lib/aws-sqs'; import { SqsSubscriptionProps } from 'aws-cdk-lib/aws-sns-subscriptions'; import { StackAccount } from './core'; /** Sentinel event type automatically included in Chisel filter policies. */ export declare const HealthCheckEventType = "$$HealthCheckRequested"; /** Sentinel bounded context automatically included in Chisel filter policies. */ export declare const HealthCheckBC = "$$HealthCheckBC"; export type SubscriptionFilterPolicy = { [key: string]: SubscriptionFilter; }; export type TopicInput = Readonly<{ id: string; displayName?: string; }>; /** * Bounded contexts and event types to include in a Chisel SNS filter policy. * Health-check sentinels are appended automatically. */ export type ChiselFilterPolicyInput = Readonly<{ bcs: Array; eventTypes?: Array; }>; export type SqsSubscriptionInput = Readonly<{ topic: ITopic; queue: IQueue; dlq?: IQueue; }>; /** Creates an SNS topic with optional default and per-call configuration overrides. */ export declare const withTopic: (deps: { defaultConfiguration?: Partial; stack: Stack; }) => (input: TopicInput, configuration?: Partial) => ITopic; /** * Builds a subscription filter policy for Chisel event-sourced topics. * Automatically appends health-check sentinels to both bounded context and event type allowlists. */ export declare const withChiselFilterPolicy: (input: ChiselFilterPolicyInput) => SubscriptionFilterPolicy; /** Subscribes an SQS queue to an SNS topic with an optional filter policy and dead-letter queue. */ export declare const withSqsSubscription: (deps: { configuration?: SqsSubscriptionProps; filterPolicy?: SubscriptionFilterPolicy; }) => (input: SqsSubscriptionInput) => boolean; /** Constructs an SNS topic ARN from account info and topic name. */ export declare const topicArnFromName: (deps: { account: StackAccount; }) => (topicName: string) => string; //# sourceMappingURL=sns.d.ts.map