import { Value } from '../../cloudformation/Value';
import { Tag } from '../Tag';
import { FirewallPolicyProps } from './firewallpolicy/FirewallPolicyProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type FirewallPolicyAttributes = {
    FirewallPolicyArn: Attribute<string>;
    FirewallPolicyId: Attribute<string>;
};
export type FirewallPolicy = AwsResource<'AWS::NetworkFirewall::FirewallPolicy', FirewallPolicyProperties, FirewallPolicyAttributes>;
/**
  Use the <a href="#aws-resource-networkfirewall-firewallpolicy">AWS::NetworkFirewall::FirewallPolicy</a> to define the stateless and stateful network traffic filtering behavior for your <a href="aws-resource-networkfirewall-firewall.md">AWS::NetworkFirewall::Firewall</a>. You can use one firewall policy for multiple firewalls.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html">the AWS Docs</a>
*/
export declare function firewallPolicy(firewallPolicyProps: FirewallPolicyProperties): FirewallPolicy;
/**
  Use the <a href="#aws-resource-networkfirewall-firewallpolicy">AWS::NetworkFirewall::FirewallPolicy</a> to define the stateless and stateful network traffic filtering behavior for your <a href="aws-resource-networkfirewall-firewall.md">AWS::NetworkFirewall::Firewall</a>. You can use one firewall policy for multiple firewalls.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html">the AWS Docs</a>
*/
export interface FirewallPolicyProperties {
    /** <code>Description</code>  <a name="cfn-networkfirewall-firewallpolicy-description"></a>
  A description of the firewall policy.<br />
  
  Required: No<br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>^.*$</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> */
    description?: Value<string>;
    /** <code>FirewallPolicyName</code>  <a name="cfn-networkfirewall-firewallpolicy-firewallpolicyname"></a>
  The descriptive name of the firewall policy. You can’t change the name of a firewall policy after you create it.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>^[a-zA-Z0-9-]+$</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> */
    firewallPolicyName: Value<string>;
    /** <code>Tags</code>  <a name="cfn-networkfirewall-firewallpolicy-tags"></a>
  An array of key-value pairs to apply to this resource.<br />
  For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html">Tag</a>.<br />
  
  Required: No<br />
  
  Maximum: <code>200</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> */
    tags?: Tag[];
    /** <code>FirewallPolicy</code>  <a name="cfn-networkfirewall-firewallpolicy-firewallpolicy"></a>
  The traffic filtering behavior of a firewall policy, defined in a collection of stateless and stateful rule groups and other settings.<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> */
    firewallPolicy: FirewallPolicyProps;
}
