import { Value } from '../../cloudformation/Value';
import { FieldToMatchProps } from './loggingconfiguration/FieldToMatchProps';
import { LoggingFilterProps } from './loggingconfiguration/LoggingFilterProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type LoggingConfigurationAttributes = {
    ManagedByFirewallManager: Attribute<boolean>;
};
export type LoggingConfiguration = AwsResource<'AWS::WAFv2::LoggingConfiguration', LoggingConfigurationProperties, LoggingConfigurationAttributes>;
/**
  Defines an association between logging destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html">the AWS Docs</a>
*/
export declare function loggingConfiguration(loggingConfigurationProps: LoggingConfigurationProperties): LoggingConfiguration;
/**
  Defines an association between logging destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html">the AWS Docs</a>
*/
export interface LoggingConfigurationProperties {
    /** <code>ResourceArn</code>  <a name="cfn-wafv2-loggingconfiguration-resourcearn"></a>
  The Amazon Resource Name (ARN) of the web ACL that you want to associate with <code>LogDestinationConfigs</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>.*\S.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    resourceArn: Value<string>;
    /** <code>LogDestinationConfigs</code>  <a name="cfn-wafv2-loggingconfiguration-logdestinationconfigs"></a>
  The logging destination configuration that you want to associate with the web ACL.<br />
  You can associate one logging destination to a web ACL.
  
  Required: Yes<br />
  
  Maximum: <code>100</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> */
    logDestinationConfigs: Value<Value<string>[]>;
    /** <code>RedactedFields</code>  <a name="cfn-wafv2-loggingconfiguration-redactedfields"></a>
  The parts of the request that you want to keep out of the logs.<br />
  For example, if you redact the <code>SingleHeader</code> field, the <code>HEADER</code> field in the logs will be <code>REDACTED</code> for all rules that use the <code>SingleHeader</code> <code>FieldToMatch</code> setting.<br />
  Redaction applies only to the component that’s specified in the rule’s <code>FieldToMatch</code> setting, so the <code>SingleHeader</code> redaction doesn’t apply to rules that use the <code>Headers</code> <code>FieldToMatch</code>.<br />
  You can specify only the following fields for redaction: <code>UriPath</code>, <code>QueryString</code>, <code>SingleHeader</code>, and <code>Method</code>.
  
  Required: No<br />
  
  Maximum: <code>100</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> */
    redactedFields?: FieldToMatchProps[];
    /** <code>LoggingFilter</code>  <a name="cfn-wafv2-loggingconfiguration-loggingfilter"></a>
  Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.<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> */
    loggingFilter?: LoggingFilterProps;
}
