import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Represents a runtime environment that can run migrated mainframe applications.
 */
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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, 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;
    /**
     * The description of the environment.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The target platform for the runtime environment.
     */
    readonly engineType: pulumi.Output<enums.m2.EnvironmentEngineType>;
    /**
     * The version of the runtime engine for the environment.
     */
    readonly engineVersion: pulumi.Output<string | undefined>;
    /**
     * The Amazon Resource Name (ARN) of the runtime environment.
     */
    readonly environmentArn: pulumi.Output<string>;
    /**
     * The unique identifier of the environment.
     */
    readonly environmentId: pulumi.Output<string>;
    /**
     * > AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025. If you would like to use the service, please sign up prior to November 7, 2025. For capabilities similar to AWS Mainframe Modernization Service (Managed Runtime Environment experience) explore AWS Mainframe Modernization Service (Self-Managed Experience). Existing customers can continue to use the service as normal. For more information, see [AWS Mainframe Modernization availability change](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html) .
     *
     * Defines the details of a high availability configuration.
     */
    readonly highAvailabilityConfig: pulumi.Output<outputs.m2.EnvironmentHighAvailabilityConfig | undefined>;
    /**
     * The type of instance underlying the environment.
     */
    readonly instanceType: pulumi.Output<string>;
    /**
     * The ID or the Amazon Resource Name (ARN) of the customer managed KMS Key used for encrypting environment-related resources.
     */
    readonly kmsKeyId: pulumi.Output<string | undefined>;
    /**
     * The name of the environment.
     */
    readonly name: pulumi.Output<string>;
    /**
     * The network type supported by the runtime environment.
     */
    readonly networkType: pulumi.Output<enums.m2.EnvironmentNetworkType | undefined>;
    /**
     * Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.
     */
    readonly preferredMaintenanceWindow: pulumi.Output<string | undefined>;
    /**
     * Specifies whether the environment is publicly accessible.
     */
    readonly publiclyAccessible: pulumi.Output<boolean | undefined>;
    /**
     * The list of security groups for the VPC associated with this environment.
     */
    readonly securityGroupIds: pulumi.Output<string[] | undefined>;
    /**
     * The storage configurations defined for the runtime environment.
     */
    readonly storageConfigurations: pulumi.Output<outputs.m2.EnvironmentStorageConfiguration[] | undefined>;
    /**
     * The unique identifiers of the subnets assigned to this runtime environment.
     */
    readonly subnetIds: pulumi.Output<string[] | undefined>;
    /**
     * Tags associated to this environment.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * 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);
}
/**
 * The set of arguments for constructing a Environment resource.
 */
export interface EnvironmentArgs {
    /**
     * The description of the environment.
     */
    description?: pulumi.Input<string>;
    /**
     * The target platform for the runtime environment.
     */
    engineType: pulumi.Input<enums.m2.EnvironmentEngineType>;
    /**
     * The version of the runtime engine for the environment.
     */
    engineVersion?: pulumi.Input<string>;
    /**
     * > AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025. If you would like to use the service, please sign up prior to November 7, 2025. For capabilities similar to AWS Mainframe Modernization Service (Managed Runtime Environment experience) explore AWS Mainframe Modernization Service (Self-Managed Experience). Existing customers can continue to use the service as normal. For more information, see [AWS Mainframe Modernization availability change](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html) .
     *
     * Defines the details of a high availability configuration.
     */
    highAvailabilityConfig?: pulumi.Input<inputs.m2.EnvironmentHighAvailabilityConfigArgs>;
    /**
     * The type of instance underlying the environment.
     */
    instanceType: pulumi.Input<string>;
    /**
     * The ID or the Amazon Resource Name (ARN) of the customer managed KMS Key used for encrypting environment-related resources.
     */
    kmsKeyId?: pulumi.Input<string>;
    /**
     * The name of the environment.
     */
    name?: pulumi.Input<string>;
    /**
     * The network type supported by the runtime environment.
     */
    networkType?: pulumi.Input<enums.m2.EnvironmentNetworkType>;
    /**
     * Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.
     */
    preferredMaintenanceWindow?: pulumi.Input<string>;
    /**
     * Specifies whether the environment is publicly accessible.
     */
    publiclyAccessible?: pulumi.Input<boolean>;
    /**
     * The list of security groups for the VPC associated with this environment.
     */
    securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The storage configurations defined for the runtime environment.
     */
    storageConfigurations?: pulumi.Input<pulumi.Input<inputs.m2.EnvironmentStorageConfigurationArgs>[]>;
    /**
     * The unique identifiers of the subnets assigned to this runtime environment.
     */
    subnetIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Tags associated to this environment.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
}
