import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type StreamAttributes = {
    Arn: Attribute<string>;
};
export type Stream = AwsResource<'AWS::KinesisVideo::Stream', StreamProperties, StreamAttributes>;
/**
  Specifies a new Kinesis video stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html">the AWS Docs</a>
*/
export declare function stream(streamProps?: StreamProperties): Stream;
/**
  Specifies a new Kinesis video stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html">the AWS Docs</a>
*/
export interface StreamProperties {
    /** <code>KmsKeyId</code>  <a name="cfn-kinesisvideo-stream-kmskeyid"></a>
  The ID of the AWS Key Management Service (AWS KMS) key that Kinesis Video Streams uses to encrypt data on the stream.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>.+</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    kmsKeyId?: Value<string>;
    /** <code>MediaType</code>  <a name="cfn-kinesisvideo-stream-mediatype"></a>
  The <code>MediaType</code> of the stream.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[\w\-\.\+]+/[\w\-\.\+]+(,[\w\-\.\+]+/[\w\-\.\+]+)*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    mediaType?: Value<string>;
    /** <code>DataRetentionInHours</code>  <a name="cfn-kinesisvideo-stream-dataretentioninhours"></a>
  How long the stream retains data, in hours.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    dataRetentionInHours?: Value<number>;
    /** <code>Tags</code>  <a name="cfn-kinesisvideo-stream-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
    /** <code>Name</code>  <a name="cfn-kinesisvideo-stream-name"></a>
  The name of the stream.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name?: Value<string>;
    /** <code>DeviceName</code>  <a name="cfn-kinesisvideo-stream-devicename"></a>
  The name of the device that is associated with the stream.<br />
  
  Required: No<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-no-interrupt">No interruption</a> */
    deviceName?: Value<string>;
}
