import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type StreamConsumerAttributes = {
    ConsumerCreationTimestamp: Attribute<string>;
    ConsumerName: Attribute<string>;
    ConsumerARN: Attribute<string>;
    ConsumerStatus: Attribute<string>;
    StreamARN: Attribute<string>;
};
export type StreamConsumer = AwsResource<'AWS::Kinesis::StreamConsumer', StreamConsumerProperties, StreamConsumerAttributes>;
/**
  Use the AWS CloudFormation <code>AWS::Kinesis::StreamConsumer</code> resource to register a consumer with a Kinesis data stream. The consumer you register can then call <a href="https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html">SubscribeToShard</a> to receive data from the stream using enhanced fan-out, at a rate of up to 2 MiB per second for every shard you subscribe to. This rate is unaffected by the total number of consumers that read from the same stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html">the AWS Docs</a>
*/
export declare function streamConsumer(streamConsumerProps: StreamConsumerProperties): StreamConsumer;
/**
  Use the AWS CloudFormation <code>AWS::Kinesis::StreamConsumer</code> resource to register a consumer with a Kinesis data stream. The consumer you register can then call <a href="https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html">SubscribeToShard</a> to receive data from the stream using enhanced fan-out, at a rate of up to 2 MiB per second for every shard you subscribe to. This rate is unaffected by the total number of consumers that read from the same stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html">the AWS Docs</a>
*/
export interface StreamConsumerProperties {
    /** <code>ConsumerName</code>  <a name="cfn-kinesis-streamconsumer-consumername"></a>
  The name of the consumer is something you choose when you register the consumer.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[a-zA-Z0-9_.-]+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    consumerName: Value<string>;
    /** <code>StreamARN</code>  <a name="cfn-kinesis-streamconsumer-streamarn"></a>
  The ARN of the stream with which you registered the consumer.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>arn:aws.*:kinesis:.*:\d{12}:stream/\S+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    streamARN: Value<string>;
}
