import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * ## Import
 *
 * Environment can be imported using any of these accepted formats:
 *
 * * `projects/{{project}}/locations/{{region}}/environments/{{name}}`
 *
 * * `{{project}}/{{region}}/{{name}}`
 *
 * * `{{name}}`
 *
 * When using the `pulumi import` command, Environment can be imported using one of the formats above. For example:
 *
 * ```sh
 * $ pulumi import gcp:composer/environment:Environment default projects/{{project}}/locations/{{region}}/environments/{{name}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:composer/environment:Environment default {{project}}/{{region}}/{{name}}
 * ```
 *
 * ```sh
 * $ pulumi import gcp:composer/environment:Environment default {{name}}
 * ```
 */
export declare class Environment extends pulumi.CustomResource {
    /**
     * Get an existing Environment resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EnvironmentState, opts?: pulumi.CustomResourceOptions): Environment;
    /**
     * Returns true if the given object is an instance of Environment.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Environment;
    /**
     * Configuration parameters for this environment.
     */
    readonly config: pulumi.Output<outputs.composer.EnvironmentConfig>;
    readonly effectiveLabels: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map
     * are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and
     * must conform to the following regular expression: a-z?. Label values must be between 0 and 63 characters long and must
     * conform to the regular expression (a-z?)?. No more than 64 labels can be associated with a given environment. Both keys
     * and values must be <= 128 bytes in size. **Note**: This field is non-authoritative, and will only manage the labels
     * present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
     * resource.
     */
    readonly labels: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * Name of the environment.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    readonly project: pulumi.Output<string>;
    /**
     * The combination of labels configured directly on the resource and default labels configured on the provider.
     */
    readonly pulumiLabels: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The location or Compute Engine region for the environment.
     */
    readonly region: pulumi.Output<string>;
    /**
     * Configuration options for storage used by Composer environment.
     */
    readonly storageConfig: pulumi.Output<outputs.composer.EnvironmentStorageConfig>;
    /**
     * Create a Environment resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: EnvironmentArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Environment resources.
 */
export interface EnvironmentState {
    /**
     * Configuration parameters for this environment.
     */
    config?: pulumi.Input<inputs.composer.EnvironmentConfig>;
    effectiveLabels?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map
     * are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and
     * must conform to the following regular expression: a-z?. Label values must be between 0 and 63 characters long and must
     * conform to the regular expression (a-z?)?. No more than 64 labels can be associated with a given environment. Both keys
     * and values must be <= 128 bytes in size. **Note**: This field is non-authoritative, and will only manage the labels
     * present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
     * resource.
     */
    labels?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Name of the environment.
     */
    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>;
    /**
     * The combination of labels configured directly on the resource and default labels configured on the provider.
     */
    pulumiLabels?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The location or Compute Engine region for the environment.
     */
    region?: pulumi.Input<string>;
    /**
     * Configuration options for storage used by Composer environment.
     */
    storageConfig?: pulumi.Input<inputs.composer.EnvironmentStorageConfig>;
}
/**
 * The set of arguments for constructing a Environment resource.
 */
export interface EnvironmentArgs {
    /**
     * Configuration parameters for this environment.
     */
    config?: pulumi.Input<inputs.composer.EnvironmentConfig>;
    /**
     * User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map
     * are UTF8 strings that comply with the following restrictions: Label keys must be between 1 and 63 characters long and
     * must conform to the following regular expression: a-z?. Label values must be between 0 and 63 characters long and must
     * conform to the regular expression (a-z?)?. No more than 64 labels can be associated with a given environment. Both keys
     * and values must be <= 128 bytes in size. **Note**: This field is non-authoritative, and will only manage the labels
     * present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
     * resource.
     */
    labels?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Name of the environment.
     */
    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>;
    /**
     * The location or Compute Engine region for the environment.
     */
    region?: pulumi.Input<string>;
    /**
     * Configuration options for storage used by Composer environment.
     */
    storageConfig?: pulumi.Input<inputs.composer.EnvironmentStorageConfig>;
}
