import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about an existing Azure Firewall.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.network.getFirewall({
 *     name: "firewall1",
 *     resourceGroupName: "firewall-RG",
 * });
 * export const firewallPrivateIp = example.then(example => example.ipConfigurations?.[0]?.privateIpAddress);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Network` - 2025-01-01
 */
export declare function getFirewall(args: GetFirewallArgs, opts?: pulumi.InvokeOptions): Promise<GetFirewallResult>;
/**
 * A collection of arguments for invoking getFirewall.
 */
export interface GetFirewallArgs {
    /**
     * Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when it is `true`.
     */
    dnsProxyEnabled?: boolean;
    /**
     * The name of the Azure Firewall.
     */
    name: string;
    /**
     * The name of the Resource Group in which the Azure Firewall exists.
     */
    resourceGroupName: string;
}
/**
 * A collection of values returned by getFirewall.
 */
export interface GetFirewallResult {
    /**
     * Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when it is `true`.
     */
    readonly dnsProxyEnabled: boolean;
    /**
     * The list of DNS servers that the Azure Firewall will direct DNS traffic to for name resolution.
     */
    readonly dnsServers: string[];
    /**
     * The ID of the Firewall Policy applied to the Azure Firewall.
     */
    readonly firewallPolicyId: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * A `ipConfiguration` block as defined below.
     */
    readonly ipConfigurations: outputs.network.GetFirewallIpConfiguration[];
    /**
     * The Azure location where the Azure Firewall exists.
     */
    readonly location: string;
    /**
     * A `managementIpConfiguration` block as defined below, which allows force-tunnelling of traffic to be performed by the firewall.
     */
    readonly managementIpConfigurations: outputs.network.GetFirewallManagementIpConfiguration[];
    readonly name: string;
    readonly resourceGroupName: string;
    /**
     * The SKU name of the Azure Firewall.
     */
    readonly skuName: string;
    /**
     * The SKU tier of the Azure Firewall.
     */
    readonly skuTier: string;
    /**
     * A mapping of tags assigned to the Azure Firewall.
     */
    readonly tags: {
        [key: string]: string;
    };
    /**
     * The operation mode for threat intelligence-based filtering.
     */
    readonly threatIntelMode: string;
    /**
     * A `virtualHub` block as defined below.
     */
    readonly virtualHubs: outputs.network.GetFirewallVirtualHub[];
    /**
     * A list of Availability Zones in which this Azure Firewall is located.
     */
    readonly zones: string[];
}
/**
 * Use this data source to access information about an existing Azure Firewall.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.network.getFirewall({
 *     name: "firewall1",
 *     resourceGroupName: "firewall-RG",
 * });
 * export const firewallPrivateIp = example.then(example => example.ipConfigurations?.[0]?.privateIpAddress);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Network` - 2025-01-01
 */
export declare function getFirewallOutput(args: GetFirewallOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFirewallResult>;
/**
 * A collection of arguments for invoking getFirewall.
 */
export interface GetFirewallOutputArgs {
    /**
     * Whether DNS proxy is enabled. It will forward DNS requests to the DNS servers when it is `true`.
     */
    dnsProxyEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The name of the Azure Firewall.
     */
    name: pulumi.Input<string>;
    /**
     * The name of the Resource Group in which the Azure Firewall exists.
     */
    resourceGroupName: pulumi.Input<string>;
}
//# sourceMappingURL=getFirewall.d.ts.map