import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatascienceJobConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#artifact_content_disposition DatascienceJob#artifact_content_disposition}
    */
    readonly artifactContentDisposition?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#artifact_content_length DatascienceJob#artifact_content_length}
    */
    readonly artifactContentLength?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#compartment_id DatascienceJob#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#defined_tags DatascienceJob#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#delete_related_job_runs DatascienceJob#delete_related_job_runs}
    */
    readonly deleteRelatedJobRuns?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#description DatascienceJob#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#display_name DatascienceJob#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#freeform_tags DatascienceJob#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#id DatascienceJob#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/oracle/oci/6.18.0/docs/resources/datascience_job#job_artifact DatascienceJob#job_artifact}
    */
    readonly jobArtifact?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#project_id DatascienceJob#project_id}
    */
    readonly projectId: string;
    /**
    * job_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_configuration_details DatascienceJob#job_configuration_details}
    */
    readonly jobConfigurationDetails: DatascienceJobJobConfigurationDetails;
    /**
    * job_environment_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_environment_configuration_details DatascienceJob#job_environment_configuration_details}
    */
    readonly jobEnvironmentConfigurationDetails?: DatascienceJobJobEnvironmentConfigurationDetails;
    /**
    * job_infrastructure_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_infrastructure_configuration_details DatascienceJob#job_infrastructure_configuration_details}
    */
    readonly jobInfrastructureConfigurationDetails: DatascienceJobJobInfrastructureConfigurationDetails;
    /**
    * job_log_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_log_configuration_details DatascienceJob#job_log_configuration_details}
    */
    readonly jobLogConfigurationDetails?: DatascienceJobJobLogConfigurationDetails;
    /**
    * job_storage_mount_configuration_details_list block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_storage_mount_configuration_details_list DatascienceJob#job_storage_mount_configuration_details_list}
    */
    readonly jobStorageMountConfigurationDetailsList?: DatascienceJobJobStorageMountConfigurationDetailsListStruct[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#timeouts DatascienceJob#timeouts}
    */
    readonly timeouts?: DatascienceJobTimeouts;
}
export interface DatascienceJobJobConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#command_line_arguments DatascienceJob#command_line_arguments}
    */
    readonly commandLineArguments?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#environment_variables DatascienceJob#environment_variables}
    */
    readonly environmentVariables?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_type DatascienceJob#job_type}
    */
    readonly jobType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#maximum_runtime_in_minutes DatascienceJob#maximum_runtime_in_minutes}
    */
    readonly maximumRuntimeInMinutes?: string;
}
export declare function datascienceJobJobConfigurationDetailsToTerraform(struct?: DatascienceJobJobConfigurationDetailsOutputReference | DatascienceJobJobConfigurationDetails): any;
export declare function datascienceJobJobConfigurationDetailsToHclTerraform(struct?: DatascienceJobJobConfigurationDetailsOutputReference | DatascienceJobJobConfigurationDetails): any;
export declare class DatascienceJobJobConfigurationDetailsOutputReference 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(): DatascienceJobJobConfigurationDetails | undefined;
    set internalValue(value: DatascienceJobJobConfigurationDetails | undefined);
    private _commandLineArguments?;
    get commandLineArguments(): string;
    set commandLineArguments(value: string);
    resetCommandLineArguments(): void;
    get commandLineArgumentsInput(): string | undefined;
    private _environmentVariables?;
    get environmentVariables(): {
        [key: string]: string;
    };
    set environmentVariables(value: {
        [key: string]: string;
    });
    resetEnvironmentVariables(): void;
    get environmentVariablesInput(): {
        [key: string]: string;
    } | undefined;
    private _jobType?;
    get jobType(): string;
    set jobType(value: string);
    get jobTypeInput(): string | undefined;
    private _maximumRuntimeInMinutes?;
    get maximumRuntimeInMinutes(): string;
    set maximumRuntimeInMinutes(value: string);
    resetMaximumRuntimeInMinutes(): void;
    get maximumRuntimeInMinutesInput(): string | undefined;
}
export interface DatascienceJobJobEnvironmentConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#cmd DatascienceJob#cmd}
    */
    readonly cmd?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#entrypoint DatascienceJob#entrypoint}
    */
    readonly entrypoint?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#image DatascienceJob#image}
    */
    readonly image: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#image_digest DatascienceJob#image_digest}
    */
    readonly imageDigest?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#image_signature_id DatascienceJob#image_signature_id}
    */
    readonly imageSignatureId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_environment_type DatascienceJob#job_environment_type}
    */
    readonly jobEnvironmentType: string;
}
export declare function datascienceJobJobEnvironmentConfigurationDetailsToTerraform(struct?: DatascienceJobJobEnvironmentConfigurationDetailsOutputReference | DatascienceJobJobEnvironmentConfigurationDetails): any;
export declare function datascienceJobJobEnvironmentConfigurationDetailsToHclTerraform(struct?: DatascienceJobJobEnvironmentConfigurationDetailsOutputReference | DatascienceJobJobEnvironmentConfigurationDetails): any;
export declare class DatascienceJobJobEnvironmentConfigurationDetailsOutputReference 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(): DatascienceJobJobEnvironmentConfigurationDetails | undefined;
    set internalValue(value: DatascienceJobJobEnvironmentConfigurationDetails | undefined);
    private _cmd?;
    get cmd(): string[];
    set cmd(value: string[]);
    resetCmd(): void;
    get cmdInput(): string[] | undefined;
    private _entrypoint?;
    get entrypoint(): string[];
    set entrypoint(value: string[]);
    resetEntrypoint(): void;
    get entrypointInput(): string[] | undefined;
    private _image?;
    get image(): string;
    set image(value: string);
    get imageInput(): string | undefined;
    private _imageDigest?;
    get imageDigest(): string;
    set imageDigest(value: string);
    resetImageDigest(): void;
    get imageDigestInput(): string | undefined;
    private _imageSignatureId?;
    get imageSignatureId(): string;
    set imageSignatureId(value: string);
    resetImageSignatureId(): void;
    get imageSignatureIdInput(): string | undefined;
    private _jobEnvironmentType?;
    get jobEnvironmentType(): string;
    set jobEnvironmentType(value: string);
    get jobEnvironmentTypeInput(): string | undefined;
}
export interface DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#memory_in_gbs DatascienceJob#memory_in_gbs}
    */
    readonly memoryInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#ocpus DatascienceJob#ocpus}
    */
    readonly ocpus?: number;
}
export declare function datascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsToTerraform(struct?: DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsOutputReference | DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails): any;
export declare function datascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsToHclTerraform(struct?: DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsOutputReference | DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails): any;
export declare class DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsOutputReference 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(): DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails | undefined;
    set internalValue(value: DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails | undefined);
    private _memoryInGbs?;
    get memoryInGbs(): number;
    set memoryInGbs(value: number);
    resetMemoryInGbs(): void;
    get memoryInGbsInput(): number | undefined;
    private _ocpus?;
    get ocpus(): number;
    set ocpus(value: number);
    resetOcpus(): void;
    get ocpusInput(): number | undefined;
}
export interface DatascienceJobJobInfrastructureConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#block_storage_size_in_gbs DatascienceJob#block_storage_size_in_gbs}
    */
    readonly blockStorageSizeInGbs: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_infrastructure_type DatascienceJob#job_infrastructure_type}
    */
    readonly jobInfrastructureType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#shape_name DatascienceJob#shape_name}
    */
    readonly shapeName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#subnet_id DatascienceJob#subnet_id}
    */
    readonly subnetId?: string;
    /**
    * job_shape_config_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#job_shape_config_details DatascienceJob#job_shape_config_details}
    */
    readonly jobShapeConfigDetails?: DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails;
}
export declare function datascienceJobJobInfrastructureConfigurationDetailsToTerraform(struct?: DatascienceJobJobInfrastructureConfigurationDetailsOutputReference | DatascienceJobJobInfrastructureConfigurationDetails): any;
export declare function datascienceJobJobInfrastructureConfigurationDetailsToHclTerraform(struct?: DatascienceJobJobInfrastructureConfigurationDetailsOutputReference | DatascienceJobJobInfrastructureConfigurationDetails): any;
export declare class DatascienceJobJobInfrastructureConfigurationDetailsOutputReference 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(): DatascienceJobJobInfrastructureConfigurationDetails | undefined;
    set internalValue(value: DatascienceJobJobInfrastructureConfigurationDetails | undefined);
    private _blockStorageSizeInGbs?;
    get blockStorageSizeInGbs(): number;
    set blockStorageSizeInGbs(value: number);
    get blockStorageSizeInGbsInput(): number | undefined;
    private _jobInfrastructureType?;
    get jobInfrastructureType(): string;
    set jobInfrastructureType(value: string);
    get jobInfrastructureTypeInput(): string | undefined;
    private _shapeName?;
    get shapeName(): string;
    set shapeName(value: string);
    get shapeNameInput(): string | undefined;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    resetSubnetId(): void;
    get subnetIdInput(): string | undefined;
    private _jobShapeConfigDetails;
    get jobShapeConfigDetails(): DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetailsOutputReference;
    putJobShapeConfigDetails(value: DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails): void;
    resetJobShapeConfigDetails(): void;
    get jobShapeConfigDetailsInput(): DatascienceJobJobInfrastructureConfigurationDetailsJobShapeConfigDetails | undefined;
}
export interface DatascienceJobJobLogConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#enable_auto_log_creation DatascienceJob#enable_auto_log_creation}
    */
    readonly enableAutoLogCreation?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#enable_logging DatascienceJob#enable_logging}
    */
    readonly enableLogging?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#log_group_id DatascienceJob#log_group_id}
    */
    readonly logGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#log_id DatascienceJob#log_id}
    */
    readonly logId?: string;
}
export declare function datascienceJobJobLogConfigurationDetailsToTerraform(struct?: DatascienceJobJobLogConfigurationDetailsOutputReference | DatascienceJobJobLogConfigurationDetails): any;
export declare function datascienceJobJobLogConfigurationDetailsToHclTerraform(struct?: DatascienceJobJobLogConfigurationDetailsOutputReference | DatascienceJobJobLogConfigurationDetails): any;
export declare class DatascienceJobJobLogConfigurationDetailsOutputReference 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(): DatascienceJobJobLogConfigurationDetails | undefined;
    set internalValue(value: DatascienceJobJobLogConfigurationDetails | undefined);
    private _enableAutoLogCreation?;
    get enableAutoLogCreation(): boolean | cdktf.IResolvable;
    set enableAutoLogCreation(value: boolean | cdktf.IResolvable);
    resetEnableAutoLogCreation(): void;
    get enableAutoLogCreationInput(): boolean | cdktf.IResolvable | undefined;
    private _enableLogging?;
    get enableLogging(): boolean | cdktf.IResolvable;
    set enableLogging(value: boolean | cdktf.IResolvable);
    resetEnableLogging(): void;
    get enableLoggingInput(): boolean | cdktf.IResolvable | undefined;
    private _logGroupId?;
    get logGroupId(): string;
    set logGroupId(value: string);
    resetLogGroupId(): void;
    get logGroupIdInput(): string | undefined;
    private _logId?;
    get logId(): string;
    set logId(value: string);
    resetLogId(): void;
    get logIdInput(): string | undefined;
}
export interface DatascienceJobJobStorageMountConfigurationDetailsListStruct {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#bucket DatascienceJob#bucket}
    */
    readonly bucket?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#destination_directory_name DatascienceJob#destination_directory_name}
    */
    readonly destinationDirectoryName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#destination_path DatascienceJob#destination_path}
    */
    readonly destinationPath?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#export_id DatascienceJob#export_id}
    */
    readonly exportId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#mount_target_id DatascienceJob#mount_target_id}
    */
    readonly mountTargetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#namespace DatascienceJob#namespace}
    */
    readonly namespace?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#prefix DatascienceJob#prefix}
    */
    readonly prefix?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#storage_type DatascienceJob#storage_type}
    */
    readonly storageType: string;
}
export declare function datascienceJobJobStorageMountConfigurationDetailsListStructToTerraform(struct?: DatascienceJobJobStorageMountConfigurationDetailsListStruct | cdktf.IResolvable): any;
export declare function datascienceJobJobStorageMountConfigurationDetailsListStructToHclTerraform(struct?: DatascienceJobJobStorageMountConfigurationDetailsListStruct | cdktf.IResolvable): any;
export declare class DatascienceJobJobStorageMountConfigurationDetailsListStructOutputReference 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(): DatascienceJobJobStorageMountConfigurationDetailsListStruct | cdktf.IResolvable | undefined;
    set internalValue(value: DatascienceJobJobStorageMountConfigurationDetailsListStruct | cdktf.IResolvable | undefined);
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    resetBucket(): void;
    get bucketInput(): string | undefined;
    private _destinationDirectoryName?;
    get destinationDirectoryName(): string;
    set destinationDirectoryName(value: string);
    get destinationDirectoryNameInput(): string | undefined;
    private _destinationPath?;
    get destinationPath(): string;
    set destinationPath(value: string);
    resetDestinationPath(): void;
    get destinationPathInput(): string | undefined;
    private _exportId?;
    get exportId(): string;
    set exportId(value: string);
    resetExportId(): void;
    get exportIdInput(): string | undefined;
    private _mountTargetId?;
    get mountTargetId(): string;
    set mountTargetId(value: string);
    resetMountTargetId(): void;
    get mountTargetIdInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    private _prefix?;
    get prefix(): string;
    set prefix(value: string);
    resetPrefix(): void;
    get prefixInput(): string | undefined;
    private _storageType?;
    get storageType(): string;
    set storageType(value: string);
    get storageTypeInput(): string | undefined;
}
export declare class DatascienceJobJobStorageMountConfigurationDetailsListStructList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatascienceJobJobStorageMountConfigurationDetailsListStruct[] | 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): DatascienceJobJobStorageMountConfigurationDetailsListStructOutputReference;
}
export interface DatascienceJobTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#create DatascienceJob#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#delete DatascienceJob#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#update DatascienceJob#update}
    */
    readonly update?: string;
}
export declare function datascienceJobTimeoutsToTerraform(struct?: DatascienceJobTimeouts | cdktf.IResolvable): any;
export declare function datascienceJobTimeoutsToHclTerraform(struct?: DatascienceJobTimeouts | cdktf.IResolvable): any;
export declare class DatascienceJobTimeoutsOutputReference 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(): DatascienceJobTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatascienceJobTimeouts | 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/oracle/oci/6.18.0/docs/resources/datascience_job oci_datascience_job}
*/
export declare class DatascienceJob extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_datascience_job";
    /**
    * Generates CDKTF code for importing a DatascienceJob 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 DatascienceJob to import
    * @param importFromId The id of the existing DatascienceJob that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_job#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatascienceJob 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/oracle/oci/6.18.0/docs/resources/datascience_job oci_datascience_job} 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 DatascienceJobConfig
    */
    constructor(scope: Construct, id: string, config: DatascienceJobConfig);
    private _artifactContentDisposition?;
    get artifactContentDisposition(): string;
    set artifactContentDisposition(value: string);
    resetArtifactContentDisposition(): void;
    get artifactContentDispositionInput(): string | undefined;
    private _artifactContentLength?;
    get artifactContentLength(): string;
    set artifactContentLength(value: string);
    resetArtifactContentLength(): void;
    get artifactContentLengthInput(): string | undefined;
    get artifactContentMd5(): string;
    get artifactLastModified(): string;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    get createdBy(): string;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _deleteRelatedJobRuns?;
    get deleteRelatedJobRuns(): boolean | cdktf.IResolvable;
    set deleteRelatedJobRuns(value: boolean | cdktf.IResolvable);
    resetDeleteRelatedJobRuns(): void;
    get deleteRelatedJobRunsInput(): boolean | cdktf.IResolvable | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    get emptyArtifact(): cdktf.IResolvable;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _jobArtifact?;
    get jobArtifact(): string;
    set jobArtifact(value: string);
    resetJobArtifact(): void;
    get jobArtifactInput(): string | undefined;
    get lifecycleDetails(): string;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    get projectIdInput(): string | undefined;
    get state(): string;
    get timeCreated(): string;
    private _jobConfigurationDetails;
    get jobConfigurationDetails(): DatascienceJobJobConfigurationDetailsOutputReference;
    putJobConfigurationDetails(value: DatascienceJobJobConfigurationDetails): void;
    get jobConfigurationDetailsInput(): DatascienceJobJobConfigurationDetails | undefined;
    private _jobEnvironmentConfigurationDetails;
    get jobEnvironmentConfigurationDetails(): DatascienceJobJobEnvironmentConfigurationDetailsOutputReference;
    putJobEnvironmentConfigurationDetails(value: DatascienceJobJobEnvironmentConfigurationDetails): void;
    resetJobEnvironmentConfigurationDetails(): void;
    get jobEnvironmentConfigurationDetailsInput(): DatascienceJobJobEnvironmentConfigurationDetails | undefined;
    private _jobInfrastructureConfigurationDetails;
    get jobInfrastructureConfigurationDetails(): DatascienceJobJobInfrastructureConfigurationDetailsOutputReference;
    putJobInfrastructureConfigurationDetails(value: DatascienceJobJobInfrastructureConfigurationDetails): void;
    get jobInfrastructureConfigurationDetailsInput(): DatascienceJobJobInfrastructureConfigurationDetails | undefined;
    private _jobLogConfigurationDetails;
    get jobLogConfigurationDetails(): DatascienceJobJobLogConfigurationDetailsOutputReference;
    putJobLogConfigurationDetails(value: DatascienceJobJobLogConfigurationDetails): void;
    resetJobLogConfigurationDetails(): void;
    get jobLogConfigurationDetailsInput(): DatascienceJobJobLogConfigurationDetails | undefined;
    private _jobStorageMountConfigurationDetailsList;
    get jobStorageMountConfigurationDetailsList(): DatascienceJobJobStorageMountConfigurationDetailsListStructList;
    putJobStorageMountConfigurationDetailsList(value: DatascienceJobJobStorageMountConfigurationDetailsListStruct[] | cdktf.IResolvable): void;
    resetJobStorageMountConfigurationDetailsList(): void;
    get jobStorageMountConfigurationDetailsListInput(): cdktf.IResolvable | DatascienceJobJobStorageMountConfigurationDetailsListStruct[] | undefined;
    private _timeouts;
    get timeouts(): DatascienceJobTimeoutsOutputReference;
    putTimeouts(value: DatascienceJobTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatascienceJobTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
