import { Value } from '../../../cloudformation/Value';
import { TextTransformationProps } from './TextTransformationProps';
import { FieldToMatchProps } from './FieldToMatchProps';
/**
  A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (&gt;) or less than (&lt;). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html">the AWS Docs</a>
*/
export interface SizeConstraintStatementProps {
    /** <code>ComparisonOperator</code>  <a name="cfn-wafv2-rulegroup-sizeconstraintstatement-comparisonoperator"></a>
  The operator to use to compare the request part to the size setting.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>EQ | GE | GT | LE | LT | NE</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> */
    comparisonOperator: Value<'EQ' | 'GE' | 'GT' | 'LE' | 'LT' | 'NE'>;
    /** <code>TextTransformations</code>  <a name="cfn-wafv2-rulegroup-sizeconstraintstatement-texttransformations"></a>
  Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by <code>FieldToMatch</code>, starting from the lowest priority setting, before inspecting the content for a match.<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> */
    textTransformations: TextTransformationProps[];
    /** <code>Size</code>  <a name="cfn-wafv2-rulegroup-sizeconstraintstatement-size"></a>
  The size, in byte, to compare to the request part, after any transformations.<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> */
    size: Value<number>;
    /** <code>FieldToMatch</code>  <a name="cfn-wafv2-rulegroup-sizeconstraintstatement-fieldtomatch"></a>
  The part of the web request that you want AWS WAF to inspect.<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> */
    fieldToMatch: FieldToMatchProps;
}
