import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * Data source for retrieving NGFW information.
 *
 * ## Admin Permission Type
 *
 * * `Firewall`
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as cloudngfwaws from "@pulumi/cloudngfwaws";
 *
 * const example = cloudngfwaws.getNgfw({
 *     name: "example-instance",
 * });
 * ```
 */
export declare function getNgfw(args: GetNgfwArgs, opts?: pulumi.InvokeOptions): Promise<GetNgfwResult>;
/**
 * A collection of arguments for invoking getNgfw.
 */
export interface GetNgfwArgs {
    /**
     * The account ID. This field is mandatory if using multiple accounts.
     */
    accountId?: string;
    /**
     * The NGFW name.
     */
    name: string;
}
/**
 * A collection of values returned by getNgfw.
 */
export interface GetNgfwResult {
    /**
     * The account ID. This field is mandatory if using multiple accounts.
     */
    readonly accountId?: string;
    /**
     * App-ID version number.
     */
    readonly appIdVersion: string;
    /**
     * Automatic App-ID upgrade version number.
     */
    readonly automaticUpgradeAppIdVersion: boolean;
    /**
     * The description.
     */
    readonly description: string;
    /**
     * Set endpoint mode from the following options. Valid values are `ServiceManaged` or `CustomerManaged`.
     */
    readonly endpointMode: string;
    /**
     * The endpoint service name.
     */
    readonly endpointServiceName: string;
    /**
     * The Id of the NGFW.
     */
    readonly firewallId: string;
    /**
     * The global rulestack for this NGFW.
     */
    readonly globalRulestack: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The link ID.
     */
    readonly linkId: string;
    /**
     * The link status.
     */
    readonly linkStatus: string;
    /**
     * Share NGFW with Multiple VPCs. This feature can be enabled only if the endpointMode is CustomerManaged.
     */
    readonly multiVpc: boolean;
    /**
     * The NGFW name.
     */
    readonly name: string;
    /**
     * The rulestack for this NGFW.
     */
    readonly rulestack: string;
    readonly statuses: outputs.GetNgfwStatus[];
    /**
     * Subnet mappings.
     */
    readonly subnetMappings: outputs.GetNgfwSubnetMapping[];
    /**
     * The tags.
     */
    readonly tags: {
        [key: string]: string;
    };
    /**
     * The update token.
     */
    readonly updateToken: string;
    /**
     * The vpc id.
     */
    readonly vpcId: string;
}
/**
 * Data source for retrieving NGFW information.
 *
 * ## Admin Permission Type
 *
 * * `Firewall`
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as cloudngfwaws from "@pulumi/cloudngfwaws";
 *
 * const example = cloudngfwaws.getNgfw({
 *     name: "example-instance",
 * });
 * ```
 */
export declare function getNgfwOutput(args: GetNgfwOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNgfwResult>;
/**
 * A collection of arguments for invoking getNgfw.
 */
export interface GetNgfwOutputArgs {
    /**
     * The account ID. This field is mandatory if using multiple accounts.
     */
    accountId?: pulumi.Input<string>;
    /**
     * The NGFW name.
     */
    name: pulumi.Input<string>;
}
