import * as pulumi from "@pulumi/pulumi";
/**
 * Gateways are the Twingate components that route traffic to remote networks.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as twingate from "@twingate/pulumi-twingate";
 *
 * const example = twingate.getTwingateGateway({
 *     id: "<your gateway's id>",
 * });
 * ```
 */
export declare function getTwingateGateway(args: GetTwingateGatewayArgs, opts?: pulumi.InvokeOptions): Promise<GetTwingateGatewayResult>;
/**
 * A collection of arguments for invoking getTwingateGateway.
 */
export interface GetTwingateGatewayArgs {
    /**
     * The ID of the Gateway.
     */
    id: string;
}
/**
 * A collection of values returned by getTwingateGateway.
 */
export interface GetTwingateGatewayResult {
    /**
     * The address of the Gateway.
     */
    readonly address: string;
    /**
     * The ID of the Gateway.
     */
    readonly id: string;
    /**
     * The ID of the Remote Network the Gateway belongs to.
     */
    readonly remoteNetworkId: string;
    /**
     * The ID of the SSH Certificate Authority used for SSH access.
     */
    readonly sshCaId: string;
    /**
     * The ID of the X.509 Certificate Authority used for TLS.
     */
    readonly x509CaId: string;
}
/**
 * Gateways are the Twingate components that route traffic to remote networks.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as twingate from "@twingate/pulumi-twingate";
 *
 * const example = twingate.getTwingateGateway({
 *     id: "<your gateway's id>",
 * });
 * ```
 */
export declare function getTwingateGatewayOutput(args: GetTwingateGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTwingateGatewayResult>;
/**
 * A collection of arguments for invoking getTwingateGateway.
 */
export interface GetTwingateGatewayOutputArgs {
    /**
     * The ID of the Gateway.
     */
    id: pulumi.Input<string>;
}
