import { CfnResource, Resolvable } from '../../base';
export declare type Firewall_Type = 'AWS::NetworkFirewall::Firewall';
export declare const Firewall_Type = "AWS::NetworkFirewall::Firewall";
/**
 * Resource type definition for AWS::NetworkFirewall::Firewall {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html}
 */
export default function Firewall(props: Firewall_Properties): CfnResource<Firewall_Properties>;
/**
 * Resource type definition for AWS::NetworkFirewall::Firewall {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html}
 */
export declare type Firewall_Properties = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallname}
     */
    FirewallName: Resolvable<string>;
    FirewallArn?: ResourceArn;
    FirewallId?: Resolvable<string>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicyarn}
     */
    FirewallPolicyArn: ResourceArn;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-vpcid}
     */
    VpcId: Resolvable<string>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetmappings}
     */
    SubnetMappings: SubnetMapping[];
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-deleteprotection}
     */
    DeleteProtection?: Resolvable<boolean>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-subnetchangeprotection}
     */
    SubnetChangeProtection?: Resolvable<boolean>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-firewallpolicychangeprotection}
     */
    FirewallPolicyChangeProtection?: Resolvable<boolean>;
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-description}
     */
    Description?: Resolvable<string>;
    EndpointIds?: EndpointId[];
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html#cfn-networkfirewall-firewall-tags}
     */
    Tags?: Tag[];
};
export declare type ResourceArn = Resolvable<string>;
export declare type EndpointId = Resolvable<string>;
/**
 * {@link
 * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html}
 */
export declare type SubnetMapping = {
    /**
     * {@link
     * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-firewall-subnetmapping.html#cfn-networkfirewall-firewall-subnetmapping-subnetid}
     */
    SubnetId: Resolvable<string>;
};
export declare type Tag = {
    Key: Resolvable<string>;
    Value: Resolvable<string>;
};
