import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatascienceModelDeploymentConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#compartment_id DatascienceModelDeployment#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#defined_tags DatascienceModelDeployment#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_model_deployment#description DatascienceModelDeployment#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#display_name DatascienceModelDeployment#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#freeform_tags DatascienceModelDeployment#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_model_deployment#id DatascienceModelDeployment#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_model_deployment#opc_parent_rpt_url DatascienceModelDeployment#opc_parent_rpt_url}
    */
    readonly opcParentRptUrl?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#project_id DatascienceModelDeployment#project_id}
    */
    readonly projectId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#state DatascienceModelDeployment#state}
    */
    readonly state?: string;
    /**
    * category_log_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#category_log_details DatascienceModelDeployment#category_log_details}
    */
    readonly categoryLogDetails?: DatascienceModelDeploymentCategoryLogDetails;
    /**
    * model_deployment_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#model_deployment_configuration_details DatascienceModelDeployment#model_deployment_configuration_details}
    */
    readonly modelDeploymentConfigurationDetails: DatascienceModelDeploymentModelDeploymentConfigurationDetails;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#timeouts DatascienceModelDeployment#timeouts}
    */
    readonly timeouts?: DatascienceModelDeploymentTimeouts;
}
export interface DatascienceModelDeploymentModelDeploymentSystemData {
}
export declare function datascienceModelDeploymentModelDeploymentSystemDataToTerraform(struct?: DatascienceModelDeploymentModelDeploymentSystemData): any;
export declare function datascienceModelDeploymentModelDeploymentSystemDataToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentSystemData): any;
export declare class DatascienceModelDeploymentModelDeploymentSystemDataOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): DatascienceModelDeploymentModelDeploymentSystemData | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentSystemData | undefined);
    get currentInstanceCount(): number;
    get systemInfraType(): string;
}
export declare class DatascienceModelDeploymentModelDeploymentSystemDataList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): DatascienceModelDeploymentModelDeploymentSystemDataOutputReference;
}
export interface DatascienceModelDeploymentCategoryLogDetailsAccess {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#log_group_id DatascienceModelDeployment#log_group_id}
    */
    readonly logGroupId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#log_id DatascienceModelDeployment#log_id}
    */
    readonly logId: string;
}
export declare function datascienceModelDeploymentCategoryLogDetailsAccessToTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsAccessOutputReference | DatascienceModelDeploymentCategoryLogDetailsAccess): any;
export declare function datascienceModelDeploymentCategoryLogDetailsAccessToHclTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsAccessOutputReference | DatascienceModelDeploymentCategoryLogDetailsAccess): any;
export declare class DatascienceModelDeploymentCategoryLogDetailsAccessOutputReference 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(): DatascienceModelDeploymentCategoryLogDetailsAccess | undefined;
    set internalValue(value: DatascienceModelDeploymentCategoryLogDetailsAccess | undefined);
    private _logGroupId?;
    get logGroupId(): string;
    set logGroupId(value: string);
    get logGroupIdInput(): string | undefined;
    private _logId?;
    get logId(): string;
    set logId(value: string);
    get logIdInput(): string | undefined;
}
export interface DatascienceModelDeploymentCategoryLogDetailsPredict {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#log_group_id DatascienceModelDeployment#log_group_id}
    */
    readonly logGroupId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#log_id DatascienceModelDeployment#log_id}
    */
    readonly logId: string;
}
export declare function datascienceModelDeploymentCategoryLogDetailsPredictToTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsPredictOutputReference | DatascienceModelDeploymentCategoryLogDetailsPredict): any;
export declare function datascienceModelDeploymentCategoryLogDetailsPredictToHclTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsPredictOutputReference | DatascienceModelDeploymentCategoryLogDetailsPredict): any;
export declare class DatascienceModelDeploymentCategoryLogDetailsPredictOutputReference 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(): DatascienceModelDeploymentCategoryLogDetailsPredict | undefined;
    set internalValue(value: DatascienceModelDeploymentCategoryLogDetailsPredict | undefined);
    private _logGroupId?;
    get logGroupId(): string;
    set logGroupId(value: string);
    get logGroupIdInput(): string | undefined;
    private _logId?;
    get logId(): string;
    set logId(value: string);
    get logIdInput(): string | undefined;
}
export interface DatascienceModelDeploymentCategoryLogDetails {
    /**
    * access block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#access DatascienceModelDeployment#access}
    */
    readonly access?: DatascienceModelDeploymentCategoryLogDetailsAccess;
    /**
    * predict block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#predict DatascienceModelDeployment#predict}
    */
    readonly predict?: DatascienceModelDeploymentCategoryLogDetailsPredict;
}
export declare function datascienceModelDeploymentCategoryLogDetailsToTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsOutputReference | DatascienceModelDeploymentCategoryLogDetails): any;
export declare function datascienceModelDeploymentCategoryLogDetailsToHclTerraform(struct?: DatascienceModelDeploymentCategoryLogDetailsOutputReference | DatascienceModelDeploymentCategoryLogDetails): any;
export declare class DatascienceModelDeploymentCategoryLogDetailsOutputReference 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(): DatascienceModelDeploymentCategoryLogDetails | undefined;
    set internalValue(value: DatascienceModelDeploymentCategoryLogDetails | undefined);
    private _access;
    get access(): DatascienceModelDeploymentCategoryLogDetailsAccessOutputReference;
    putAccess(value: DatascienceModelDeploymentCategoryLogDetailsAccess): void;
    resetAccess(): void;
    get accessInput(): DatascienceModelDeploymentCategoryLogDetailsAccess | undefined;
    private _predict;
    get predict(): DatascienceModelDeploymentCategoryLogDetailsPredictOutputReference;
    putPredict(value: DatascienceModelDeploymentCategoryLogDetailsPredict): void;
    resetPredict(): void;
    get predictInput(): DatascienceModelDeploymentCategoryLogDetailsPredict | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#cmd DatascienceModelDeployment#cmd}
    */
    readonly cmd?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#entrypoint DatascienceModelDeployment#entrypoint}
    */
    readonly entrypoint?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#environment_configuration_type DatascienceModelDeployment#environment_configuration_type}
    */
    readonly environmentConfigurationType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#environment_variables DatascienceModelDeployment#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_model_deployment#health_check_port DatascienceModelDeployment#health_check_port}
    */
    readonly healthCheckPort?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#image DatascienceModelDeployment#image}
    */
    readonly image?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#image_digest DatascienceModelDeployment#image_digest}
    */
    readonly imageDigest?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#server_port DatascienceModelDeployment#server_port}
    */
    readonly serverPort?: number;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails | 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 _environmentConfigurationType?;
    get environmentConfigurationType(): string;
    set environmentConfigurationType(value: string);
    get environmentConfigurationTypeInput(): string | undefined;
    private _environmentVariables?;
    get environmentVariables(): {
        [key: string]: string;
    };
    set environmentVariables(value: {
        [key: string]: string;
    });
    resetEnvironmentVariables(): void;
    get environmentVariablesInput(): {
        [key: string]: string;
    } | undefined;
    private _healthCheckPort?;
    get healthCheckPort(): number;
    set healthCheckPort(value: number);
    resetHealthCheckPort(): void;
    get healthCheckPortInput(): number | undefined;
    private _image?;
    get image(): string;
    set image(value: string);
    resetImage(): void;
    get imageInput(): string | undefined;
    private _imageDigest?;
    get imageDigest(): string;
    set imageDigest(value: string);
    resetImageDigest(): void;
    get imageDigestInput(): string | undefined;
    private _serverPort?;
    get serverPort(): number;
    set serverPort(value: number);
    resetServerPort(): void;
    get serverPortInput(): number | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#cpu_baseline DatascienceModelDeployment#cpu_baseline}
    */
    readonly cpuBaseline?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#memory_in_gbs DatascienceModelDeployment#memory_in_gbs}
    */
    readonly memoryInGbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#ocpus DatascienceModelDeployment#ocpus}
    */
    readonly ocpus?: number;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails | undefined);
    private _cpuBaseline?;
    get cpuBaseline(): string;
    set cpuBaseline(value: string);
    resetCpuBaseline(): void;
    get cpuBaselineInput(): string | 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 DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#instance_shape_name DatascienceModelDeployment#instance_shape_name}
    */
    readonly instanceShapeName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#subnet_id DatascienceModelDeployment#subnet_id}
    */
    readonly subnetId?: string;
    /**
    * model_deployment_instance_shape_config_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#model_deployment_instance_shape_config_details DatascienceModelDeployment#model_deployment_instance_shape_config_details}
    */
    readonly modelDeploymentInstanceShapeConfigDetails?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration | undefined);
    private _instanceShapeName?;
    get instanceShapeName(): string;
    set instanceShapeName(value: string);
    get instanceShapeNameInput(): string | undefined;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    resetSubnetId(): void;
    get subnetIdInput(): string | undefined;
    private _modelDeploymentInstanceShapeConfigDetails;
    get modelDeploymentInstanceShapeConfigDetails(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetailsOutputReference;
    putModelDeploymentInstanceShapeConfigDetails(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails): void;
    resetModelDeploymentInstanceShapeConfigDetails(): void;
    get modelDeploymentInstanceShapeConfigDetailsInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationModelDeploymentInstanceShapeConfigDetails | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#instance_count_adjustment DatascienceModelDeployment#instance_count_adjustment}
    */
    readonly instanceCountAdjustment?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#pending_duration DatascienceModelDeployment#pending_duration}
    */
    readonly pendingDuration?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#query DatascienceModelDeployment#query}
    */
    readonly query?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#scaling_configuration_type DatascienceModelDeployment#scaling_configuration_type}
    */
    readonly scalingConfigurationType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#threshold DatascienceModelDeployment#threshold}
    */
    readonly threshold?: number;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration | undefined);
    private _instanceCountAdjustment?;
    get instanceCountAdjustment(): number;
    set instanceCountAdjustment(value: number);
    resetInstanceCountAdjustment(): void;
    get instanceCountAdjustmentInput(): number | undefined;
    private _pendingDuration?;
    get pendingDuration(): string;
    set pendingDuration(value: string);
    resetPendingDuration(): void;
    get pendingDurationInput(): string | undefined;
    private _query?;
    get query(): string;
    set query(value: string);
    resetQuery(): void;
    get queryInput(): string | undefined;
    private _scalingConfigurationType?;
    get scalingConfigurationType(): string;
    set scalingConfigurationType(value: string);
    resetScalingConfigurationType(): void;
    get scalingConfigurationTypeInput(): string | undefined;
    private _threshold?;
    get threshold(): number;
    set threshold(value: number);
    resetThreshold(): void;
    get thresholdInput(): number | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#instance_count_adjustment DatascienceModelDeployment#instance_count_adjustment}
    */
    readonly instanceCountAdjustment?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#pending_duration DatascienceModelDeployment#pending_duration}
    */
    readonly pendingDuration?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#query DatascienceModelDeployment#query}
    */
    readonly query?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#scaling_configuration_type DatascienceModelDeployment#scaling_configuration_type}
    */
    readonly scalingConfigurationType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#threshold DatascienceModelDeployment#threshold}
    */
    readonly threshold?: number;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration | undefined);
    private _instanceCountAdjustment?;
    get instanceCountAdjustment(): number;
    set instanceCountAdjustment(value: number);
    resetInstanceCountAdjustment(): void;
    get instanceCountAdjustmentInput(): number | undefined;
    private _pendingDuration?;
    get pendingDuration(): string;
    set pendingDuration(value: string);
    resetPendingDuration(): void;
    get pendingDurationInput(): string | undefined;
    private _query?;
    get query(): string;
    set query(value: string);
    resetQuery(): void;
    get queryInput(): string | undefined;
    private _scalingConfigurationType?;
    get scalingConfigurationType(): string;
    set scalingConfigurationType(value: string);
    resetScalingConfigurationType(): void;
    get scalingConfigurationTypeInput(): string | undefined;
    private _threshold?;
    get threshold(): number;
    set threshold(value: number);
    resetThreshold(): void;
    get thresholdInput(): number | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#metric_expression_rule_type DatascienceModelDeployment#metric_expression_rule_type}
    */
    readonly metricExpressionRuleType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#metric_type DatascienceModelDeployment#metric_type}
    */
    readonly metricType?: string;
    /**
    * scale_in_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#scale_in_configuration DatascienceModelDeployment#scale_in_configuration}
    */
    readonly scaleInConfiguration: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration;
    /**
    * scale_out_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#scale_out_configuration DatascienceModelDeployment#scale_out_configuration}
    */
    readonly scaleOutConfiguration: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules | cdktf.IResolvable): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules | cdktf.IResolvable): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules | cdktf.IResolvable | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules | cdktf.IResolvable | undefined);
    private _metricExpressionRuleType?;
    get metricExpressionRuleType(): string;
    set metricExpressionRuleType(value: string);
    get metricExpressionRuleTypeInput(): string | undefined;
    private _metricType?;
    get metricType(): string;
    set metricType(value: string);
    resetMetricType(): void;
    get metricTypeInput(): string | undefined;
    private _scaleInConfiguration;
    get scaleInConfiguration(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfigurationOutputReference;
    putScaleInConfiguration(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration): void;
    get scaleInConfigurationInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleInConfiguration | undefined;
    private _scaleOutConfiguration;
    get scaleOutConfiguration(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfigurationOutputReference;
    putScaleOutConfiguration(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration): void;
    get scaleOutConfigurationInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesScaleOutConfiguration | undefined;
}
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules[] | 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): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesOutputReference;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#auto_scaling_policy_type DatascienceModelDeployment#auto_scaling_policy_type}
    */
    readonly autoScalingPolicyType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#initial_instance_count DatascienceModelDeployment#initial_instance_count}
    */
    readonly initialInstanceCount: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#maximum_instance_count DatascienceModelDeployment#maximum_instance_count}
    */
    readonly maximumInstanceCount: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#minimum_instance_count DatascienceModelDeployment#minimum_instance_count}
    */
    readonly minimumInstanceCount: number;
    /**
    * rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#rules DatascienceModelDeployment#rules}
    */
    readonly rules: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules[] | cdktf.IResolvable;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies | cdktf.IResolvable): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies | cdktf.IResolvable): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies | cdktf.IResolvable | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies | cdktf.IResolvable | undefined);
    private _autoScalingPolicyType?;
    get autoScalingPolicyType(): string;
    set autoScalingPolicyType(value: string);
    get autoScalingPolicyTypeInput(): string | undefined;
    private _initialInstanceCount?;
    get initialInstanceCount(): number;
    set initialInstanceCount(value: number);
    get initialInstanceCountInput(): number | undefined;
    private _maximumInstanceCount?;
    get maximumInstanceCount(): number;
    set maximumInstanceCount(value: number);
    get maximumInstanceCountInput(): number | undefined;
    private _minimumInstanceCount?;
    get minimumInstanceCount(): number;
    set minimumInstanceCount(value: number);
    get minimumInstanceCountInput(): number | undefined;
    private _rules;
    get rules(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRulesList;
    putRules(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules[] | cdktf.IResolvable): void;
    get rulesInput(): cdktf.IResolvable | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesRules[] | undefined;
}
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies[] | 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): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesOutputReference;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#cool_down_in_seconds DatascienceModelDeployment#cool_down_in_seconds}
    */
    readonly coolDownInSeconds?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#instance_count DatascienceModelDeployment#instance_count}
    */
    readonly instanceCount?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#is_enabled DatascienceModelDeployment#is_enabled}
    */
    readonly isEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#policy_type DatascienceModelDeployment#policy_type}
    */
    readonly policyType: string;
    /**
    * auto_scaling_policies block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#auto_scaling_policies DatascienceModelDeployment#auto_scaling_policies}
    */
    readonly autoScalingPolicies?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies[] | cdktf.IResolvable;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy | undefined);
    private _coolDownInSeconds?;
    get coolDownInSeconds(): number;
    set coolDownInSeconds(value: number);
    resetCoolDownInSeconds(): void;
    get coolDownInSecondsInput(): number | undefined;
    private _instanceCount?;
    get instanceCount(): number;
    set instanceCount(value: number);
    resetInstanceCount(): void;
    get instanceCountInput(): number | undefined;
    private _isEnabled?;
    get isEnabled(): boolean | cdktf.IResolvable;
    set isEnabled(value: boolean | cdktf.IResolvable);
    resetIsEnabled(): void;
    get isEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _policyType?;
    get policyType(): string;
    set policyType(value: string);
    get policyTypeInput(): string | undefined;
    private _autoScalingPolicies;
    get autoScalingPolicies(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPoliciesList;
    putAutoScalingPolicies(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies[] | cdktf.IResolvable): void;
    resetAutoScalingPolicies(): void;
    get autoScalingPoliciesInput(): cdktf.IResolvable | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyAutoScalingPolicies[] | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#bandwidth_mbps DatascienceModelDeployment#bandwidth_mbps}
    */
    readonly bandwidthMbps?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#maximum_bandwidth_mbps DatascienceModelDeployment#maximum_bandwidth_mbps}
    */
    readonly maximumBandwidthMbps?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#model_id DatascienceModelDeployment#model_id}
    */
    readonly modelId: string;
    /**
    * instance_configuration block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#instance_configuration DatascienceModelDeployment#instance_configuration}
    */
    readonly instanceConfiguration: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration;
    /**
    * scaling_policy block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#scaling_policy DatascienceModelDeployment#scaling_policy}
    */
    readonly scalingPolicy?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails | undefined);
    private _bandwidthMbps?;
    get bandwidthMbps(): number;
    set bandwidthMbps(value: number);
    resetBandwidthMbps(): void;
    get bandwidthMbpsInput(): number | undefined;
    private _maximumBandwidthMbps?;
    get maximumBandwidthMbps(): number;
    set maximumBandwidthMbps(value: number);
    resetMaximumBandwidthMbps(): void;
    get maximumBandwidthMbpsInput(): number | undefined;
    private _modelId?;
    get modelId(): string;
    set modelId(value: string);
    get modelIdInput(): string | undefined;
    private _instanceConfiguration;
    get instanceConfiguration(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfigurationOutputReference;
    putInstanceConfiguration(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration): void;
    get instanceConfigurationInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsInstanceConfiguration | undefined;
    private _scalingPolicy;
    get scalingPolicy(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicyOutputReference;
    putScalingPolicy(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy): void;
    resetScalingPolicy(): void;
    get scalingPolicyInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsScalingPolicy | undefined;
}
export interface DatascienceModelDeploymentModelDeploymentConfigurationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#deployment_type DatascienceModelDeployment#deployment_type}
    */
    readonly deploymentType: string;
    /**
    * environment_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#environment_configuration_details DatascienceModelDeployment#environment_configuration_details}
    */
    readonly environmentConfigurationDetails?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails;
    /**
    * model_configuration_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#model_configuration_details DatascienceModelDeployment#model_configuration_details}
    */
    readonly modelConfigurationDetails: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails;
}
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsToTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetails): any;
export declare function datascienceModelDeploymentModelDeploymentConfigurationDetailsToHclTerraform(struct?: DatascienceModelDeploymentModelDeploymentConfigurationDetailsOutputReference | DatascienceModelDeploymentModelDeploymentConfigurationDetails): any;
export declare class DatascienceModelDeploymentModelDeploymentConfigurationDetailsOutputReference 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(): DatascienceModelDeploymentModelDeploymentConfigurationDetails | undefined;
    set internalValue(value: DatascienceModelDeploymentModelDeploymentConfigurationDetails | undefined);
    private _deploymentType?;
    get deploymentType(): string;
    set deploymentType(value: string);
    get deploymentTypeInput(): string | undefined;
    private _environmentConfigurationDetails;
    get environmentConfigurationDetails(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetailsOutputReference;
    putEnvironmentConfigurationDetails(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails): void;
    resetEnvironmentConfigurationDetails(): void;
    get environmentConfigurationDetailsInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsEnvironmentConfigurationDetails | undefined;
    private _modelConfigurationDetails;
    get modelConfigurationDetails(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetailsOutputReference;
    putModelConfigurationDetails(value: DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails): void;
    get modelConfigurationDetailsInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsModelConfigurationDetails | undefined;
}
export interface DatascienceModelDeploymentTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#create DatascienceModelDeployment#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#delete DatascienceModelDeployment#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#update DatascienceModelDeployment#update}
    */
    readonly update?: string;
}
export declare function datascienceModelDeploymentTimeoutsToTerraform(struct?: DatascienceModelDeploymentTimeouts | cdktf.IResolvable): any;
export declare function datascienceModelDeploymentTimeoutsToHclTerraform(struct?: DatascienceModelDeploymentTimeouts | cdktf.IResolvable): any;
export declare class DatascienceModelDeploymentTimeoutsOutputReference 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(): DatascienceModelDeploymentTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatascienceModelDeploymentTimeouts | 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_model_deployment oci_datascience_model_deployment}
*/
export declare class DatascienceModelDeployment extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_datascience_model_deployment";
    /**
    * Generates CDKTF code for importing a DatascienceModelDeployment 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 DatascienceModelDeployment to import
    * @param importFromId The id of the existing DatascienceModelDeployment that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/datascience_model_deployment#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatascienceModelDeployment 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_model_deployment oci_datascience_model_deployment} 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 DatascienceModelDeploymentConfig
    */
    constructor(scope: Construct, id: string, config: DatascienceModelDeploymentConfig);
    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 _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 _modelDeploymentSystemData;
    get modelDeploymentSystemData(): DatascienceModelDeploymentModelDeploymentSystemDataList;
    get modelDeploymentUrl(): string;
    private _opcParentRptUrl?;
    get opcParentRptUrl(): string;
    set opcParentRptUrl(value: string);
    resetOpcParentRptUrl(): void;
    get opcParentRptUrlInput(): string | undefined;
    private _projectId?;
    get projectId(): string;
    set projectId(value: string);
    get projectIdInput(): string | undefined;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    get timeCreated(): string;
    private _categoryLogDetails;
    get categoryLogDetails(): DatascienceModelDeploymentCategoryLogDetailsOutputReference;
    putCategoryLogDetails(value: DatascienceModelDeploymentCategoryLogDetails): void;
    resetCategoryLogDetails(): void;
    get categoryLogDetailsInput(): DatascienceModelDeploymentCategoryLogDetails | undefined;
    private _modelDeploymentConfigurationDetails;
    get modelDeploymentConfigurationDetails(): DatascienceModelDeploymentModelDeploymentConfigurationDetailsOutputReference;
    putModelDeploymentConfigurationDetails(value: DatascienceModelDeploymentModelDeploymentConfigurationDetails): void;
    get modelDeploymentConfigurationDetailsInput(): DatascienceModelDeploymentModelDeploymentConfigurationDetails | undefined;
    private _timeouts;
    get timeouts(): DatascienceModelDeploymentTimeoutsOutputReference;
    putTimeouts(value: DatascienceModelDeploymentTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatascienceModelDeploymentTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
