import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * To get more information about Snapshot, see:
 *
 * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/router/docs/)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const foo = gcp.compute.getRouterNat({
 *     name: "my-nat",
 *     router: "my-router",
 * });
 * ```
 */
export declare function getRouterNat(args: GetRouterNatArgs, opts?: pulumi.InvokeOptions): Promise<GetRouterNatResult>;
/**
 * A collection of arguments for invoking getRouterNat.
 */
export interface GetRouterNatArgs {
    /**
     * Name of the NAT service. The name must be 1-63 characters long and
     * comply with RFC1035.
     */
    name: string;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: string;
    /**
     * Region where the router and NAT reside.
     */
    region?: string;
    /**
     * The name of the Cloud Router in which this NAT will be configured.
     *
     * - - -
     */
    router: string;
}
/**
 * A collection of values returned by getRouterNat.
 */
export interface GetRouterNatResult {
    readonly autoNetworkTier: string;
    readonly drainNatIps: string[];
    readonly enableDynamicPortAllocation: boolean;
    readonly enableEndpointIndependentMapping: boolean;
    readonly endpointTypes: string[];
    readonly icmpIdleTimeoutSec: number;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly initialNatIps: string[];
    readonly logConfigs: outputs.compute.GetRouterNatLogConfig[];
    readonly maxPortsPerVm: number;
    readonly minPortsPerVm: number;
    readonly name: string;
    readonly natIpAllocateOption: string;
    readonly natIps: string[];
    readonly project?: string;
    readonly region?: string;
    readonly router: string;
    readonly rules: outputs.compute.GetRouterNatRule[];
    readonly sourceSubnetworkIpRangesToNat: string;
    readonly subnetworks: outputs.compute.GetRouterNatSubnetwork[];
    readonly tcpEstablishedIdleTimeoutSec: number;
    readonly tcpTimeWaitTimeoutSec: number;
    readonly tcpTransitoryIdleTimeoutSec: number;
    readonly type: string;
    readonly udpIdleTimeoutSec: number;
}
/**
 * To get more information about Snapshot, see:
 *
 * * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
 * * How-to Guides
 *     * [Official Documentation](https://cloud.google.com/router/docs/)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const foo = gcp.compute.getRouterNat({
 *     name: "my-nat",
 *     router: "my-router",
 * });
 * ```
 */
export declare function getRouterNatOutput(args: GetRouterNatOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRouterNatResult>;
/**
 * A collection of arguments for invoking getRouterNat.
 */
export interface GetRouterNatOutputArgs {
    /**
     * Name of the NAT service. The name must be 1-63 characters long and
     * comply with RFC1035.
     */
    name: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
    /**
     * Region where the router and NAT reside.
     */
    region?: pulumi.Input<string>;
    /**
     * The name of the Cloud Router in which this NAT will be configured.
     *
     * - - -
     */
    router: pulumi.Input<string>;
}
