/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataprocSessionTemplateConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#id DataprocSessionTemplate#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;
    /**
    * The labels to associate with this session template.
    *
    *
    * **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.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#labels DataprocSessionTemplate#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * The location in which the session template will be created in.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#location DataprocSessionTemplate#location}
    */
    readonly location?: string;
    /**
    * The resource name of the session template in the following format:
    * projects/{project}/locations/{location}/sessionTemplates/{template_id}
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#name DataprocSessionTemplate#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#project DataprocSessionTemplate#project}
    */
    readonly project?: string;
    /**
    * environment_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#environment_config DataprocSessionTemplate#environment_config}
    */
    readonly environmentConfig?: DataprocSessionTemplateEnvironmentConfig;
    /**
    * jupyter_session block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#jupyter_session DataprocSessionTemplate#jupyter_session}
    */
    readonly jupyterSession?: DataprocSessionTemplateJupyterSession;
    /**
    * runtime_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#runtime_config DataprocSessionTemplate#runtime_config}
    */
    readonly runtimeConfig?: DataprocSessionTemplateRuntimeConfig;
    /**
    * spark_connect_session block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#spark_connect_session DataprocSessionTemplate#spark_connect_session}
    */
    readonly sparkConnectSession?: DataprocSessionTemplateSparkConnectSession;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#timeouts DataprocSessionTemplate#timeouts}
    */
    readonly timeouts?: DataprocSessionTemplateTimeouts;
}
export interface DataprocSessionTemplateEnvironmentConfigExecutionConfig {
    /**
    * The Cloud KMS key to use for encryption.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#kms_key DataprocSessionTemplate#kms_key}
    */
    readonly kmsKey?: string;
    /**
    * Tags used for network traffic control.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#network_tags DataprocSessionTemplate#network_tags}
    */
    readonly networkTags?: string[];
    /**
    * Service account that used to execute workload.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#service_account DataprocSessionTemplate#service_account}
    */
    readonly serviceAccount?: string;
    /**
    * A Cloud Storage bucket used to stage workload dependencies, config files, and store
    * workload output and other ephemeral data, such as Spark history files. If you do not specify a staging bucket,
    * Cloud Dataproc will determine a Cloud Storage location according to the region where your workload is running,
    * and then create and manage project-level, per-location staging and temporary buckets.
    * This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#staging_bucket DataprocSessionTemplate#staging_bucket}
    */
    readonly stagingBucket?: string;
    /**
    * Subnetwork configuration for workload execution.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#subnetwork_uri DataprocSessionTemplate#subnetwork_uri}
    */
    readonly subnetworkUri?: string;
    /**
    * The duration after which the workload will be terminated.
    * When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing
    * work to finish. If ttl is not specified for a session workload, the workload will be allowed to run until it
    * exits naturally (or run forever without exiting). If ttl is not specified for an interactive session,
    * it defaults to 24 hours. If ttl is not specified for a batch that uses 2.1+ runtime version, it defaults to 4 hours.
    * Minimum value is 10 minutes; maximum value is 14 days. If both ttl and idleTtl are specified (for an interactive session),
    * the conditions are treated as OR conditions: the workload will be terminated when it has been idle for idleTtl or
    * when ttl has been exceeded, whichever occurs first.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#ttl DataprocSessionTemplate#ttl}
    */
    readonly ttl?: string;
}
export declare function dataprocSessionTemplateEnvironmentConfigExecutionConfigToTerraform(struct?: DataprocSessionTemplateEnvironmentConfigExecutionConfigOutputReference | DataprocSessionTemplateEnvironmentConfigExecutionConfig): any;
export declare function dataprocSessionTemplateEnvironmentConfigExecutionConfigToHclTerraform(struct?: DataprocSessionTemplateEnvironmentConfigExecutionConfigOutputReference | DataprocSessionTemplateEnvironmentConfigExecutionConfig): any;
export declare class DataprocSessionTemplateEnvironmentConfigExecutionConfigOutputReference 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(): DataprocSessionTemplateEnvironmentConfigExecutionConfig | undefined;
    set internalValue(value: DataprocSessionTemplateEnvironmentConfigExecutionConfig | undefined);
    private _kmsKey?;
    get kmsKey(): string;
    set kmsKey(value: string);
    resetKmsKey(): void;
    get kmsKeyInput(): string | undefined;
    private _networkTags?;
    get networkTags(): string[];
    set networkTags(value: string[]);
    resetNetworkTags(): void;
    get networkTagsInput(): string[] | undefined;
    private _serviceAccount?;
    get serviceAccount(): string;
    set serviceAccount(value: string);
    resetServiceAccount(): void;
    get serviceAccountInput(): string | undefined;
    private _stagingBucket?;
    get stagingBucket(): string;
    set stagingBucket(value: string);
    resetStagingBucket(): void;
    get stagingBucketInput(): string | undefined;
    private _subnetworkUri?;
    get subnetworkUri(): string;
    set subnetworkUri(value: string);
    resetSubnetworkUri(): void;
    get subnetworkUriInput(): string | undefined;
    private _ttl?;
    get ttl(): string;
    set ttl(value: string);
    resetTtl(): void;
    get ttlInput(): string | undefined;
}
export interface DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig {
    /**
    * Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#dataproc_cluster DataprocSessionTemplate#dataproc_cluster}
    */
    readonly dataprocCluster?: string;
}
export declare function dataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigToTerraform(struct?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigOutputReference | DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig): any;
export declare function dataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigToHclTerraform(struct?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigOutputReference | DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig): any;
export declare class DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigOutputReference 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(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig | undefined;
    set internalValue(value: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig | undefined);
    private _dataprocCluster?;
    get dataprocCluster(): string;
    set dataprocCluster(value: string);
    resetDataprocCluster(): void;
    get dataprocClusterInput(): string | undefined;
}
export interface DataprocSessionTemplateEnvironmentConfigPeripheralsConfig {
    /**
    * Resource name of an existing Dataproc Metastore service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#metastore_service DataprocSessionTemplate#metastore_service}
    */
    readonly metastoreService?: string;
    /**
    * spark_history_server_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#spark_history_server_config DataprocSessionTemplate#spark_history_server_config}
    */
    readonly sparkHistoryServerConfig?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig;
}
export declare function dataprocSessionTemplateEnvironmentConfigPeripheralsConfigToTerraform(struct?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigOutputReference | DataprocSessionTemplateEnvironmentConfigPeripheralsConfig): any;
export declare function dataprocSessionTemplateEnvironmentConfigPeripheralsConfigToHclTerraform(struct?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigOutputReference | DataprocSessionTemplateEnvironmentConfigPeripheralsConfig): any;
export declare class DataprocSessionTemplateEnvironmentConfigPeripheralsConfigOutputReference 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(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfig | undefined;
    set internalValue(value: DataprocSessionTemplateEnvironmentConfigPeripheralsConfig | undefined);
    private _metastoreService?;
    get metastoreService(): string;
    set metastoreService(value: string);
    resetMetastoreService(): void;
    get metastoreServiceInput(): string | undefined;
    private _sparkHistoryServerConfig;
    get sparkHistoryServerConfig(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfigOutputReference;
    putSparkHistoryServerConfig(value: DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig): void;
    resetSparkHistoryServerConfig(): void;
    get sparkHistoryServerConfigInput(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfigSparkHistoryServerConfig | undefined;
}
export interface DataprocSessionTemplateEnvironmentConfig {
    /**
    * execution_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#execution_config DataprocSessionTemplate#execution_config}
    */
    readonly executionConfig?: DataprocSessionTemplateEnvironmentConfigExecutionConfig;
    /**
    * peripherals_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#peripherals_config DataprocSessionTemplate#peripherals_config}
    */
    readonly peripheralsConfig?: DataprocSessionTemplateEnvironmentConfigPeripheralsConfig;
}
export declare function dataprocSessionTemplateEnvironmentConfigToTerraform(struct?: DataprocSessionTemplateEnvironmentConfigOutputReference | DataprocSessionTemplateEnvironmentConfig): any;
export declare function dataprocSessionTemplateEnvironmentConfigToHclTerraform(struct?: DataprocSessionTemplateEnvironmentConfigOutputReference | DataprocSessionTemplateEnvironmentConfig): any;
export declare class DataprocSessionTemplateEnvironmentConfigOutputReference 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(): DataprocSessionTemplateEnvironmentConfig | undefined;
    set internalValue(value: DataprocSessionTemplateEnvironmentConfig | undefined);
    private _executionConfig;
    get executionConfig(): DataprocSessionTemplateEnvironmentConfigExecutionConfigOutputReference;
    putExecutionConfig(value: DataprocSessionTemplateEnvironmentConfigExecutionConfig): void;
    resetExecutionConfig(): void;
    get executionConfigInput(): DataprocSessionTemplateEnvironmentConfigExecutionConfig | undefined;
    private _peripheralsConfig;
    get peripheralsConfig(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfigOutputReference;
    putPeripheralsConfig(value: DataprocSessionTemplateEnvironmentConfigPeripheralsConfig): void;
    resetPeripheralsConfig(): void;
    get peripheralsConfigInput(): DataprocSessionTemplateEnvironmentConfigPeripheralsConfig | undefined;
}
export interface DataprocSessionTemplateJupyterSession {
    /**
    * Display name, shown in the Jupyter kernelspec card.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#display_name DataprocSessionTemplate#display_name}
    */
    readonly displayName?: string;
    /**
    * Kernel to be used with Jupyter interactive session. Possible values: ["PYTHON", "SCALA"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#kernel DataprocSessionTemplate#kernel}
    */
    readonly kernel?: string;
}
export declare function dataprocSessionTemplateJupyterSessionToTerraform(struct?: DataprocSessionTemplateJupyterSessionOutputReference | DataprocSessionTemplateJupyterSession): any;
export declare function dataprocSessionTemplateJupyterSessionToHclTerraform(struct?: DataprocSessionTemplateJupyterSessionOutputReference | DataprocSessionTemplateJupyterSession): any;
export declare class DataprocSessionTemplateJupyterSessionOutputReference 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(): DataprocSessionTemplateJupyterSession | undefined;
    set internalValue(value: DataprocSessionTemplateJupyterSession | undefined);
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _kernel?;
    get kernel(): string;
    set kernel(value: string);
    resetKernel(): void;
    get kernelInput(): string | undefined;
}
export interface DataprocSessionTemplateRuntimeConfig {
    /**
    * Optional custom container image for the job runtime environment. If not specified, a default container image will be used.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#container_image DataprocSessionTemplate#container_image}
    */
    readonly containerImage?: string;
    /**
    * A mapping of property names to values, which are used to configure workload execution.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#properties DataprocSessionTemplate#properties}
    */
    readonly properties?: {
        [key: string]: string;
    };
    /**
    * Version of the session runtime.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#version DataprocSessionTemplate#version}
    */
    readonly version?: string;
}
export declare function dataprocSessionTemplateRuntimeConfigToTerraform(struct?: DataprocSessionTemplateRuntimeConfigOutputReference | DataprocSessionTemplateRuntimeConfig): any;
export declare function dataprocSessionTemplateRuntimeConfigToHclTerraform(struct?: DataprocSessionTemplateRuntimeConfigOutputReference | DataprocSessionTemplateRuntimeConfig): any;
export declare class DataprocSessionTemplateRuntimeConfigOutputReference 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(): DataprocSessionTemplateRuntimeConfig | undefined;
    set internalValue(value: DataprocSessionTemplateRuntimeConfig | undefined);
    private _containerImage?;
    get containerImage(): string;
    set containerImage(value: string);
    resetContainerImage(): void;
    get containerImageInput(): string | undefined;
    private _effectiveProperties;
    get effectiveProperties(): cdktf.StringMap;
    private _properties?;
    get properties(): {
        [key: string]: string;
    };
    set properties(value: {
        [key: string]: string;
    });
    resetProperties(): void;
    get propertiesInput(): {
        [key: string]: string;
    } | undefined;
    private _version?;
    get version(): string;
    set version(value: string);
    resetVersion(): void;
    get versionInput(): string | undefined;
}
export interface DataprocSessionTemplateSparkConnectSession {
}
export declare function dataprocSessionTemplateSparkConnectSessionToTerraform(struct?: DataprocSessionTemplateSparkConnectSessionOutputReference | DataprocSessionTemplateSparkConnectSession): any;
export declare function dataprocSessionTemplateSparkConnectSessionToHclTerraform(struct?: DataprocSessionTemplateSparkConnectSessionOutputReference | DataprocSessionTemplateSparkConnectSession): any;
export declare class DataprocSessionTemplateSparkConnectSessionOutputReference 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(): DataprocSessionTemplateSparkConnectSession | undefined;
    set internalValue(value: DataprocSessionTemplateSparkConnectSession | undefined);
}
export interface DataprocSessionTemplateTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#create DataprocSessionTemplate#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#delete DataprocSessionTemplate#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#update DataprocSessionTemplate#update}
    */
    readonly update?: string;
}
export declare function dataprocSessionTemplateTimeoutsToTerraform(struct?: DataprocSessionTemplateTimeouts | cdktf.IResolvable): any;
export declare function dataprocSessionTemplateTimeoutsToHclTerraform(struct?: DataprocSessionTemplateTimeouts | cdktf.IResolvable): any;
export declare class DataprocSessionTemplateTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @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(): DataprocSessionTemplateTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DataprocSessionTemplateTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template google_dataproc_session_template}
*/
export declare class DataprocSessionTemplate extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_dataproc_session_template";
    /**
    * Generates CDKTF code for importing a DataprocSessionTemplate 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 DataprocSessionTemplate to import
    * @param importFromId The id of the existing DataprocSessionTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/dataproc_session_template#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataprocSessionTemplate 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/google/6.41.0/docs/resources/dataproc_session_template google_dataproc_session_template} 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 DataprocSessionTemplateConfig
    */
    constructor(scope: Construct, id: string, config: DataprocSessionTemplateConfig);
    get createTime(): string;
    get creator(): string;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    get updateTime(): string;
    get uuid(): string;
    private _environmentConfig;
    get environmentConfig(): DataprocSessionTemplateEnvironmentConfigOutputReference;
    putEnvironmentConfig(value: DataprocSessionTemplateEnvironmentConfig): void;
    resetEnvironmentConfig(): void;
    get environmentConfigInput(): DataprocSessionTemplateEnvironmentConfig | undefined;
    private _jupyterSession;
    get jupyterSession(): DataprocSessionTemplateJupyterSessionOutputReference;
    putJupyterSession(value: DataprocSessionTemplateJupyterSession): void;
    resetJupyterSession(): void;
    get jupyterSessionInput(): DataprocSessionTemplateJupyterSession | undefined;
    private _runtimeConfig;
    get runtimeConfig(): DataprocSessionTemplateRuntimeConfigOutputReference;
    putRuntimeConfig(value: DataprocSessionTemplateRuntimeConfig): void;
    resetRuntimeConfig(): void;
    get runtimeConfigInput(): DataprocSessionTemplateRuntimeConfig | undefined;
    private _sparkConnectSession;
    get sparkConnectSession(): DataprocSessionTemplateSparkConnectSessionOutputReference;
    putSparkConnectSession(value: DataprocSessionTemplateSparkConnectSession): void;
    resetSparkConnectSession(): void;
    get sparkConnectSessionInput(): DataprocSessionTemplateSparkConnectSession | undefined;
    private _timeouts;
    get timeouts(): DataprocSessionTemplateTimeoutsOutputReference;
    putTimeouts(value: DataprocSessionTemplateTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DataprocSessionTemplateTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
