import cdk = require('@aws-cdk/cdk'); /** * Implemented by constructs that can be used as bucket notification destinations. */ export interface IBucketNotificationDestination { /** * Registers this resource to receive notifications for the specified * bucket. This method will only be called once for each destination/bucket * pair and the result will be cached, so there is no need to implement * idempotency in each destination. * @param bucketArn The ARN of the bucket * @param bucketId A unique ID of this bucket in the stack */ asBucketNotificationDestination(bucketArn: cdk.Arn, bucketId: string): BucketNotificationDestinationProps; } /** * Represents the properties of a notification destination. */ export interface BucketNotificationDestinationProps { /** * The notification type. */ readonly type: BucketNotificationDestinationType; /** * The ARN of the destination (i.e. Lambda, SNS, SQS). */ readonly arn: cdk.Arn; } /** * Supported types of notification destinations. */ export declare enum BucketNotificationDestinationType { Lambda = 0, Queue = 1, Topic = 2 }