import { DeliveryStream, IDestination } from '@aws-cdk/aws-kinesisfirehose-alpha'; import { IGrantable } from 'aws-cdk-lib/aws-iam'; import { Stream } from 'aws-cdk-lib/aws-kinesis'; import { Key } from 'aws-cdk-lib/aws-kms'; import { Bucket } from 'aws-cdk-lib/aws-s3'; import { Duration } from 'aws-cdk-lib'; import { DotStack } from '../constructs/Stack'; import { AddBucketOptions } from './s3'; interface AddStreamOptions { encryption?: Boolean | Key; name: string; retentionPeriod?: Duration; scope: DotStack; shardCount?: number; } interface AddStreamResult { key?: Key; stream: Stream; } interface AddFirehoseOptions { destination?: IDestination; destinationBucket?: Bucket | Omit; name: string; scope: DotStack; source: Stream | Omit; } interface AddFirehoseResult { bucket?: Bucket; deliveryStream: DeliveryStream; sourceStream: Stream; } interface GrantRemoteStreamOptions { consumers: IGrantable[]; scope: DotStack; streamArn: string; streamName: string; } export declare const addFirehose: (options: AddFirehoseOptions) => AddFirehoseResult; export declare const addStream: (options: AddStreamOptions) => AddStreamResult; export declare const grantRemoteStream: ({ consumers, scope, streamArn, streamName }: GrantRemoteStreamOptions) => void; export {};