/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface OracleDatabaseCloudVmClusterConfig extends cdktf.TerraformMetaArguments {
    /**
    * CIDR range of the backup subnet.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#backup_subnet_cidr OracleDatabaseCloudVmCluster#backup_subnet_cidr}
    */
    readonly backupSubnetCidr: string;
    /**
    * Network settings. CIDR to use for cluster IP allocation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#cidr OracleDatabaseCloudVmCluster#cidr}
    */
    readonly cidr: string;
    /**
    * The ID of the VM Cluster to create. This value is restricted
    * to (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63
    * characters in length. The value must start with a letter and end with
    * a letter or a number.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#cloud_vm_cluster_id OracleDatabaseCloudVmCluster#cloud_vm_cluster_id}
    */
    readonly cloudVmClusterId: string;
    /**
    * User friendly name for this resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#display_name OracleDatabaseCloudVmCluster#display_name}
    */
    readonly displayName?: string;
    /**
    * The name of the Exadata Infrastructure resource on which VM cluster
    * resource is created, in the following format:
    * projects/{project}/locations/{region}/cloudExadataInfrastuctures/{cloud_extradata_infrastructure}
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#exadata_infrastructure OracleDatabaseCloudVmCluster#exadata_infrastructure}
    */
    readonly exadataInfrastructure: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#id OracleDatabaseCloudVmCluster#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;
    /**
    * Labels or tags associated with the VM Cluster.
    *
    * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
    * Please refer to the field 'effective_labels' for all of the labels present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#labels OracleDatabaseCloudVmCluster#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Resource ID segment making up resource 'name'. See documentation for resource type 'oracledatabase.googleapis.com/DbNode'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#location OracleDatabaseCloudVmCluster#location}
    */
    readonly location: string;
    /**
    * The name of the VPC network.
    * Format: projects/{project}/global/networks/{network}
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#network OracleDatabaseCloudVmCluster#network}
    */
    readonly network: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#project OracleDatabaseCloudVmCluster#project}
    */
    readonly project?: string;
    /**
    * properties block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#properties OracleDatabaseCloudVmCluster#properties}
    */
    readonly properties?: OracleDatabaseCloudVmClusterProperties;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#timeouts OracleDatabaseCloudVmCluster#timeouts}
    */
    readonly timeouts?: OracleDatabaseCloudVmClusterTimeouts;
}
export interface OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions {
    /**
    * Indicates whether diagnostic collection is enabled for the VM cluster
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#diagnostics_events_enabled OracleDatabaseCloudVmCluster#diagnostics_events_enabled}
    */
    readonly diagnosticsEventsEnabled?: boolean | cdktf.IResolvable;
    /**
    * Indicates whether health monitoring is enabled for the VM cluster
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#health_monitoring_enabled OracleDatabaseCloudVmCluster#health_monitoring_enabled}
    */
    readonly healthMonitoringEnabled?: boolean | cdktf.IResolvable;
    /**
    * Indicates whether incident logs and trace collection are enabled for the VM
    * cluster
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#incident_logs_enabled OracleDatabaseCloudVmCluster#incident_logs_enabled}
    */
    readonly incidentLogsEnabled?: boolean | cdktf.IResolvable;
}
export declare function oracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsToTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsOutputReference | OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions): any;
export declare function oracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsToHclTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsOutputReference | OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions): any;
export declare class OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsOutputReference 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(): OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions | undefined;
    set internalValue(value: OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions | undefined);
    private _diagnosticsEventsEnabled?;
    get diagnosticsEventsEnabled(): boolean | cdktf.IResolvable;
    set diagnosticsEventsEnabled(value: boolean | cdktf.IResolvable);
    resetDiagnosticsEventsEnabled(): void;
    get diagnosticsEventsEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _healthMonitoringEnabled?;
    get healthMonitoringEnabled(): boolean | cdktf.IResolvable;
    set healthMonitoringEnabled(value: boolean | cdktf.IResolvable);
    resetHealthMonitoringEnabled(): void;
    get healthMonitoringEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _incidentLogsEnabled?;
    get incidentLogsEnabled(): boolean | cdktf.IResolvable;
    set incidentLogsEnabled(value: boolean | cdktf.IResolvable);
    resetIncidentLogsEnabled(): void;
    get incidentLogsEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface OracleDatabaseCloudVmClusterPropertiesTimeZone {
    /**
    * IANA Time Zone Database time zone, e.g. "America/New_York".
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#id OracleDatabaseCloudVmCluster#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;
}
export declare function oracleDatabaseCloudVmClusterPropertiesTimeZoneToTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesTimeZoneOutputReference | OracleDatabaseCloudVmClusterPropertiesTimeZone): any;
export declare function oracleDatabaseCloudVmClusterPropertiesTimeZoneToHclTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesTimeZoneOutputReference | OracleDatabaseCloudVmClusterPropertiesTimeZone): any;
export declare class OracleDatabaseCloudVmClusterPropertiesTimeZoneOutputReference 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(): OracleDatabaseCloudVmClusterPropertiesTimeZone | undefined;
    set internalValue(value: OracleDatabaseCloudVmClusterPropertiesTimeZone | undefined);
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
}
export interface OracleDatabaseCloudVmClusterProperties {
    /**
    * OCI Cluster name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#cluster_name OracleDatabaseCloudVmCluster#cluster_name}
    */
    readonly clusterName?: string;
    /**
    * Number of enabled CPU cores.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#cpu_core_count OracleDatabaseCloudVmCluster#cpu_core_count}
    */
    readonly cpuCoreCount: number;
    /**
    * The data disk group size to be allocated in TBs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#data_storage_size_tb OracleDatabaseCloudVmCluster#data_storage_size_tb}
    */
    readonly dataStorageSizeTb?: number;
    /**
    * Local storage per VM
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#db_node_storage_size_gb OracleDatabaseCloudVmCluster#db_node_storage_size_gb}
    */
    readonly dbNodeStorageSizeGb?: number;
    /**
    * OCID of database servers.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#db_server_ocids OracleDatabaseCloudVmCluster#db_server_ocids}
    */
    readonly dbServerOcids?: string[];
    /**
    * The type of redundancy.
    *  Possible values:
    *  DISK_REDUNDANCY_UNSPECIFIED
    * HIGH
    * NORMAL
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#disk_redundancy OracleDatabaseCloudVmCluster#disk_redundancy}
    */
    readonly diskRedundancy?: string;
    /**
    * Grid Infrastructure Version.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#gi_version OracleDatabaseCloudVmCluster#gi_version}
    */
    readonly giVersion?: string;
    /**
    * Prefix for VM cluster host names.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#hostname_prefix OracleDatabaseCloudVmCluster#hostname_prefix}
    */
    readonly hostnamePrefix?: string;
    /**
    * License type of VM Cluster.
    *  Possible values:
    *  LICENSE_TYPE_UNSPECIFIED
    * LICENSE_INCLUDED
    * BRING_YOUR_OWN_LICENSE
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#license_type OracleDatabaseCloudVmCluster#license_type}
    */
    readonly licenseType: string;
    /**
    * Use local backup.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#local_backup_enabled OracleDatabaseCloudVmCluster#local_backup_enabled}
    */
    readonly localBackupEnabled?: boolean | cdktf.IResolvable;
    /**
    * Memory allocated in GBs.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#memory_size_gb OracleDatabaseCloudVmCluster#memory_size_gb}
    */
    readonly memorySizeGb?: number;
    /**
    * Number of database servers.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#node_count OracleDatabaseCloudVmCluster#node_count}
    */
    readonly nodeCount?: number;
    /**
    * OCPU count per VM. Minimum is 0.1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#ocpu_count OracleDatabaseCloudVmCluster#ocpu_count}
    */
    readonly ocpuCount?: number;
    /**
    * Use exadata sparse snapshots.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#sparse_diskgroup_enabled OracleDatabaseCloudVmCluster#sparse_diskgroup_enabled}
    */
    readonly sparseDiskgroupEnabled?: boolean | cdktf.IResolvable;
    /**
    * SSH public keys to be stored with cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#ssh_public_keys OracleDatabaseCloudVmCluster#ssh_public_keys}
    */
    readonly sshPublicKeys?: string[];
    /**
    * diagnostics_data_collection_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#diagnostics_data_collection_options OracleDatabaseCloudVmCluster#diagnostics_data_collection_options}
    */
    readonly diagnosticsDataCollectionOptions?: OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions;
    /**
    * time_zone block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#time_zone OracleDatabaseCloudVmCluster#time_zone}
    */
    readonly timeZone?: OracleDatabaseCloudVmClusterPropertiesTimeZone;
}
export declare function oracleDatabaseCloudVmClusterPropertiesToTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesOutputReference | OracleDatabaseCloudVmClusterProperties): any;
export declare function oracleDatabaseCloudVmClusterPropertiesToHclTerraform(struct?: OracleDatabaseCloudVmClusterPropertiesOutputReference | OracleDatabaseCloudVmClusterProperties): any;
export declare class OracleDatabaseCloudVmClusterPropertiesOutputReference 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(): OracleDatabaseCloudVmClusterProperties | undefined;
    set internalValue(value: OracleDatabaseCloudVmClusterProperties | undefined);
    private _clusterName?;
    get clusterName(): string;
    set clusterName(value: string);
    resetClusterName(): void;
    get clusterNameInput(): string | undefined;
    get compartmentId(): string;
    private _cpuCoreCount?;
    get cpuCoreCount(): number;
    set cpuCoreCount(value: number);
    get cpuCoreCountInput(): number | undefined;
    private _dataStorageSizeTb?;
    get dataStorageSizeTb(): number;
    set dataStorageSizeTb(value: number);
    resetDataStorageSizeTb(): void;
    get dataStorageSizeTbInput(): number | undefined;
    private _dbNodeStorageSizeGb?;
    get dbNodeStorageSizeGb(): number;
    set dbNodeStorageSizeGb(value: number);
    resetDbNodeStorageSizeGb(): void;
    get dbNodeStorageSizeGbInput(): number | undefined;
    private _dbServerOcids?;
    get dbServerOcids(): string[];
    set dbServerOcids(value: string[]);
    resetDbServerOcids(): void;
    get dbServerOcidsInput(): string[] | undefined;
    private _diskRedundancy?;
    get diskRedundancy(): string;
    set diskRedundancy(value: string);
    resetDiskRedundancy(): void;
    get diskRedundancyInput(): string | undefined;
    get dnsListenerIp(): string;
    get domain(): string;
    private _giVersion?;
    get giVersion(): string;
    set giVersion(value: string);
    resetGiVersion(): void;
    get giVersionInput(): string | undefined;
    get hostname(): string;
    private _hostnamePrefix?;
    get hostnamePrefix(): string;
    set hostnamePrefix(value: string);
    resetHostnamePrefix(): void;
    get hostnamePrefixInput(): string | undefined;
    private _licenseType?;
    get licenseType(): string;
    set licenseType(value: string);
    get licenseTypeInput(): string | undefined;
    private _localBackupEnabled?;
    get localBackupEnabled(): boolean | cdktf.IResolvable;
    set localBackupEnabled(value: boolean | cdktf.IResolvable);
    resetLocalBackupEnabled(): void;
    get localBackupEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _memorySizeGb?;
    get memorySizeGb(): number;
    set memorySizeGb(value: number);
    resetMemorySizeGb(): void;
    get memorySizeGbInput(): number | undefined;
    private _nodeCount?;
    get nodeCount(): number;
    set nodeCount(value: number);
    resetNodeCount(): void;
    get nodeCountInput(): number | undefined;
    get ociUrl(): string;
    get ocid(): string;
    private _ocpuCount?;
    get ocpuCount(): number;
    set ocpuCount(value: number);
    resetOcpuCount(): void;
    get ocpuCountInput(): number | undefined;
    get scanDns(): string;
    get scanDnsRecordId(): string;
    get scanIpIds(): string[];
    get scanListenerPortTcp(): number;
    get scanListenerPortTcpSsl(): number;
    get shape(): string;
    private _sparseDiskgroupEnabled?;
    get sparseDiskgroupEnabled(): boolean | cdktf.IResolvable;
    set sparseDiskgroupEnabled(value: boolean | cdktf.IResolvable);
    resetSparseDiskgroupEnabled(): void;
    get sparseDiskgroupEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _sshPublicKeys?;
    get sshPublicKeys(): string[];
    set sshPublicKeys(value: string[]);
    resetSshPublicKeys(): void;
    get sshPublicKeysInput(): string[] | undefined;
    get state(): string;
    get storageSizeGb(): number;
    get systemVersion(): string;
    private _diagnosticsDataCollectionOptions;
    get diagnosticsDataCollectionOptions(): OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptionsOutputReference;
    putDiagnosticsDataCollectionOptions(value: OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions): void;
    resetDiagnosticsDataCollectionOptions(): void;
    get diagnosticsDataCollectionOptionsInput(): OracleDatabaseCloudVmClusterPropertiesDiagnosticsDataCollectionOptions | undefined;
    private _timeZone;
    get timeZone(): OracleDatabaseCloudVmClusterPropertiesTimeZoneOutputReference;
    putTimeZone(value: OracleDatabaseCloudVmClusterPropertiesTimeZone): void;
    resetTimeZone(): void;
    get timeZoneInput(): OracleDatabaseCloudVmClusterPropertiesTimeZone | undefined;
}
export interface OracleDatabaseCloudVmClusterTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#create OracleDatabaseCloudVmCluster#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#delete OracleDatabaseCloudVmCluster#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#update OracleDatabaseCloudVmCluster#update}
    */
    readonly update?: string;
}
export declare function oracleDatabaseCloudVmClusterTimeoutsToTerraform(struct?: OracleDatabaseCloudVmClusterTimeouts | cdktf.IResolvable): any;
export declare function oracleDatabaseCloudVmClusterTimeoutsToHclTerraform(struct?: OracleDatabaseCloudVmClusterTimeouts | cdktf.IResolvable): any;
export declare class OracleDatabaseCloudVmClusterTimeoutsOutputReference 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(): OracleDatabaseCloudVmClusterTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: OracleDatabaseCloudVmClusterTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster google_oracle_database_cloud_vm_cluster}
*/
export declare class OracleDatabaseCloudVmCluster extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_oracle_database_cloud_vm_cluster";
    /**
    * Generates CDKTF code for importing a OracleDatabaseCloudVmCluster 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 OracleDatabaseCloudVmCluster to import
    * @param importFromId The id of the existing OracleDatabaseCloudVmCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the OracleDatabaseCloudVmCluster to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.10.0/docs/resources/oracle_database_cloud_vm_cluster google_oracle_database_cloud_vm_cluster} 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 OracleDatabaseCloudVmClusterConfig
    */
    constructor(scope: Construct, id: string, config: OracleDatabaseCloudVmClusterConfig);
    private _backupSubnetCidr?;
    get backupSubnetCidr(): string;
    set backupSubnetCidr(value: string);
    get backupSubnetCidrInput(): string | undefined;
    private _cidr?;
    get cidr(): string;
    set cidr(value: string);
    get cidrInput(): string | undefined;
    private _cloudVmClusterId?;
    get cloudVmClusterId(): string;
    set cloudVmClusterId(value: string);
    get cloudVmClusterIdInput(): string | undefined;
    get createTime(): string;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _exadataInfrastructure?;
    get exadataInfrastructure(): string;
    set exadataInfrastructure(value: string);
    get exadataInfrastructureInput(): string | undefined;
    get gcpOracleZone(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    get name(): string;
    private _network?;
    get network(): string;
    set network(value: string);
    get networkInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    private _properties;
    get properties(): OracleDatabaseCloudVmClusterPropertiesOutputReference;
    putProperties(value: OracleDatabaseCloudVmClusterProperties): void;
    resetProperties(): void;
    get propertiesInput(): OracleDatabaseCloudVmClusterProperties | undefined;
    private _timeouts;
    get timeouts(): OracleDatabaseCloudVmClusterTimeoutsOutputReference;
    putTimeouts(value: OracleDatabaseCloudVmClusterTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | OracleDatabaseCloudVmClusterTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
