import { ExpressionVariableProps } from './ExpressionVariableProps';
import { MetricWindowProps } from './MetricWindowProps';
import { Value } from '../../../cloudformation/Value';
/**
  Contains an asset metric property. With metrics, you can calculate aggregate functions, such as an average, maximum, or minimum, as specified through an expression. A metric maps several values to a single value (such as a sum).
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsitewise-assetmodel-metric.html">the AWS Docs</a>
*/
export interface MetricProps {
    /** <code>Variables</code>  <a name="cfn-iotsitewise-assetmodel-metric-variables"></a>
  The list of variables used in the expression.<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> */
    variables: ExpressionVariableProps[];
    /** <code>Window</code>  <a name="cfn-iotsitewise-assetmodel-metric-window"></a>
  The window (time interval) over which AWS IoT SiteWise computes the metric’s aggregation expression. AWS IoT SiteWise computes one data point per <code>window</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-no-interrupt">No interruption</a> */
    window: MetricWindowProps;
    /** <code>Expression</code>  <a name="cfn-iotsitewise-assetmodel-metric-expression"></a>
  The mathematical expression that defines the metric aggregation function. You can specify up to 10 variables per expression. You can specify up to 10 functions per expression.<br />
  For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html">Quotas</a> in the
  AWS IoT SiteWise User Guide: 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> */
    expression: Value<string>;
}
