/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface EmrserverlessApplicationConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#architecture EmrserverlessApplication#architecture}
    */
    readonly architecture?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#id EmrserverlessApplication#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#name EmrserverlessApplication#name}
    */
    readonly name: string;
    /**
    * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#region EmrserverlessApplication#region}
    */
    readonly region?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#release_label EmrserverlessApplication#release_label}
    */
    readonly releaseLabel: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#tags EmrserverlessApplication#tags}
    */
    readonly tags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#tags_all EmrserverlessApplication#tags_all}
    */
    readonly tagsAll?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#type EmrserverlessApplication#type}
    */
    readonly type: string;
    /**
    * auto_start_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#auto_start_configuration EmrserverlessApplication#auto_start_configuration}
    */
    readonly autoStartConfiguration?: EmrserverlessApplicationAutoStartConfiguration;
    /**
    * auto_stop_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#auto_stop_configuration EmrserverlessApplication#auto_stop_configuration}
    */
    readonly autoStopConfiguration?: EmrserverlessApplicationAutoStopConfiguration;
    /**
    * image_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#image_configuration EmrserverlessApplication#image_configuration}
    */
    readonly imageConfiguration?: EmrserverlessApplicationImageConfiguration;
    /**
    * initial_capacity block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#initial_capacity EmrserverlessApplication#initial_capacity}
    */
    readonly initialCapacity?: EmrserverlessApplicationInitialCapacity[] | cdktf.IResolvable;
    /**
    * interactive_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#interactive_configuration EmrserverlessApplication#interactive_configuration}
    */
    readonly interactiveConfiguration?: EmrserverlessApplicationInteractiveConfiguration;
    /**
    * maximum_capacity block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#maximum_capacity EmrserverlessApplication#maximum_capacity}
    */
    readonly maximumCapacity?: EmrserverlessApplicationMaximumCapacity;
    /**
    * monitoring_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#monitoring_configuration EmrserverlessApplication#monitoring_configuration}
    */
    readonly monitoringConfiguration?: EmrserverlessApplicationMonitoringConfiguration;
    /**
    * network_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#network_configuration EmrserverlessApplication#network_configuration}
    */
    readonly networkConfiguration?: EmrserverlessApplicationNetworkConfiguration;
    /**
    * runtime_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#runtime_configuration EmrserverlessApplication#runtime_configuration}
    */
    readonly runtimeConfiguration?: EmrserverlessApplicationRuntimeConfiguration[] | cdktf.IResolvable;
    /**
    * scheduler_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#scheduler_configuration EmrserverlessApplication#scheduler_configuration}
    */
    readonly schedulerConfiguration?: EmrserverlessApplicationSchedulerConfiguration;
}
export interface EmrserverlessApplicationAutoStartConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#enabled EmrserverlessApplication#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
}
export declare function emrserverlessApplicationAutoStartConfigurationToTerraform(struct?: EmrserverlessApplicationAutoStartConfigurationOutputReference | EmrserverlessApplicationAutoStartConfiguration): any;
export declare function emrserverlessApplicationAutoStartConfigurationToHclTerraform(struct?: EmrserverlessApplicationAutoStartConfigurationOutputReference | EmrserverlessApplicationAutoStartConfiguration): any;
export declare class EmrserverlessApplicationAutoStartConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationAutoStartConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationAutoStartConfiguration | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface EmrserverlessApplicationAutoStopConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#enabled EmrserverlessApplication#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#idle_timeout_minutes EmrserverlessApplication#idle_timeout_minutes}
    */
    readonly idleTimeoutMinutes?: number;
}
export declare function emrserverlessApplicationAutoStopConfigurationToTerraform(struct?: EmrserverlessApplicationAutoStopConfigurationOutputReference | EmrserverlessApplicationAutoStopConfiguration): any;
export declare function emrserverlessApplicationAutoStopConfigurationToHclTerraform(struct?: EmrserverlessApplicationAutoStopConfigurationOutputReference | EmrserverlessApplicationAutoStopConfiguration): any;
export declare class EmrserverlessApplicationAutoStopConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationAutoStopConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationAutoStopConfiguration | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _idleTimeoutMinutes?;
    get idleTimeoutMinutes(): number;
    set idleTimeoutMinutes(value: number);
    resetIdleTimeoutMinutes(): void;
    get idleTimeoutMinutesInput(): number | undefined;
}
export interface EmrserverlessApplicationImageConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#image_uri EmrserverlessApplication#image_uri}
    */
    readonly imageUri: string;
}
export declare function emrserverlessApplicationImageConfigurationToTerraform(struct?: EmrserverlessApplicationImageConfigurationOutputReference | EmrserverlessApplicationImageConfiguration): any;
export declare function emrserverlessApplicationImageConfigurationToHclTerraform(struct?: EmrserverlessApplicationImageConfigurationOutputReference | EmrserverlessApplicationImageConfiguration): any;
export declare class EmrserverlessApplicationImageConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationImageConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationImageConfiguration | undefined);
    private _imageUri?;
    get imageUri(): string;
    set imageUri(value: string);
    get imageUriInput(): string | undefined;
}
export interface EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#cpu EmrserverlessApplication#cpu}
    */
    readonly cpu: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#disk EmrserverlessApplication#disk}
    */
    readonly disk?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#memory EmrserverlessApplication#memory}
    */
    readonly memory: string;
}
export declare function emrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationToTerraform(struct?: EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationOutputReference | EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration): any;
export declare function emrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationToHclTerraform(struct?: EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationOutputReference | EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration): any;
export declare class EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration | undefined);
    private _cpu?;
    get cpu(): string;
    set cpu(value: string);
    get cpuInput(): string | undefined;
    private _disk?;
    get disk(): string;
    set disk(value: string);
    resetDisk(): void;
    get diskInput(): string | undefined;
    private _memory?;
    get memory(): string;
    set memory(value: string);
    get memoryInput(): string | undefined;
}
export interface EmrserverlessApplicationInitialCapacityInitialCapacityConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#worker_count EmrserverlessApplication#worker_count}
    */
    readonly workerCount: number;
    /**
    * worker_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#worker_configuration EmrserverlessApplication#worker_configuration}
    */
    readonly workerConfiguration?: EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration;
}
export declare function emrserverlessApplicationInitialCapacityInitialCapacityConfigToTerraform(struct?: EmrserverlessApplicationInitialCapacityInitialCapacityConfigOutputReference | EmrserverlessApplicationInitialCapacityInitialCapacityConfig): any;
export declare function emrserverlessApplicationInitialCapacityInitialCapacityConfigToHclTerraform(struct?: EmrserverlessApplicationInitialCapacityInitialCapacityConfigOutputReference | EmrserverlessApplicationInitialCapacityInitialCapacityConfig): any;
export declare class EmrserverlessApplicationInitialCapacityInitialCapacityConfigOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationInitialCapacityInitialCapacityConfig | undefined;
    set internalValue(value: EmrserverlessApplicationInitialCapacityInitialCapacityConfig | undefined);
    private _workerCount?;
    get workerCount(): number;
    set workerCount(value: number);
    get workerCountInput(): number | undefined;
    private _workerConfiguration;
    get workerConfiguration(): EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfigurationOutputReference;
    putWorkerConfiguration(value: EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration): void;
    resetWorkerConfiguration(): void;
    get workerConfigurationInput(): EmrserverlessApplicationInitialCapacityInitialCapacityConfigWorkerConfiguration | undefined;
}
export interface EmrserverlessApplicationInitialCapacity {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#initial_capacity_type EmrserverlessApplication#initial_capacity_type}
    */
    readonly initialCapacityType: string;
    /**
    * initial_capacity_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#initial_capacity_config EmrserverlessApplication#initial_capacity_config}
    */
    readonly initialCapacityConfig?: EmrserverlessApplicationInitialCapacityInitialCapacityConfig;
}
export declare function emrserverlessApplicationInitialCapacityToTerraform(struct?: EmrserverlessApplicationInitialCapacity | cdktf.IResolvable): any;
export declare function emrserverlessApplicationInitialCapacityToHclTerraform(struct?: EmrserverlessApplicationInitialCapacity | cdktf.IResolvable): any;
export declare class EmrserverlessApplicationInitialCapacityOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): EmrserverlessApplicationInitialCapacity | cdktf.IResolvable | undefined;
    set internalValue(value: EmrserverlessApplicationInitialCapacity | cdktf.IResolvable | undefined);
    private _initialCapacityType?;
    get initialCapacityType(): string;
    set initialCapacityType(value: string);
    get initialCapacityTypeInput(): string | undefined;
    private _initialCapacityConfig;
    get initialCapacityConfig(): EmrserverlessApplicationInitialCapacityInitialCapacityConfigOutputReference;
    putInitialCapacityConfig(value: EmrserverlessApplicationInitialCapacityInitialCapacityConfig): void;
    resetInitialCapacityConfig(): void;
    get initialCapacityConfigInput(): EmrserverlessApplicationInitialCapacityInitialCapacityConfig | undefined;
}
export declare class EmrserverlessApplicationInitialCapacityList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: EmrserverlessApplicationInitialCapacity[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): EmrserverlessApplicationInitialCapacityOutputReference;
}
export interface EmrserverlessApplicationInteractiveConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#livy_endpoint_enabled EmrserverlessApplication#livy_endpoint_enabled}
    */
    readonly livyEndpointEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#studio_enabled EmrserverlessApplication#studio_enabled}
    */
    readonly studioEnabled?: boolean | cdktf.IResolvable;
}
export declare function emrserverlessApplicationInteractiveConfigurationToTerraform(struct?: EmrserverlessApplicationInteractiveConfigurationOutputReference | EmrserverlessApplicationInteractiveConfiguration): any;
export declare function emrserverlessApplicationInteractiveConfigurationToHclTerraform(struct?: EmrserverlessApplicationInteractiveConfigurationOutputReference | EmrserverlessApplicationInteractiveConfiguration): any;
export declare class EmrserverlessApplicationInteractiveConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationInteractiveConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationInteractiveConfiguration | undefined);
    private _livyEndpointEnabled?;
    get livyEndpointEnabled(): boolean | cdktf.IResolvable;
    set livyEndpointEnabled(value: boolean | cdktf.IResolvable);
    resetLivyEndpointEnabled(): void;
    get livyEndpointEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _studioEnabled?;
    get studioEnabled(): boolean | cdktf.IResolvable;
    set studioEnabled(value: boolean | cdktf.IResolvable);
    resetStudioEnabled(): void;
    get studioEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface EmrserverlessApplicationMaximumCapacity {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#cpu EmrserverlessApplication#cpu}
    */
    readonly cpu: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#disk EmrserverlessApplication#disk}
    */
    readonly disk?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#memory EmrserverlessApplication#memory}
    */
    readonly memory: string;
}
export declare function emrserverlessApplicationMaximumCapacityToTerraform(struct?: EmrserverlessApplicationMaximumCapacityOutputReference | EmrserverlessApplicationMaximumCapacity): any;
export declare function emrserverlessApplicationMaximumCapacityToHclTerraform(struct?: EmrserverlessApplicationMaximumCapacityOutputReference | EmrserverlessApplicationMaximumCapacity): any;
export declare class EmrserverlessApplicationMaximumCapacityOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMaximumCapacity | undefined;
    set internalValue(value: EmrserverlessApplicationMaximumCapacity | undefined);
    private _cpu?;
    get cpu(): string;
    set cpu(value: string);
    get cpuInput(): string | undefined;
    private _disk?;
    get disk(): string;
    set disk(value: string);
    resetDisk(): void;
    get diskInput(): string | undefined;
    private _memory?;
    get memory(): string;
    set memory(value: string);
    get memoryInput(): string | undefined;
}
export interface EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#name EmrserverlessApplication#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#values EmrserverlessApplication#values}
    */
    readonly values: string[];
}
export declare function emrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes | cdktf.IResolvable): any;
export declare function emrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes | cdktf.IResolvable): any;
export declare class EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes | cdktf.IResolvable | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _values?;
    get values(): string[];
    set values(value: string[]);
    get valuesInput(): string[] | undefined;
}
export declare class EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesOutputReference;
}
export interface EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#enabled EmrserverlessApplication#enabled}
    */
    readonly enabled: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#encryption_key_arn EmrserverlessApplication#encryption_key_arn}
    */
    readonly encryptionKeyArn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#log_group_name EmrserverlessApplication#log_group_name}
    */
    readonly logGroupName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#log_stream_name_prefix EmrserverlessApplication#log_stream_name_prefix}
    */
    readonly logStreamNamePrefix?: string;
    /**
    * log_types block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#log_types EmrserverlessApplication#log_types}
    */
    readonly logTypes?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes[] | cdktf.IResolvable;
}
export declare function emrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration): any;
export declare function emrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration): any;
export declare class EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _encryptionKeyArn?;
    get encryptionKeyArn(): string;
    set encryptionKeyArn(value: string);
    resetEncryptionKeyArn(): void;
    get encryptionKeyArnInput(): string | undefined;
    private _logGroupName?;
    get logGroupName(): string;
    set logGroupName(value: string);
    resetLogGroupName(): void;
    get logGroupNameInput(): string | undefined;
    private _logStreamNamePrefix?;
    get logStreamNamePrefix(): string;
    set logStreamNamePrefix(value: string);
    resetLogStreamNamePrefix(): void;
    get logStreamNamePrefixInput(): string | undefined;
    private _logTypes;
    get logTypes(): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypesList;
    putLogTypes(value: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes[] | cdktf.IResolvable): void;
    resetLogTypes(): void;
    get logTypesInput(): cdktf.IResolvable | EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationLogTypes[] | undefined;
}
export interface EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#enabled EmrserverlessApplication#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#encryption_key_arn EmrserverlessApplication#encryption_key_arn}
    */
    readonly encryptionKeyArn?: string;
}
export declare function emrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration): any;
export declare function emrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration): any;
export declare class EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _encryptionKeyArn?;
    get encryptionKeyArn(): string;
    set encryptionKeyArn(value: string);
    resetEncryptionKeyArn(): void;
    get encryptionKeyArnInput(): string | undefined;
}
export interface EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#remote_write_url EmrserverlessApplication#remote_write_url}
    */
    readonly remoteWriteUrl?: string;
}
export declare function emrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration): any;
export declare function emrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration): any;
export declare class EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration | undefined);
    private _remoteWriteUrl?;
    get remoteWriteUrl(): string;
    set remoteWriteUrl(value: string);
    resetRemoteWriteUrl(): void;
    get remoteWriteUrlInput(): string | undefined;
}
export interface EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#encryption_key_arn EmrserverlessApplication#encryption_key_arn}
    */
    readonly encryptionKeyArn?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#log_uri EmrserverlessApplication#log_uri}
    */
    readonly logUri?: string;
}
export declare function emrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration): any;
export declare function emrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration): any;
export declare class EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration | undefined);
    private _encryptionKeyArn?;
    get encryptionKeyArn(): string;
    set encryptionKeyArn(value: string);
    resetEncryptionKeyArn(): void;
    get encryptionKeyArnInput(): string | undefined;
    private _logUri?;
    get logUri(): string;
    set logUri(value: string);
    resetLogUri(): void;
    get logUriInput(): string | undefined;
}
export interface EmrserverlessApplicationMonitoringConfiguration {
    /**
    * cloudwatch_logging_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#cloudwatch_logging_configuration EmrserverlessApplication#cloudwatch_logging_configuration}
    */
    readonly cloudwatchLoggingConfiguration?: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration;
    /**
    * managed_persistence_monitoring_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#managed_persistence_monitoring_configuration EmrserverlessApplication#managed_persistence_monitoring_configuration}
    */
    readonly managedPersistenceMonitoringConfiguration?: EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration;
    /**
    * prometheus_monitoring_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#prometheus_monitoring_configuration EmrserverlessApplication#prometheus_monitoring_configuration}
    */
    readonly prometheusMonitoringConfiguration?: EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration;
    /**
    * s3_monitoring_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#s3_monitoring_configuration EmrserverlessApplication#s3_monitoring_configuration}
    */
    readonly s3MonitoringConfiguration?: EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration;
}
export declare function emrserverlessApplicationMonitoringConfigurationToTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfiguration): any;
export declare function emrserverlessApplicationMonitoringConfigurationToHclTerraform(struct?: EmrserverlessApplicationMonitoringConfigurationOutputReference | EmrserverlessApplicationMonitoringConfiguration): any;
export declare class EmrserverlessApplicationMonitoringConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationMonitoringConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationMonitoringConfiguration | undefined);
    private _cloudwatchLoggingConfiguration;
    get cloudwatchLoggingConfiguration(): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfigurationOutputReference;
    putCloudwatchLoggingConfiguration(value: EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration): void;
    resetCloudwatchLoggingConfiguration(): void;
    get cloudwatchLoggingConfigurationInput(): EmrserverlessApplicationMonitoringConfigurationCloudwatchLoggingConfiguration | undefined;
    private _managedPersistenceMonitoringConfiguration;
    get managedPersistenceMonitoringConfiguration(): EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfigurationOutputReference;
    putManagedPersistenceMonitoringConfiguration(value: EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration): void;
    resetManagedPersistenceMonitoringConfiguration(): void;
    get managedPersistenceMonitoringConfigurationInput(): EmrserverlessApplicationMonitoringConfigurationManagedPersistenceMonitoringConfiguration | undefined;
    private _prometheusMonitoringConfiguration;
    get prometheusMonitoringConfiguration(): EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfigurationOutputReference;
    putPrometheusMonitoringConfiguration(value: EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration): void;
    resetPrometheusMonitoringConfiguration(): void;
    get prometheusMonitoringConfigurationInput(): EmrserverlessApplicationMonitoringConfigurationPrometheusMonitoringConfiguration | undefined;
    private _s3MonitoringConfiguration;
    get s3MonitoringConfiguration(): EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfigurationOutputReference;
    putS3MonitoringConfiguration(value: EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration): void;
    resetS3MonitoringConfiguration(): void;
    get s3MonitoringConfigurationInput(): EmrserverlessApplicationMonitoringConfigurationS3MonitoringConfiguration | undefined;
}
export interface EmrserverlessApplicationNetworkConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#security_group_ids EmrserverlessApplication#security_group_ids}
    */
    readonly securityGroupIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#subnet_ids EmrserverlessApplication#subnet_ids}
    */
    readonly subnetIds?: string[];
}
export declare function emrserverlessApplicationNetworkConfigurationToTerraform(struct?: EmrserverlessApplicationNetworkConfigurationOutputReference | EmrserverlessApplicationNetworkConfiguration): any;
export declare function emrserverlessApplicationNetworkConfigurationToHclTerraform(struct?: EmrserverlessApplicationNetworkConfigurationOutputReference | EmrserverlessApplicationNetworkConfiguration): any;
export declare class EmrserverlessApplicationNetworkConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationNetworkConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationNetworkConfiguration | undefined);
    private _securityGroupIds?;
    get securityGroupIds(): string[];
    set securityGroupIds(value: string[]);
    resetSecurityGroupIds(): void;
    get securityGroupIdsInput(): string[] | undefined;
    private _subnetIds?;
    get subnetIds(): string[];
    set subnetIds(value: string[]);
    resetSubnetIds(): void;
    get subnetIdsInput(): string[] | undefined;
}
export interface EmrserverlessApplicationRuntimeConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#classification EmrserverlessApplication#classification}
    */
    readonly classification: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#properties EmrserverlessApplication#properties}
    */
    readonly properties?: {
        [key: string]: string;
    };
}
export declare function emrserverlessApplicationRuntimeConfigurationToTerraform(struct?: EmrserverlessApplicationRuntimeConfiguration | cdktf.IResolvable): any;
export declare function emrserverlessApplicationRuntimeConfigurationToHclTerraform(struct?: EmrserverlessApplicationRuntimeConfiguration | cdktf.IResolvable): any;
export declare class EmrserverlessApplicationRuntimeConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): EmrserverlessApplicationRuntimeConfiguration | cdktf.IResolvable | undefined;
    set internalValue(value: EmrserverlessApplicationRuntimeConfiguration | cdktf.IResolvable | undefined);
    private _classification?;
    get classification(): string;
    set classification(value: string);
    get classificationInput(): string | undefined;
    private _properties?;
    get properties(): {
        [key: string]: string;
    };
    set properties(value: {
        [key: string]: string;
    });
    resetProperties(): void;
    get propertiesInput(): {
        [key: string]: string;
    } | undefined;
}
export declare class EmrserverlessApplicationRuntimeConfigurationList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: EmrserverlessApplicationRuntimeConfiguration[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): EmrserverlessApplicationRuntimeConfigurationOutputReference;
}
export interface EmrserverlessApplicationSchedulerConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#max_concurrent_runs EmrserverlessApplication#max_concurrent_runs}
    */
    readonly maxConcurrentRuns?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#queue_timeout_minutes EmrserverlessApplication#queue_timeout_minutes}
    */
    readonly queueTimeoutMinutes?: number;
}
export declare function emrserverlessApplicationSchedulerConfigurationToTerraform(struct?: EmrserverlessApplicationSchedulerConfigurationOutputReference | EmrserverlessApplicationSchedulerConfiguration): any;
export declare function emrserverlessApplicationSchedulerConfigurationToHclTerraform(struct?: EmrserverlessApplicationSchedulerConfigurationOutputReference | EmrserverlessApplicationSchedulerConfiguration): any;
export declare class EmrserverlessApplicationSchedulerConfigurationOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): EmrserverlessApplicationSchedulerConfiguration | undefined;
    set internalValue(value: EmrserverlessApplicationSchedulerConfiguration | undefined);
    private _maxConcurrentRuns?;
    get maxConcurrentRuns(): number;
    set maxConcurrentRuns(value: number);
    resetMaxConcurrentRuns(): void;
    get maxConcurrentRunsInput(): number | undefined;
    private _queueTimeoutMinutes?;
    get queueTimeoutMinutes(): number;
    set queueTimeoutMinutes(value: number);
    resetQueueTimeoutMinutes(): void;
    get queueTimeoutMinutesInput(): number | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application aws_emrserverless_application}
*/
export declare class EmrserverlessApplication extends cdktf.TerraformResource {
    static readonly tfResourceType = "aws_emrserverless_application";
    /**
    * Generates CDKTF code for importing a EmrserverlessApplication resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the EmrserverlessApplication to import
    * @param importFromId The id of the existing EmrserverlessApplication that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the EmrserverlessApplication to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/emrserverless_application aws_emrserverless_application} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options EmrserverlessApplicationConfig
    */
    constructor(scope: Construct, id: string, config: EmrserverlessApplicationConfig);
    private _architecture?;
    get architecture(): string;
    set architecture(value: string);
    resetArchitecture(): void;
    get architectureInput(): string | undefined;
    get arn(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _region?;
    get region(): string;
    set region(value: string);
    resetRegion(): void;
    get regionInput(): string | undefined;
    private _releaseLabel?;
    get releaseLabel(): string;
    set releaseLabel(value: string);
    get releaseLabelInput(): string | undefined;
    private _tags?;
    get tags(): {
        [key: string]: string;
    };
    set tags(value: {
        [key: string]: string;
    });
    resetTags(): void;
    get tagsInput(): {
        [key: string]: string;
    } | undefined;
    private _tagsAll?;
    get tagsAll(): {
        [key: string]: string;
    };
    set tagsAll(value: {
        [key: string]: string;
    });
    resetTagsAll(): void;
    get tagsAllInput(): {
        [key: string]: string;
    } | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
    private _autoStartConfiguration;
    get autoStartConfiguration(): EmrserverlessApplicationAutoStartConfigurationOutputReference;
    putAutoStartConfiguration(value: EmrserverlessApplicationAutoStartConfiguration): void;
    resetAutoStartConfiguration(): void;
    get autoStartConfigurationInput(): EmrserverlessApplicationAutoStartConfiguration | undefined;
    private _autoStopConfiguration;
    get autoStopConfiguration(): EmrserverlessApplicationAutoStopConfigurationOutputReference;
    putAutoStopConfiguration(value: EmrserverlessApplicationAutoStopConfiguration): void;
    resetAutoStopConfiguration(): void;
    get autoStopConfigurationInput(): EmrserverlessApplicationAutoStopConfiguration | undefined;
    private _imageConfiguration;
    get imageConfiguration(): EmrserverlessApplicationImageConfigurationOutputReference;
    putImageConfiguration(value: EmrserverlessApplicationImageConfiguration): void;
    resetImageConfiguration(): void;
    get imageConfigurationInput(): EmrserverlessApplicationImageConfiguration | undefined;
    private _initialCapacity;
    get initialCapacity(): EmrserverlessApplicationInitialCapacityList;
    putInitialCapacity(value: EmrserverlessApplicationInitialCapacity[] | cdktf.IResolvable): void;
    resetInitialCapacity(): void;
    get initialCapacityInput(): cdktf.IResolvable | EmrserverlessApplicationInitialCapacity[] | undefined;
    private _interactiveConfiguration;
    get interactiveConfiguration(): EmrserverlessApplicationInteractiveConfigurationOutputReference;
    putInteractiveConfiguration(value: EmrserverlessApplicationInteractiveConfiguration): void;
    resetInteractiveConfiguration(): void;
    get interactiveConfigurationInput(): EmrserverlessApplicationInteractiveConfiguration | undefined;
    private _maximumCapacity;
    get maximumCapacity(): EmrserverlessApplicationMaximumCapacityOutputReference;
    putMaximumCapacity(value: EmrserverlessApplicationMaximumCapacity): void;
    resetMaximumCapacity(): void;
    get maximumCapacityInput(): EmrserverlessApplicationMaximumCapacity | undefined;
    private _monitoringConfiguration;
    get monitoringConfiguration(): EmrserverlessApplicationMonitoringConfigurationOutputReference;
    putMonitoringConfiguration(value: EmrserverlessApplicationMonitoringConfiguration): void;
    resetMonitoringConfiguration(): void;
    get monitoringConfigurationInput(): EmrserverlessApplicationMonitoringConfiguration | undefined;
    private _networkConfiguration;
    get networkConfiguration(): EmrserverlessApplicationNetworkConfigurationOutputReference;
    putNetworkConfiguration(value: EmrserverlessApplicationNetworkConfiguration): void;
    resetNetworkConfiguration(): void;
    get networkConfigurationInput(): EmrserverlessApplicationNetworkConfiguration | undefined;
    private _runtimeConfiguration;
    get runtimeConfiguration(): EmrserverlessApplicationRuntimeConfigurationList;
    putRuntimeConfiguration(value: EmrserverlessApplicationRuntimeConfiguration[] | cdktf.IResolvable): void;
    resetRuntimeConfiguration(): void;
    get runtimeConfigurationInput(): cdktf.IResolvable | EmrserverlessApplicationRuntimeConfiguration[] | undefined;
    private _schedulerConfiguration;
    get schedulerConfiguration(): EmrserverlessApplicationSchedulerConfigurationOutputReference;
    putSchedulerConfiguration(value: EmrserverlessApplicationSchedulerConfiguration): void;
    resetSchedulerConfiguration(): void;
    get schedulerConfigurationInput(): EmrserverlessApplicationSchedulerConfiguration | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
