import { Value } from '../../cloudformation/Value';
import { ChannelStorageProps } from './channel/ChannelStorageProps';
import { RetentionPeriodProps } from './channel/RetentionPeriodProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type ChannelAttributes = {
    Id: Attribute<string>;
};
export type Channel = AwsResource<'AWS::IoTAnalytics::Channel', ChannelProperties, ChannelAttributes>;
/**
  The AWS::IoTAnalytics::Channel resource collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html#aws-iot-analytics-how"> How to Use AWS IoT Analytics</a> in the <em>AWS IoT Analytics User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html">the AWS Docs</a>
*/
export declare function channel(channelProps?: ChannelProperties): Channel;
/**
  The AWS::IoTAnalytics::Channel resource collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/welcome.html#aws-iot-analytics-how"> How to Use AWS IoT Analytics</a> in the <em>AWS IoT Analytics User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html">the AWS Docs</a>
*/
export interface ChannelProperties {
    /** <code>ChannelName</code>  <a name="cfn-iotanalytics-channel-channelname"></a>
  The name of the channel.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>(^(?!_{2}))(^[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> */
    channelName?: Value<string>;
    /** <code>ChannelStorage</code>  <a name="cfn-iotanalytics-channel-channelstorage"></a>
  Where channel data is stored.<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> */
    channelStorage?: ChannelStorageProps;
    /** <code>RetentionPeriod</code>  <a name="cfn-iotanalytics-channel-retentionperiod"></a>
  How long, in days, message data is kept for the channel.<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> */
    retentionPeriod?: RetentionPeriodProps;
    /** <code>Tags</code>  <a name="cfn-iotanalytics-channel-tags"></a>
  Metadata which can be used to manage the channel.<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 />
  
  Maximum: <code>50</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> */
    tags?: Tag[];
}
