import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatasciencePipelineConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#compartment_id DatasciencePipeline#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#defined_tags DatasciencePipeline#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_pipeline#delete_related_pipeline_runs DatasciencePipeline#delete_related_pipeline_runs}
    */
    readonly deleteRelatedPipelineRuns?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#description DatasciencePipeline#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#display_name DatasciencePipeline#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#freeform_tags DatasciencePipeline#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_pipeline#id DatasciencePipeline#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_pipeline#project_id DatasciencePipeline#project_id}
    */
    readonly projectId: string;
    /**
    * configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#configuration_details DatasciencePipeline#configuration_details}
    */
    readonly configurationDetails?: DatasciencePipelineConfigurationDetails;
    /**
    * infrastructure_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#infrastructure_configuration_details DatasciencePipeline#infrastructure_configuration_details}
    */
    readonly infrastructureConfigurationDetails?: DatasciencePipelineInfrastructureConfigurationDetails;
    /**
    * log_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#log_configuration_details DatasciencePipeline#log_configuration_details}
    */
    readonly logConfigurationDetails?: DatasciencePipelineLogConfigurationDetails;
    /**
    * step_artifact block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_artifact DatasciencePipeline#step_artifact}
    */
    readonly stepArtifact?: DatasciencePipelineStepArtifact[] | cdktf.IResolvable;
    /**
    * step_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_details DatasciencePipeline#step_details}
    */
    readonly stepDetails: DatasciencePipelineStepDetails[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#timeouts DatasciencePipeline#timeouts}
    */
    readonly timeouts?: DatasciencePipelineTimeouts;
}
export interface DatasciencePipelineConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#command_line_arguments DatasciencePipeline#command_line_arguments}
    */
    readonly commandLineArguments?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#environment_variables DatasciencePipeline#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_pipeline#maximum_runtime_in_minutes DatasciencePipeline#maximum_runtime_in_minutes}
    */
    readonly maximumRuntimeInMinutes?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#type DatasciencePipeline#type}
    */
    readonly type: string;
}
export declare function datasciencePipelineConfigurationDetailsToTerraform(struct?: DatasciencePipelineConfigurationDetailsOutputReference | DatasciencePipelineConfigurationDetails): any;
export declare function datasciencePipelineConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineConfigurationDetailsOutputReference | DatasciencePipelineConfigurationDetails): any;
export declare class DatasciencePipelineConfigurationDetailsOutputReference 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(): DatasciencePipelineConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineConfigurationDetails | 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 _maximumRuntimeInMinutes?;
    get maximumRuntimeInMinutes(): string;
    set maximumRuntimeInMinutes(value: string);
    resetMaximumRuntimeInMinutes(): void;
    get maximumRuntimeInMinutesInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export interface DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#memory_in_gbs DatasciencePipeline#memory_in_gbs}
    */
    readonly memoryInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#ocpus DatasciencePipeline#ocpus}
    */
    readonly ocpus?: number;
}
export declare function datasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsToTerraform(struct?: DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference | DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails): any;
export declare function datasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsToHclTerraform(struct?: DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference | DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails): any;
export declare class DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference 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(): DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails | undefined;
    set internalValue(value: DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails | 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 DatasciencePipelineInfrastructureConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#block_storage_size_in_gbs DatasciencePipeline#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_pipeline#shape_name DatasciencePipeline#shape_name}
    */
    readonly shapeName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#subnet_id DatasciencePipeline#subnet_id}
    */
    readonly subnetId?: string;
    /**
    * shape_config_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#shape_config_details DatasciencePipeline#shape_config_details}
    */
    readonly shapeConfigDetails?: DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails;
}
export declare function datasciencePipelineInfrastructureConfigurationDetailsToTerraform(struct?: DatasciencePipelineInfrastructureConfigurationDetailsOutputReference | DatasciencePipelineInfrastructureConfigurationDetails): any;
export declare function datasciencePipelineInfrastructureConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineInfrastructureConfigurationDetailsOutputReference | DatasciencePipelineInfrastructureConfigurationDetails): any;
export declare class DatasciencePipelineInfrastructureConfigurationDetailsOutputReference 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(): DatasciencePipelineInfrastructureConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineInfrastructureConfigurationDetails | undefined);
    private _blockStorageSizeInGbs?;
    get blockStorageSizeInGbs(): number;
    set blockStorageSizeInGbs(value: number);
    get blockStorageSizeInGbsInput(): number | 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 _shapeConfigDetails;
    get shapeConfigDetails(): DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference;
    putShapeConfigDetails(value: DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails): void;
    resetShapeConfigDetails(): void;
    get shapeConfigDetailsInput(): DatasciencePipelineInfrastructureConfigurationDetailsShapeConfigDetails | undefined;
}
export interface DatasciencePipelineLogConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#enable_auto_log_creation DatasciencePipeline#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_pipeline#enable_logging DatasciencePipeline#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_pipeline#log_group_id DatasciencePipeline#log_group_id}
    */
    readonly logGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#log_id DatasciencePipeline#log_id}
    */
    readonly logId?: string;
}
export declare function datasciencePipelineLogConfigurationDetailsToTerraform(struct?: DatasciencePipelineLogConfigurationDetailsOutputReference | DatasciencePipelineLogConfigurationDetails): any;
export declare function datasciencePipelineLogConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineLogConfigurationDetailsOutputReference | DatasciencePipelineLogConfigurationDetails): any;
export declare class DatasciencePipelineLogConfigurationDetailsOutputReference 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(): DatasciencePipelineLogConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineLogConfigurationDetails | 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 DatasciencePipelineStepArtifact {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#artifact_content_disposition DatasciencePipeline#artifact_content_disposition}
    */
    readonly artifactContentDisposition?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#artifact_content_length DatasciencePipeline#artifact_content_length}
    */
    readonly artifactContentLength: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#pipeline_step_artifact DatasciencePipeline#pipeline_step_artifact}
    */
    readonly pipelineStepArtifact: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_name DatasciencePipeline#step_name}
    */
    readonly stepName: string;
}
export declare function datasciencePipelineStepArtifactToTerraform(struct?: DatasciencePipelineStepArtifact | cdktf.IResolvable): any;
export declare function datasciencePipelineStepArtifactToHclTerraform(struct?: DatasciencePipelineStepArtifact | cdktf.IResolvable): any;
export declare class DatasciencePipelineStepArtifactOutputReference 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(): DatasciencePipelineStepArtifact | cdktf.IResolvable | undefined;
    set internalValue(value: DatasciencePipelineStepArtifact | cdktf.IResolvable | undefined);
    private _artifactContentDisposition?;
    get artifactContentDisposition(): string;
    set artifactContentDisposition(value: string);
    resetArtifactContentDisposition(): void;
    get artifactContentDispositionInput(): string | undefined;
    private _artifactContentLength?;
    get artifactContentLength(): string;
    set artifactContentLength(value: string);
    get artifactContentLengthInput(): string | undefined;
    get artifactContentMd5(): string;
    get artifactLastModified(): string;
    private _pipelineStepArtifact?;
    get pipelineStepArtifact(): string;
    set pipelineStepArtifact(value: string);
    get pipelineStepArtifactInput(): string | undefined;
    private _stepName?;
    get stepName(): string;
    set stepName(value: string);
    get stepNameInput(): string | undefined;
}
export declare class DatasciencePipelineStepArtifactList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatasciencePipelineStepArtifact[] | 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): DatasciencePipelineStepArtifactOutputReference;
}
export interface DatasciencePipelineStepDetailsStepConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#command_line_arguments DatasciencePipeline#command_line_arguments}
    */
    readonly commandLineArguments?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#environment_variables DatasciencePipeline#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_pipeline#maximum_runtime_in_minutes DatasciencePipeline#maximum_runtime_in_minutes}
    */
    readonly maximumRuntimeInMinutes?: string;
}
export declare function datasciencePipelineStepDetailsStepConfigurationDetailsToTerraform(struct?: DatasciencePipelineStepDetailsStepConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepConfigurationDetails): any;
export declare function datasciencePipelineStepDetailsStepConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineStepDetailsStepConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepConfigurationDetails): any;
export declare class DatasciencePipelineStepDetailsStepConfigurationDetailsOutputReference 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(): DatasciencePipelineStepDetailsStepConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineStepDetailsStepConfigurationDetails | 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 _maximumRuntimeInMinutes?;
    get maximumRuntimeInMinutes(): string;
    set maximumRuntimeInMinutes(value: string);
    resetMaximumRuntimeInMinutes(): void;
    get maximumRuntimeInMinutesInput(): string | undefined;
}
export interface DatasciencePipelineStepDetailsStepContainerConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#cmd DatasciencePipeline#cmd}
    */
    readonly cmd?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#container_type DatasciencePipeline#container_type}
    */
    readonly containerType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#entrypoint DatasciencePipeline#entrypoint}
    */
    readonly entrypoint?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#image DatasciencePipeline#image}
    */
    readonly image: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#image_digest DatasciencePipeline#image_digest}
    */
    readonly imageDigest?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#image_signature_id DatasciencePipeline#image_signature_id}
    */
    readonly imageSignatureId?: string;
}
export declare function datasciencePipelineStepDetailsStepContainerConfigurationDetailsToTerraform(struct?: DatasciencePipelineStepDetailsStepContainerConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepContainerConfigurationDetails): any;
export declare function datasciencePipelineStepDetailsStepContainerConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineStepDetailsStepContainerConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepContainerConfigurationDetails): any;
export declare class DatasciencePipelineStepDetailsStepContainerConfigurationDetailsOutputReference 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(): DatasciencePipelineStepDetailsStepContainerConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineStepDetailsStepContainerConfigurationDetails | undefined);
    private _cmd?;
    get cmd(): string[];
    set cmd(value: string[]);
    resetCmd(): void;
    get cmdInput(): string[] | undefined;
    private _containerType?;
    get containerType(): string;
    set containerType(value: string);
    get containerTypeInput(): 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;
}
export interface DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#memory_in_gbs DatasciencePipeline#memory_in_gbs}
    */
    readonly memoryInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#ocpus DatasciencePipeline#ocpus}
    */
    readonly ocpus?: number;
}
export declare function datasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsToTerraform(struct?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference | DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails): any;
export declare function datasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsToHclTerraform(struct?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference | DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails): any;
export declare class DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference 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(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails | undefined;
    set internalValue(value: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails | 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 DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#block_storage_size_in_gbs DatasciencePipeline#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_pipeline#shape_name DatasciencePipeline#shape_name}
    */
    readonly shapeName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#subnet_id DatasciencePipeline#subnet_id}
    */
    readonly subnetId?: string;
    /**
    * shape_config_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#shape_config_details DatasciencePipeline#shape_config_details}
    */
    readonly shapeConfigDetails?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails;
}
export declare function datasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsToTerraform(struct?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails): any;
export declare function datasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsToHclTerraform(struct?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsOutputReference | DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails): any;
export declare class DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsOutputReference 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(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails | undefined;
    set internalValue(value: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails | undefined);
    private _blockStorageSizeInGbs?;
    get blockStorageSizeInGbs(): number;
    set blockStorageSizeInGbs(value: number);
    get blockStorageSizeInGbsInput(): number | 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 _shapeConfigDetails;
    get shapeConfigDetails(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetailsOutputReference;
    putShapeConfigDetails(value: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails): void;
    resetShapeConfigDetails(): void;
    get shapeConfigDetailsInput(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsShapeConfigDetails | undefined;
}
export interface DatasciencePipelineStepDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#depends_on DatasciencePipeline#depends_on}
    */
    readonly dependsOn?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#description DatasciencePipeline#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#is_artifact_uploaded DatasciencePipeline#is_artifact_uploaded}
    */
    readonly isArtifactUploaded?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#job_id DatasciencePipeline#job_id}
    */
    readonly jobId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_name DatasciencePipeline#step_name}
    */
    readonly stepName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_type DatasciencePipeline#step_type}
    */
    readonly stepType: string;
    /**
    * step_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_configuration_details DatasciencePipeline#step_configuration_details}
    */
    readonly stepConfigurationDetails?: DatasciencePipelineStepDetailsStepConfigurationDetails;
    /**
    * step_container_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_container_configuration_details DatasciencePipeline#step_container_configuration_details}
    */
    readonly stepContainerConfigurationDetails?: DatasciencePipelineStepDetailsStepContainerConfigurationDetails;
    /**
    * step_infrastructure_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#step_infrastructure_configuration_details DatasciencePipeline#step_infrastructure_configuration_details}
    */
    readonly stepInfrastructureConfigurationDetails?: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails;
}
export declare function datasciencePipelineStepDetailsToTerraform(struct?: DatasciencePipelineStepDetails | cdktf.IResolvable): any;
export declare function datasciencePipelineStepDetailsToHclTerraform(struct?: DatasciencePipelineStepDetails | cdktf.IResolvable): any;
export declare class DatasciencePipelineStepDetailsOutputReference 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(): DatasciencePipelineStepDetails | cdktf.IResolvable | undefined;
    set internalValue(value: DatasciencePipelineStepDetails | cdktf.IResolvable | undefined);
    private _dependsOn?;
    get dependsOn(): string[];
    set dependsOn(value: string[]);
    resetDependsOn(): void;
    get dependsOnInput(): string[] | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _isArtifactUploaded?;
    get isArtifactUploaded(): boolean | cdktf.IResolvable;
    set isArtifactUploaded(value: boolean | cdktf.IResolvable);
    resetIsArtifactUploaded(): void;
    get isArtifactUploadedInput(): boolean | cdktf.IResolvable | undefined;
    private _jobId?;
    get jobId(): string;
    set jobId(value: string);
    resetJobId(): void;
    get jobIdInput(): string | undefined;
    private _stepName?;
    get stepName(): string;
    set stepName(value: string);
    get stepNameInput(): string | undefined;
    private _stepType?;
    get stepType(): string;
    set stepType(value: string);
    get stepTypeInput(): string | undefined;
    private _stepConfigurationDetails;
    get stepConfigurationDetails(): DatasciencePipelineStepDetailsStepConfigurationDetailsOutputReference;
    putStepConfigurationDetails(value: DatasciencePipelineStepDetailsStepConfigurationDetails): void;
    resetStepConfigurationDetails(): void;
    get stepConfigurationDetailsInput(): DatasciencePipelineStepDetailsStepConfigurationDetails | undefined;
    private _stepContainerConfigurationDetails;
    get stepContainerConfigurationDetails(): DatasciencePipelineStepDetailsStepContainerConfigurationDetailsOutputReference;
    putStepContainerConfigurationDetails(value: DatasciencePipelineStepDetailsStepContainerConfigurationDetails): void;
    resetStepContainerConfigurationDetails(): void;
    get stepContainerConfigurationDetailsInput(): DatasciencePipelineStepDetailsStepContainerConfigurationDetails | undefined;
    private _stepInfrastructureConfigurationDetails;
    get stepInfrastructureConfigurationDetails(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetailsOutputReference;
    putStepInfrastructureConfigurationDetails(value: DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails): void;
    resetStepInfrastructureConfigurationDetails(): void;
    get stepInfrastructureConfigurationDetailsInput(): DatasciencePipelineStepDetailsStepInfrastructureConfigurationDetails | undefined;
}
export declare class DatasciencePipelineStepDetailsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatasciencePipelineStepDetails[] | 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): DatasciencePipelineStepDetailsOutputReference;
}
export interface DatasciencePipelineTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#create DatasciencePipeline#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#delete DatasciencePipeline#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#update DatasciencePipeline#update}
    */
    readonly update?: string;
}
export declare function datasciencePipelineTimeoutsToTerraform(struct?: DatasciencePipelineTimeouts | cdktf.IResolvable): any;
export declare function datasciencePipelineTimeoutsToHclTerraform(struct?: DatasciencePipelineTimeouts | cdktf.IResolvable): any;
export declare class DatasciencePipelineTimeoutsOutputReference 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(): DatasciencePipelineTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatasciencePipelineTimeouts | 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_pipeline oci_datascience_pipeline}
*/
export declare class DatasciencePipeline extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_datascience_pipeline";
    /**
    * Generates CDKTF code for importing a DatasciencePipeline 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 DatasciencePipeline to import
    * @param importFromId The id of the existing DatasciencePipeline that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_pipeline#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatasciencePipeline 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_pipeline oci_datascience_pipeline} 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 DatasciencePipelineConfig
    */
    constructor(scope: Construct, id: string, config: DatasciencePipelineConfig);
    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 _deleteRelatedPipelineRuns?;
    get deleteRelatedPipelineRuns(): boolean | cdktf.IResolvable;
    set deleteRelatedPipelineRuns(value: boolean | cdktf.IResolvable);
    resetDeleteRelatedPipelineRuns(): void;
    get deleteRelatedPipelineRunsInput(): 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;
    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;
    get lifecycleDetails(): string;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    get projectIdInput(): string | undefined;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _configurationDetails;
    get configurationDetails(): DatasciencePipelineConfigurationDetailsOutputReference;
    putConfigurationDetails(value: DatasciencePipelineConfigurationDetails): void;
    resetConfigurationDetails(): void;
    get configurationDetailsInput(): DatasciencePipelineConfigurationDetails | undefined;
    private _infrastructureConfigurationDetails;
    get infrastructureConfigurationDetails(): DatasciencePipelineInfrastructureConfigurationDetailsOutputReference;
    putInfrastructureConfigurationDetails(value: DatasciencePipelineInfrastructureConfigurationDetails): void;
    resetInfrastructureConfigurationDetails(): void;
    get infrastructureConfigurationDetailsInput(): DatasciencePipelineInfrastructureConfigurationDetails | undefined;
    private _logConfigurationDetails;
    get logConfigurationDetails(): DatasciencePipelineLogConfigurationDetailsOutputReference;
    putLogConfigurationDetails(value: DatasciencePipelineLogConfigurationDetails): void;
    resetLogConfigurationDetails(): void;
    get logConfigurationDetailsInput(): DatasciencePipelineLogConfigurationDetails | undefined;
    private _stepArtifact;
    get stepArtifact(): DatasciencePipelineStepArtifactList;
    putStepArtifact(value: DatasciencePipelineStepArtifact[] | cdktf.IResolvable): void;
    resetStepArtifact(): void;
    get stepArtifactInput(): cdktf.IResolvable | DatasciencePipelineStepArtifact[] | undefined;
    private _stepDetails;
    get stepDetails(): DatasciencePipelineStepDetailsList;
    putStepDetails(value: DatasciencePipelineStepDetails[] | cdktf.IResolvable): void;
    get stepDetailsInput(): cdktf.IResolvable | DatasciencePipelineStepDetails[] | undefined;
    private _timeouts;
    get timeouts(): DatasciencePipelineTimeoutsOutputReference;
    putTimeouts(value: DatasciencePipelineTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatasciencePipelineTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
