import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type DimensionAttributes = {
    Arn: Attribute<string>;
};
export type Dimension = AwsResource<'AWS::IoT::Dimension', DimensionProperties, DimensionAttributes>;
/**
  Use the <code>AWS::IoT::Dimension</code> to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a <code>TOPIC_FILTER</code> dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. For API reference, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDimension.html">CreateDimension</a> and for general information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/scoping-security-behavior.html">Scoping metrics in security profiles using dimensions</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html">the AWS Docs</a>
*/
export declare function dimension(dimensionProps: DimensionProperties): Dimension;
/**
  Use the <code>AWS::IoT::Dimension</code> to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a <code>TOPIC_FILTER</code> dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. For API reference, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDimension.html">CreateDimension</a> and for general information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/scoping-security-behavior.html">Scoping metrics in security profiles using dimensions</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html">the AWS Docs</a>
*/
export interface DimensionProperties {
    /** <code>Type</code>  <a name="cfn-iot-dimension-type"></a>
  Specifies the type of dimension. Supported types: <code>TOPIC_FILTER.</code><br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    type: Value<string>;
    /** <code>StringValues</code>  <a name="cfn-iot-dimension-stringvalues"></a>
  Specifies the value or list of values for the dimension. For <code>TOPIC_FILTER</code> dimensions, this is a pattern used to match the MQTT topic (for example, “admin/#”).<br />
  
  Required: Yes<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> */
    stringValues: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-iot-dimension-tags"></a>
  Metadata that can be used to manage the dimension.<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-iot-dimension-name"></a>
  A unique identifier for the dimension.<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>;
}
