export interface Tag {
    Key: string;
    Value: string;
}
export interface WafAction {
    /** Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following: ALLOW: AWS WAF allows requests BLOCK: AWS WAF blocks requests COUNT: AWS  */
    Type: 'BLOCK' | 'ALLOW' | 'COUNT';
}
export interface TimeWindow {
    /** The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal T */
    StartTime: string;
    /** The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (U */
    EndTime: string;
}
export interface LoggingConfiguration {
    /** The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs. */
    ResourceArn: string;
    /** An array of Amazon Kinesis Data Firehose ARNs. */
    LogDestinationConfigs: string[];
    /** The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the firehose will be xxx. */
    RedactedFields?: any[];
}
export interface ByteMatchSetUpdate {
    /** Specifies whether to insert or delete a ByteMatchTuple. */
    Action: 'INSERT' | 'DELETE';
    /** Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action, the ByteMatchTuple values */
    ByteMatchTuple: any;
}
export interface GeoMatchSetUpdate {
    /** Specifies whether to insert or delete a country with UpdateGeoMatchSet. */
    Action: 'INSERT' | 'DELETE';
    /** The country from which web requests originate that you want AWS WAF to search for. */
    GeoMatchConstraint: any;
}
export interface IPSetUpdate {
    /** Specifies whether to insert or delete an IP address with UpdateIPSet. */
    Action: 'INSERT' | 'DELETE';
    /** The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. */
    IPSetDescriptor: any;
}
export interface RuleUpdate {
    /** Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate from a Rule. */
    Action: 'INSERT' | 'DELETE';
    /** The ID of the Predicate (such as an IPSet) that you want to add to a Rule. */
    Predicate: any;
}
export interface RegexMatchSetUpdate {
    /** Specifies whether to insert or delete a RegexMatchTuple. */
    Action: 'INSERT' | 'DELETE';
    /** Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify DELETE for */
    RegexMatchTuple: any;
}
export interface RegexPatternSetUpdate {
    /** Specifies whether to insert or delete a RegexPatternString. */
    Action: 'INSERT' | 'DELETE';
    /** Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. */
    RegexPatternString: string;
}
export interface RuleGroupUpdate {
    /** Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove an ActivatedRule from a RuleGroup. */
    Action: 'INSERT' | 'DELETE';
    /** The ActivatedRule object specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (A */
    ActivatedRule: any;
}
export interface SizeConstraintSetUpdate {
    /** Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet. */
    Action: 'INSERT' | 'DELETE';
    /** Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of "Size ComparisonOperator size in byte */
    SizeConstraint: any;
}
export interface SqlInjectionMatchSetUpdate {
    /** Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet. */
    Action: 'INSERT' | 'DELETE';
    /** Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. */
    SqlInjectionMatchTuple: any;
}
export interface WebACLUpdate {
    /** Specifies whether to insert a Rule into or delete a Rule from a WebACL. */
    Action: 'INSERT' | 'DELETE';
    /** The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web  */
    ActivatedRule: any;
}
export interface XssMatchSetUpdate {
    /** Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove an XssMatchSetUpdate from an XssMatchSet. */
    Action: 'INSERT' | 'DELETE';
    /** Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. */
    XssMatchTuple: any;
}
export interface AssociateWebACLInput {
    /** The ARN (Amazon Resource Name) of the resource to be protected, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following formats: For an Application L */
    ResourceArn: string;
    /** A unique identifier (ID) for the web ACL. */
    WebACLId: string;
}
export interface CreateByteMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet. */
    Name: string;
}
export interface CreateGeoMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet. */
    Name: string;
}
export interface CreateIPSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the IPSet. You can't change Name after you create the IPSet. */
    Name: string;
}
export interface CreateRateBasedRuleInput {
    /** The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus. */
    ChangeToken: string;
    /** A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't conta */
    MetricName: string;
    /** A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it. */
    Name: string;
    /** The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests th */
    RateKey: 'IP';
    /** The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other  */
    RateLimit: number;
    Tags?: Tag[];
}
export interface CreateRegexMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet. */
    Name: string;
}
export interface CreateRegexPatternSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet. */
    Name: string;
}
export interface CreateRuleInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whites */
    MetricName: string;
    /** A friendly name or description of the Rule. You can't change the name of a Rule after you create it. */
    Name: string;
    Tags?: Tag[];
}
export interface CreateRuleGroupInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain w */
    MetricName: string;
    /** A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup. */
    Name: string;
    Tags?: Tag[];
}
export interface CreateSizeConstraintSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet. */
    Name: string;
}
/** A request to create a SqlInjectionMatchSet. */
export interface CreateSqlInjectionMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet. */
    Name: string;
}
export interface CreateWebACLInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL. */
    DefaultAction: WafAction;
    /** A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain white */
    MetricName: string;
    /** A friendly name or description of the WebACL. You can't change Name after you create the WebACL. */
    Name: string;
    Tags?: Tag[];
}
export interface CreateWebACLMigrationStackInput {
    /** Indicates whether to exclude entities that can't be migrated or to stop the migration. Set this to true to ignore unsupported entities in the web ACL during the migration. Otherwise, if AWS WAF encoun */
    IgnoreUnsupportedType: boolean;
    /** The name of the Amazon S3 bucket to store the CloudFormation template in. The S3 bucket must be configured as follows for the migration: The bucket name must start with aws-waf-migration-. For example */
    S3BucketName: string;
    /** The UUID of the WAF Classic web ACL that you want to migrate to WAF v2. */
    WebACLId: string;
}
/** A request to create an XssMatchSet. */
export interface CreateXssMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet. */
    Name: string;
}
export interface DeleteByteMatchSetInput {
    /** The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. */
    ByteMatchSetId: string;
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
}
export interface DeleteGeoMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets. */
    GeoMatchSetId: string;
}
export interface DeleteIPSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets. */
    IPSetId: string;
}
export interface DeleteLoggingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration. */
    ResourceArn: string;
}
export interface DeletePermissionPolicyInput {
    /** The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy. The user making the request must be the owner of the RuleGroup. */
    ResourceArn: string;
}
export interface DeleteRateBasedRuleInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules. */
    RuleId: string;
}
export interface DeleteRegexMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. */
    RegexMatchSetId: string;
}
export interface DeleteRegexPatternSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. */
    RegexPatternSetId: string;
}
export interface DeleteRuleInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules. */
    RuleId: string;
}
export interface DeleteRuleGroupInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. */
    RuleGroupId: string;
}
export interface DeleteSizeConstraintSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. */
    SizeConstraintSetId: string;
}
/** A request to delete a SqlInjectionMatchSet from AWS WAF. */
export interface DeleteSqlInjectionMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. */
    SqlInjectionMatchSetId: string;
}
export interface DeleteWebACLInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs. */
    WebACLId: string;
}
/** A request to delete an XssMatchSet from AWS WAF. */
export interface DeleteXssMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. */
    XssMatchSetId: string;
}
export interface DisassociateWebACLInput {
    /** The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following forma */
    ResourceArn: string;
}
export interface GetByteMatchSetInput {
    /** The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. */
    ByteMatchSetId: string;
}
export interface GetChangeTokenStatusInput {
    /** The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response. */
    ChangeToken: string;
}
export interface GetGeoMatchSetInput {
    /** The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets. */
    GeoMatchSetId: string;
}
export interface GetIPSetInput {
    /** The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets. */
    IPSetId: string;
}
export interface GetLoggingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration. */
    ResourceArn: string;
}
export interface GetPermissionPolicyInput {
    /** The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy. */
    ResourceArn: string;
}
export interface GetRateBasedRuleInput {
    /** The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules. */
    RuleId: string;
}
export interface GetRateBasedRuleManagedKeysInput {
    /** The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules. */
    RuleId: string;
    /** A null value and not currently used. Do not include this in your request. */
    NextMarker?: string;
}
export interface GetRegexMatchSetInput {
    /** The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. */
    RegexMatchSetId: string;
}
export interface GetRegexPatternSetInput {
    /** The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. */
    RegexPatternSetId: string;
}
export interface GetRuleInput {
    /** The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules. */
    RuleId: string;
}
export interface GetRuleGroupInput {
    /** The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. */
    RuleGroupId: string;
}
export interface GetSampledRequestsInput {
    /** The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the valu */
    MaxItems: number;
    /** RuleId is one of three values: The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests. Default_Action, which causes GetSampledR */
    RuleId: string;
    /** The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) form */
    TimeWindow: TimeWindow;
    /** The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests. */
    WebAclId: string;
}
export interface GetSizeConstraintSetInput {
    /** The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. */
    SizeConstraintSetId: string;
}
/** A request to get a SqlInjectionMatchSet. */
export interface GetSqlInjectionMatchSetInput {
    /** The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. */
    SqlInjectionMatchSetId: string;
}
export interface GetWebACLInput {
    /** The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs. */
    WebACLId: string;
}
export interface GetWebACLForResourceInput {
    /** The ARN (Amazon Resource Name) of the resource for which to get the web ACL, either an application load balancer or Amazon API Gateway stage. The ARN should be in one of the following formats: For an  */
    ResourceArn: string;
}
/** A request to get an XssMatchSet. */
export interface GetXssMatchSetInput {
    /** The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. */
    XssMatchSetId: string;
}
export interface ListActivatedRulesInRuleGroupInput {
    /** Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker  */
    Limit?: number;
    /** If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. F */
    NextMarker?: string;
    /** The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects. */
    RuleGroupId?: string;
}
export interface ListByteMatchSetsInput {
    /** Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a Nex */
    Limit?: number;
    /** If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For */
    NextMarker?: string;
}
export interface ListGeoMatchSetsInput {
    /** Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMa */
    Limit?: number;
    /** If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects */
    NextMarker?: string;
}
export interface ListIPSetsInput {
    /** Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value t */
    Limit?: number;
    /** AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous */
    NextMarker?: string;
}
export interface ListLoggingConfigurationsInput {
    /** Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes */
    Limit?: number;
    /** If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingCon */
    NextMarker?: string;
}
export interface ListRateBasedRulesInput {
    /** Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can */
    Limit?: number;
    /** If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and  */
    NextMarker?: string;
}
export interface ListRegexMatchSetsInput {
    /** Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a Ne */
    Limit?: number;
    /** If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchS */
    NextMarker?: string;
}
export interface ListRegexPatternSetsInput {
    /** Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes  */
    Limit?: number;
    /** If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPat */
    NextMarker?: string;
}
export interface ListResourcesForWebACLInput {
    /** The unique identifier (ID) of the web ACL for which to list the associated resources. */
    WebACLId: string;
    /** The type of resource to list, either an application load balancer or Amazon API Gateway. */
    ResourceType?: 'APPLICATION_LOAD_BALANCER' | 'API_GATEWAY';
}
export interface ListRuleGroupsInput {
    /** Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value th */
    Limit?: number;
    /** If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the s */
    NextMarker?: string;
}
export interface ListRulesInput {
    /** Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can */
    Limit?: number;
    /** If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and  */
    NextMarker?: string;
}
export interface ListSizeConstraintSetsInput {
    /** Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response incl */
    Limit?: number;
    /** If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstrain */
    NextMarker?: string;
}
/** A request to list the SqlInjectionMatchSet objects created by the current AWS account. */
export interface ListSqlInjectionMatchSetsInput {
    /** Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response */
    Limit?: number;
    /** If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Sql */
    NextMarker?: string;
}
export interface ListSubscribedRuleGroupsInput {
    /** Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker valu */
    Limit?: number;
    /** If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group */
    NextMarker?: string;
}
export interface ListTagsForResourceInput {
    ResourceARN: string;
    Limit?: number;
    NextMarker?: string;
}
export interface ListWebACLsInput {
    /** Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker  */
    Limit?: number;
    /** If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group o */
    NextMarker?: string;
}
/** A request to list the XssMatchSet objects created by the current AWS account. */
export interface ListXssMatchSetsInput {
    /** Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMa */
    Limit?: number;
    /** If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets */
    NextMarker?: string;
}
export interface PutLoggingConfigurationInput {
    /** The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor. When specifying Type in Red */
    LoggingConfiguration: LoggingConfiguration;
}
export interface PutPermissionPolicyInput {
    /** The policy to attach to the specified RuleGroup. */
    Policy: string;
    /** The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy. */
    ResourceArn: string;
}
export interface TagResourceInput {
    ResourceARN: string;
    Tags: Tag[];
}
export interface UntagResourceInput {
    ResourceARN: string;
    TagKeys: string[];
}
export interface UpdateByteMatchSetInput {
    /** The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. */
    ByteMatchSetId: string;
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types: ByteMatchSetUpdate: Contains Action and ByteMatc */
    Updates: ByteMatchSetUpdate[];
}
export interface UpdateGeoMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets. */
    GeoMatchSetId: string;
    /** An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types: GeoMatchSetUpdate: Contains Action and GeoMatchCo */
    Updates: GeoMatchSetUpdate[];
}
export interface UpdateIPSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets. */
    IPSetId: string;
    /** An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types: IPSetUpdate: Contains Action and IPSetDescriptor IPSetDescrip */
    Updates: IPSetUpdate[];
}
export interface UpdateRateBasedRuleInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other pred */
    RateLimit: number;
    /** The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules. */
    RuleId: string;
    /** An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule. */
    Updates: RuleUpdate[];
}
export interface UpdateRegexMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets. */
    RegexMatchSetId: string;
    /** An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple. */
    Updates: RegexMatchSetUpdate[];
}
export interface UpdateRegexPatternSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets. */
    RegexPatternSetId: string;
    /** An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet. */
    Updates: RegexPatternSetUpdate[];
}
export interface UpdateRuleInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules. */
    RuleId: string;
    /** An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types: RuleUpdate: Contains Action and Predicate Predicate: Contains Da */
    Updates: RuleUpdate[];
}
export interface UpdateRuleGroupInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups. */
    RuleGroupId: string;
    /** An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup. You can only insert REGULAR rules into a rule group. ActivatedRule|OverrideAction applies only when updatin */
    Updates: RuleGroupUpdate[];
}
export interface UpdateSizeConstraintSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. */
    SizeConstraintSetId: string;
    /** An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types: SizeConstraintSetUpdate: Contains Acti */
    Updates: SizeConstraintSetUpdate[];
}
/** A request to update a SqlInjectionMatchSet. */
export interface UpdateSqlInjectionMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. */
    SqlInjectionMatchSetId: string;
    /** An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types: SqlInjectionMatchSetUpdate: Cont */
    Updates: SqlInjectionMatchSetUpdate[];
}
export interface UpdateWebACLInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs. */
    WebACLId: string;
    /** A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL. */
    DefaultAction?: WafAction;
    /** An array of updates to make to the WebACL. An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types: WebACLUpdate: Con */
    Updates?: WebACLUpdate[];
}
/** A request to update an XssMatchSet. */
export interface UpdateXssMatchSetInput {
    /** The value returned by the most recent call to GetChangeToken. */
    ChangeToken: string;
    /** An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types: XssMatchSetUpdate: Contains Action and XssMatchTu */
    Updates: XssMatchSetUpdate[];
    /** The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. */
    XssMatchSetId: string;
}
/** WAF Regional service binding for Step Functions SDK integrations. */
export declare class WAFRegional {
    constructor();
    associateWebACL<T>(params: AssociateWebACLInput): Promise<T>;
    createByteMatchSet<T>(params: CreateByteMatchSetInput): Promise<T>;
    createGeoMatchSet<T>(params: CreateGeoMatchSetInput): Promise<T>;
    createIPSet<T>(params: CreateIPSetInput): Promise<T>;
    createRateBasedRule<T>(params: CreateRateBasedRuleInput): Promise<T>;
    createRegexMatchSet<T>(params: CreateRegexMatchSetInput): Promise<T>;
    createRegexPatternSet<T>(params: CreateRegexPatternSetInput): Promise<T>;
    createRule<T>(params: CreateRuleInput): Promise<T>;
    createRuleGroup<T>(params: CreateRuleGroupInput): Promise<T>;
    createSizeConstraintSet<T>(params: CreateSizeConstraintSetInput): Promise<T>;
    createSqlInjectionMatchSet<T>(params: CreateSqlInjectionMatchSetInput): Promise<T>;
    createWebACL<T>(params: CreateWebACLInput): Promise<T>;
    createWebACLMigrationStack<T>(params: CreateWebACLMigrationStackInput): Promise<T>;
    createXssMatchSet<T>(params: CreateXssMatchSetInput): Promise<T>;
    deleteByteMatchSet<T>(params: DeleteByteMatchSetInput): Promise<T>;
    deleteGeoMatchSet<T>(params: DeleteGeoMatchSetInput): Promise<T>;
    deleteIPSet<T>(params: DeleteIPSetInput): Promise<T>;
    deleteLoggingConfiguration<T>(params: DeleteLoggingConfigurationInput): Promise<T>;
    deletePermissionPolicy<T>(params: DeletePermissionPolicyInput): Promise<T>;
    deleteRateBasedRule<T>(params: DeleteRateBasedRuleInput): Promise<T>;
    deleteRegexMatchSet<T>(params: DeleteRegexMatchSetInput): Promise<T>;
    deleteRegexPatternSet<T>(params: DeleteRegexPatternSetInput): Promise<T>;
    deleteRule<T>(params: DeleteRuleInput): Promise<T>;
    deleteRuleGroup<T>(params: DeleteRuleGroupInput): Promise<T>;
    deleteSizeConstraintSet<T>(params: DeleteSizeConstraintSetInput): Promise<T>;
    deleteSqlInjectionMatchSet<T>(params: DeleteSqlInjectionMatchSetInput): Promise<T>;
    deleteWebACL<T>(params: DeleteWebACLInput): Promise<T>;
    deleteXssMatchSet<T>(params: DeleteXssMatchSetInput): Promise<T>;
    disassociateWebACL<T>(params: DisassociateWebACLInput): Promise<T>;
    getByteMatchSet<T>(params: GetByteMatchSetInput): Promise<T>;
    getChangeToken<T>(params: Record<string, any>): Promise<T>;
    getChangeTokenStatus<T>(params: GetChangeTokenStatusInput): Promise<T>;
    getGeoMatchSet<T>(params: GetGeoMatchSetInput): Promise<T>;
    getIPSet<T>(params: GetIPSetInput): Promise<T>;
    getLoggingConfiguration<T>(params: GetLoggingConfigurationInput): Promise<T>;
    getPermissionPolicy<T>(params: GetPermissionPolicyInput): Promise<T>;
    getRateBasedRule<T>(params: GetRateBasedRuleInput): Promise<T>;
    getRateBasedRuleManagedKeys<T>(params: GetRateBasedRuleManagedKeysInput): Promise<T>;
    getRegexMatchSet<T>(params: GetRegexMatchSetInput): Promise<T>;
    getRegexPatternSet<T>(params: GetRegexPatternSetInput): Promise<T>;
    getRule<T>(params: GetRuleInput): Promise<T>;
    getRuleGroup<T>(params: GetRuleGroupInput): Promise<T>;
    getSampledRequests<T>(params: GetSampledRequestsInput): Promise<T>;
    getSizeConstraintSet<T>(params: GetSizeConstraintSetInput): Promise<T>;
    getSqlInjectionMatchSet<T>(params: GetSqlInjectionMatchSetInput): Promise<T>;
    getWebACL<T>(params: GetWebACLInput): Promise<T>;
    getWebACLForResource<T>(params: GetWebACLForResourceInput): Promise<T>;
    getXssMatchSet<T>(params: GetXssMatchSetInput): Promise<T>;
    listActivatedRulesInRuleGroup<T>(params: ListActivatedRulesInRuleGroupInput): Promise<T>;
    listByteMatchSets<T>(params: ListByteMatchSetsInput): Promise<T>;
    listGeoMatchSets<T>(params: ListGeoMatchSetsInput): Promise<T>;
    listIPSets<T>(params: ListIPSetsInput): Promise<T>;
    listLoggingConfigurations<T>(params: ListLoggingConfigurationsInput): Promise<T>;
    listRateBasedRules<T>(params: ListRateBasedRulesInput): Promise<T>;
    listRegexMatchSets<T>(params: ListRegexMatchSetsInput): Promise<T>;
    listRegexPatternSets<T>(params: ListRegexPatternSetsInput): Promise<T>;
    listResourcesForWebACL<T>(params: ListResourcesForWebACLInput): Promise<T>;
    listRuleGroups<T>(params: ListRuleGroupsInput): Promise<T>;
    listRules<T>(params: ListRulesInput): Promise<T>;
    listSizeConstraintSets<T>(params: ListSizeConstraintSetsInput): Promise<T>;
    listSqlInjectionMatchSets<T>(params: ListSqlInjectionMatchSetsInput): Promise<T>;
    listSubscribedRuleGroups<T>(params: ListSubscribedRuleGroupsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listWebACLs<T>(params: ListWebACLsInput): Promise<T>;
    listXssMatchSets<T>(params: ListXssMatchSetsInput): Promise<T>;
    putLoggingConfiguration<T>(params: PutLoggingConfigurationInput): Promise<T>;
    putPermissionPolicy<T>(params: PutPermissionPolicyInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateByteMatchSet<T>(params: UpdateByteMatchSetInput): Promise<T>;
    updateGeoMatchSet<T>(params: UpdateGeoMatchSetInput): Promise<T>;
    updateIPSet<T>(params: UpdateIPSetInput): Promise<T>;
    updateRateBasedRule<T>(params: UpdateRateBasedRuleInput): Promise<T>;
    updateRegexMatchSet<T>(params: UpdateRegexMatchSetInput): Promise<T>;
    updateRegexPatternSet<T>(params: UpdateRegexPatternSetInput): Promise<T>;
    updateRule<T>(params: UpdateRuleInput): Promise<T>;
    updateRuleGroup<T>(params: UpdateRuleGroupInput): Promise<T>;
    updateSizeConstraintSet<T>(params: UpdateSizeConstraintSetInput): Promise<T>;
    updateSqlInjectionMatchSet<T>(params: UpdateSqlInjectionMatchSetInput): Promise<T>;
    updateWebACL<T>(params: UpdateWebACLInput): Promise<T>;
    updateXssMatchSet<T>(params: UpdateXssMatchSetInput): Promise<T>;
}
//# sourceMappingURL=WAFRegional.d.ts.map