import { Value } from '../../../cloudformation/Value';
import { MachineLearningDetectionConfigProps } from './MachineLearningDetectionConfigProps';
import { MetricValueProps } from './MetricValueProps';
import { StatisticalThresholdProps } from './StatisticalThresholdProps';
/**
  The criteria by which the behavior is determined to be normal.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html">the AWS Docs</a>
*/
export interface BehaviorCriteriaProps {
    /** <p> */
    comparisonOperator?: Value<string>;
    /** <code>MlDetectionConfig</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-mldetectionconfig"></a>
  The confidence level of the detection model.<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> */
    mlDetectionConfig?: MachineLearningDetectionConfigProps;
    /** <code>Value</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-value"></a>
  The value to be compared with the <code>metric</code>.<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> */
    value?: MetricValueProps;
    /** <code>StatisticalThreshold</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-statisticalthreshold"></a>
  A statistical ranking (percentile)that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.<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> */
    statisticalThreshold?: StatisticalThresholdProps;
    /** <code>DurationSeconds</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-durationseconds"></a>
  Use this to specify the time duration over which the behavior is evaluated, for those criteria that have a time dimension (for example, <code>NUM_MESSAGES_SENT</code>). For a <code>statisticalThreshhold</code> metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank. Cannot be used with list-based metric datatypes.<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> */
    durationSeconds?: Value<number>;
    /** <code>ConsecutiveDatapointsToAlarm</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-consecutivedatapointstoalarm"></a>
  If a device is in violation of the behavior for the specified number of consecutive datapoints, an alarm occurs. If not specified, the default is 1.<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> */
    consecutiveDatapointsToAlarm?: Value<number>;
    /** <code>ConsecutiveDatapointsToClear</code>  <a name="cfn-iot-securityprofile-behaviorcriteria-consecutivedatapointstoclear"></a>
  If an alarm has occurred and the offending device is no longer in violation of the behavior for the specified number of consecutive datapoints, the alarm is cleared. If not specified, the default is 1.<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> */
    consecutiveDatapointsToClear?: Value<number>;
}
