import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to query the environment list under the APIG instance within Huaweicloud.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const instanceId = config.requireObject("instanceId");
 * const environmentName = config.requireObject("environmentName");
 * const test = huaweicloud.DedicatedApig.getEnvironments({
 *     instanceId: instanceId,
 *     name: environmentName,
 * });
 * ```
 */
export declare function getEnvironments(args: GetEnvironmentsArgs, opts?: pulumi.InvokeOptions): Promise<GetEnvironmentsResult>;
/**
 * A collection of arguments for invoking getEnvironments.
 */
export interface GetEnvironmentsArgs {
    /**
     * Specifies an ID of the APIG dedicated instance to which the API
     * environment belongs.
     */
    instanceId: string;
    /**
     * Specifies the name of the API environment. The API environment name consists of 3 to 64
     * characters, starting with a letter. Only letters, digits and underscores (_) are allowed.
     */
    name?: string;
    /**
     * Specifies the region in which to query the APIG environment list.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
}
/**
 * A collection of values returned by getEnvironments.
 */
export interface GetEnvironmentsResult {
    /**
     * List of APIG environment details. The structure is documented below.
     */
    readonly environments: outputs.DedicatedApig.GetEnvironmentsEnvironment[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceId: string;
    /**
     * The environment name.
     */
    readonly name?: string;
    readonly region?: string;
}
export declare function getEnvironmentsOutput(args: GetEnvironmentsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetEnvironmentsResult>;
/**
 * A collection of arguments for invoking getEnvironments.
 */
export interface GetEnvironmentsOutputArgs {
    /**
     * Specifies an ID of the APIG dedicated instance to which the API
     * environment belongs.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Specifies the name of the API environment. The API environment name consists of 3 to 64
     * characters, starting with a letter. Only letters, digits and underscores (_) are allowed.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the APIG environment list.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
}
