import { ActionProps } from './dataset/ActionProps';
import { LateDataRuleProps } from './dataset/LateDataRuleProps';
import { Value } from '../../cloudformation/Value';
import { DatasetContentDeliveryRuleProps } from './dataset/DatasetContentDeliveryRuleProps';
import { TriggerProps } from './dataset/TriggerProps';
import { VersioningConfigurationProps } from './dataset/VersioningConfigurationProps';
import { RetentionPeriodProps } from './dataset/RetentionPeriodProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DatasetAttributes = {
    Id: Attribute<string>;
};
export type Dataset = AwsResource<'AWS::IoTAnalytics::Dataset', DatasetProperties, DatasetAttributes>;
/**
  The AWS::IoTAnalytics::Dataset resource stores data retrieved from a data store by applying a <code>queryAction</code> (an SQL query) or a <code>containerAction</code> (executing a containerized application). The data set can be populated manually by calling <code>CreateDatasetContent</code> or automatically according to a <code>trigger</code> you specify. 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-dataset.html">the AWS Docs</a>
*/
export declare function dataset(datasetProps: DatasetProperties): Dataset;
/**
  The AWS::IoTAnalytics::Dataset resource stores data retrieved from a data store by applying a <code>queryAction</code> (an SQL query) or a <code>containerAction</code> (executing a containerized application). The data set can be populated manually by calling <code>CreateDatasetContent</code> or automatically according to a <code>trigger</code> you specify. 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-dataset.html">the AWS Docs</a>
*/
export interface DatasetProperties {
    /** <code>Actions</code>  <a name="cfn-iotanalytics-dataset-actions"></a>
  The <code>DatasetAction</code> objects that automatically create the dataset contents.<br />
  
  Required: Yes<br />
  
  Maximum: <code>1</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> */
    actions: ActionProps[];
    /** <code>LateDataRules</code>  <a name="cfn-iotanalytics-dataset-latedatarules"></a>
  A list of data rules that send notifications to CloudWatch, when data arrives late. To specify <code>lateDataRules</code>, the dataset must use a <a href="https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html">DeltaTimer</a> filter.<br />
  
  Required: No<br />
  
  Maximum: <code>1</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> */
    lateDataRules?: LateDataRuleProps[];
    /** <code>DatasetName</code>  <a name="cfn-iotanalytics-dataset-datasetname"></a>
  The name of the dataset.<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> */
    datasetName?: Value<string>;
    /** <code>ContentDeliveryRules</code>  <a name="cfn-iotanalytics-dataset-contentdeliveryrules"></a>
  When dataset contents are created they are delivered to destinations specified here.<br />
  
  Required: No<br />
  
  Maximum: <code>20</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> */
    contentDeliveryRules?: DatasetContentDeliveryRuleProps[];
    /** <code>Triggers</code>  <a name="cfn-iotanalytics-dataset-triggers"></a>
  The <code>DatasetTrigger</code> objects that specify when the dataset is automatically updated.<br />
  
  Required: No<br />
  
  Maximum: <code>5</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> */
    triggers?: TriggerProps[];
    /** <code>VersioningConfiguration</code>  <a name="cfn-iotanalytics-dataset-versioningconfiguration"></a>
  Optional. How many versions of dataset contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the <code>retentionPeriod</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions"> Keeping Multiple Versions of AWS IoT Analytics datasets</a> in the * AWS IoT Analytics User Guide*.<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> */
    versioningConfiguration?: VersioningConfigurationProps;
    /** <code>RetentionPeriod</code>  <a name="cfn-iotanalytics-dataset-retentionperiod"></a>
  Optional. How long, in days, message data is kept for the dataset.<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-dataset-tags"></a>
  Metadata which can be used to manage the data set.<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[];
}
