import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * A Remote Network represents a single private network in Twingate that can have one or more Connectors and Resources assigned to it. You must create a Remote Network before creating Resources and Connectors that belong to it. For more information, see Twingate's [documentation](https://docs.twingate.com/docs/remote-networks).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as twingate from "@twingate/pulumi-twingate";
 *
 * const all = twingate.getTwingateRemoteNetworks({
 *     name: "<your network's name>",
 * });
 * ```
 */
export declare function getTwingateRemoteNetworks(args?: GetTwingateRemoteNetworksArgs, opts?: pulumi.InvokeOptions): Promise<GetTwingateRemoteNetworksResult>;
/**
 * A collection of arguments for invoking getTwingateRemoteNetworks.
 */
export interface GetTwingateRemoteNetworksArgs {
    /**
     * Returns only remote networks that exactly match this name. If no options are passed it will return all remote networks. Only one option can be used at a time.
     */
    name?: string;
    /**
     * Match when the value exist in the name of the remote network.
     */
    nameContains?: string;
    /**
     * Match when the exact value does not exist in the name of the remote network.
     */
    nameExclude?: string;
    /**
     * The name of the remote network must start with the value.
     */
    namePrefix?: string;
    /**
     * The regular expression match of the name of the remote network.
     */
    nameRegexp?: string;
    /**
     * The name of the remote network must end with the value.
     */
    nameSuffix?: string;
}
/**
 * A collection of values returned by getTwingateRemoteNetworks.
 */
export interface GetTwingateRemoteNetworksResult {
    /**
     * The ID of this resource.
     */
    readonly id: string;
    /**
     * Returns only remote networks that exactly match this name. If no options are passed it will return all remote networks. Only one option can be used at a time.
     */
    readonly name?: string;
    /**
     * Match when the value exist in the name of the remote network.
     */
    readonly nameContains?: string;
    /**
     * Match when the exact value does not exist in the name of the remote network.
     */
    readonly nameExclude?: string;
    /**
     * The name of the remote network must start with the value.
     */
    readonly namePrefix?: string;
    /**
     * The regular expression match of the name of the remote network.
     */
    readonly nameRegexp?: string;
    /**
     * The name of the remote network must end with the value.
     */
    readonly nameSuffix?: string;
    /**
     * List of Remote Networks
     */
    readonly remoteNetworks: outputs.GetTwingateRemoteNetworksRemoteNetwork[];
}
/**
 * A Remote Network represents a single private network in Twingate that can have one or more Connectors and Resources assigned to it. You must create a Remote Network before creating Resources and Connectors that belong to it. For more information, see Twingate's [documentation](https://docs.twingate.com/docs/remote-networks).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as twingate from "@twingate/pulumi-twingate";
 *
 * const all = twingate.getTwingateRemoteNetworks({
 *     name: "<your network's name>",
 * });
 * ```
 */
export declare function getTwingateRemoteNetworksOutput(args?: GetTwingateRemoteNetworksOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTwingateRemoteNetworksResult>;
/**
 * A collection of arguments for invoking getTwingateRemoteNetworks.
 */
export interface GetTwingateRemoteNetworksOutputArgs {
    /**
     * Returns only remote networks that exactly match this name. If no options are passed it will return all remote networks. Only one option can be used at a time.
     */
    name?: pulumi.Input<string>;
    /**
     * Match when the value exist in the name of the remote network.
     */
    nameContains?: pulumi.Input<string>;
    /**
     * Match when the exact value does not exist in the name of the remote network.
     */
    nameExclude?: pulumi.Input<string>;
    /**
     * The name of the remote network must start with the value.
     */
    namePrefix?: pulumi.Input<string>;
    /**
     * The regular expression match of the name of the remote network.
     */
    nameRegexp?: pulumi.Input<string>;
    /**
     * The name of the remote network must end with the value.
     */
    nameSuffix?: pulumi.Input<string>;
}
