import * as pulumi from "@pulumi/pulumi";
/**
 * Gets information about a Public Gateway.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumi/scaleway";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.network.PublicGateway("main", {
 *     name: "demo",
 *     type: "VPC-GW-S",
 *     zone: "nl-ams-1",
 * });
 * const pgTestByName = scaleway.network.getPublicGatewayOutput({
 *     name: main.name,
 *     zone: "nl-ams-1",
 * });
 * const pgTestById = scaleway.network.getPublicGatewayOutput({
 *     publicGatewayId: main.id,
 * });
 * ```
 */
export declare function getPublicGateway(args?: GetPublicGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetPublicGatewayResult>;
/**
 * A collection of arguments for invoking getPublicGateway.
 */
export interface GetPublicGatewayArgs {
    /**
     * Exact name of the Public Gateway.
     */
    name?: string;
    /**
     * The ID of the Project the Public Gateway is associated with.
     */
    projectId?: string;
    publicGatewayId?: string;
    /**
     * `zone`) The Public Gateway's zone.
     */
    zone?: string;
}
/**
 * A collection of values returned by getPublicGateway.
 */
export interface GetPublicGatewayResult {
    readonly allowedIpRanges: string[];
    readonly bandwidth: number;
    readonly bastionEnabled: boolean;
    readonly bastionPort: number;
    readonly createdAt: string;
    readonly enableSmtp: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ipId: string;
    readonly moveToIpam: boolean;
    readonly name?: string;
    readonly organizationId: string;
    readonly projectId?: string;
    readonly publicGatewayId?: string;
    readonly refreshSshKeys: string;
    readonly status: string;
    readonly tags: string[];
    readonly type: string;
    readonly updatedAt: string;
    readonly upstreamDnsServers: string[];
    readonly zone?: string;
}
/**
 * Gets information about a Public Gateway.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumi/scaleway";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.network.PublicGateway("main", {
 *     name: "demo",
 *     type: "VPC-GW-S",
 *     zone: "nl-ams-1",
 * });
 * const pgTestByName = scaleway.network.getPublicGatewayOutput({
 *     name: main.name,
 *     zone: "nl-ams-1",
 * });
 * const pgTestById = scaleway.network.getPublicGatewayOutput({
 *     publicGatewayId: main.id,
 * });
 * ```
 */
export declare function getPublicGatewayOutput(args?: GetPublicGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPublicGatewayResult>;
/**
 * A collection of arguments for invoking getPublicGateway.
 */
export interface GetPublicGatewayOutputArgs {
    /**
     * Exact name of the Public Gateway.
     */
    name?: pulumi.Input<string>;
    /**
     * The ID of the Project the Public Gateway is associated with.
     */
    projectId?: pulumi.Input<string>;
    publicGatewayId?: pulumi.Input<string>;
    /**
     * `zone`) The Public Gateway's zone.
     */
    zone?: pulumi.Input<string>;
}
