import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatabaseExadbVmClusterConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#availability_domain DatabaseExadbVmCluster#availability_domain}
    */
    readonly availabilityDomain: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#backup_network_nsg_ids DatabaseExadbVmCluster#backup_network_nsg_ids}
    */
    readonly backupNetworkNsgIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#backup_subnet_id DatabaseExadbVmCluster#backup_subnet_id}
    */
    readonly backupSubnetId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#cluster_name DatabaseExadbVmCluster#cluster_name}
    */
    readonly clusterName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#compartment_id DatabaseExadbVmCluster#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#defined_tags DatabaseExadbVmCluster#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#display_name DatabaseExadbVmCluster#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#domain DatabaseExadbVmCluster#domain}
    */
    readonly domain?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#exascale_db_storage_vault_id DatabaseExadbVmCluster#exascale_db_storage_vault_id}
    */
    readonly exascaleDbStorageVaultId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#freeform_tags DatabaseExadbVmCluster#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#grid_image_id DatabaseExadbVmCluster#grid_image_id}
    */
    readonly gridImageId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#hostname DatabaseExadbVmCluster#hostname}
    */
    readonly hostname: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#id DatabaseExadbVmCluster#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/database_exadb_vm_cluster#license_model DatabaseExadbVmCluster#license_model}
    */
    readonly licenseModel?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#nsg_ids DatabaseExadbVmCluster#nsg_ids}
    */
    readonly nsgIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#private_zone_id DatabaseExadbVmCluster#private_zone_id}
    */
    readonly privateZoneId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#scan_listener_port_tcp DatabaseExadbVmCluster#scan_listener_port_tcp}
    */
    readonly scanListenerPortTcp?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#scan_listener_port_tcp_ssl DatabaseExadbVmCluster#scan_listener_port_tcp_ssl}
    */
    readonly scanListenerPortTcpSsl?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#security_attributes DatabaseExadbVmCluster#security_attributes}
    */
    readonly securityAttributes?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#shape DatabaseExadbVmCluster#shape}
    */
    readonly shape: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#ssh_public_keys DatabaseExadbVmCluster#ssh_public_keys}
    */
    readonly sshPublicKeys: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#subnet_id DatabaseExadbVmCluster#subnet_id}
    */
    readonly subnetId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#system_version DatabaseExadbVmCluster#system_version}
    */
    readonly systemVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#time_zone DatabaseExadbVmCluster#time_zone}
    */
    readonly timeZone?: string;
    /**
    * data_collection_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#data_collection_options DatabaseExadbVmCluster#data_collection_options}
    */
    readonly dataCollectionOptions?: DatabaseExadbVmClusterDataCollectionOptions;
    /**
    * node_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#node_config DatabaseExadbVmCluster#node_config}
    */
    readonly nodeConfig: DatabaseExadbVmClusterNodeConfig;
    /**
    * node_resource block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#node_resource DatabaseExadbVmCluster#node_resource}
    */
    readonly nodeResource?: DatabaseExadbVmClusterNodeResource[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#timeouts DatabaseExadbVmCluster#timeouts}
    */
    readonly timeouts?: DatabaseExadbVmClusterTimeouts;
}
export interface DatabaseExadbVmClusterIormConfigCacheDbPlans {
}
export declare function databaseExadbVmClusterIormConfigCacheDbPlansToTerraform(struct?: DatabaseExadbVmClusterIormConfigCacheDbPlans): any;
export declare function databaseExadbVmClusterIormConfigCacheDbPlansToHclTerraform(struct?: DatabaseExadbVmClusterIormConfigCacheDbPlans): any;
export declare class DatabaseExadbVmClusterIormConfigCacheDbPlansOutputReference 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(): DatabaseExadbVmClusterIormConfigCacheDbPlans | undefined;
    set internalValue(value: DatabaseExadbVmClusterIormConfigCacheDbPlans | undefined);
    get dbName(): string;
    get flashCacheLimit(): string;
    get share(): number;
}
export declare class DatabaseExadbVmClusterIormConfigCacheDbPlansList 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): DatabaseExadbVmClusterIormConfigCacheDbPlansOutputReference;
}
export interface DatabaseExadbVmClusterIormConfigCache {
}
export declare function databaseExadbVmClusterIormConfigCacheToTerraform(struct?: DatabaseExadbVmClusterIormConfigCache): any;
export declare function databaseExadbVmClusterIormConfigCacheToHclTerraform(struct?: DatabaseExadbVmClusterIormConfigCache): any;
export declare class DatabaseExadbVmClusterIormConfigCacheOutputReference 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(): DatabaseExadbVmClusterIormConfigCache | undefined;
    set internalValue(value: DatabaseExadbVmClusterIormConfigCache | undefined);
    private _dbPlans;
    get dbPlans(): DatabaseExadbVmClusterIormConfigCacheDbPlansList;
    get lifecycleDetails(): string;
    get objective(): string;
    get state(): string;
}
export declare class DatabaseExadbVmClusterIormConfigCacheList 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): DatabaseExadbVmClusterIormConfigCacheOutputReference;
}
export interface DatabaseExadbVmClusterDataCollectionOptions {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#is_diagnostics_events_enabled DatabaseExadbVmCluster#is_diagnostics_events_enabled}
    */
    readonly isDiagnosticsEventsEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#is_health_monitoring_enabled DatabaseExadbVmCluster#is_health_monitoring_enabled}
    */
    readonly isHealthMonitoringEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#is_incident_logs_enabled DatabaseExadbVmCluster#is_incident_logs_enabled}
    */
    readonly isIncidentLogsEnabled?: boolean | cdktf.IResolvable;
}
export declare function databaseExadbVmClusterDataCollectionOptionsToTerraform(struct?: DatabaseExadbVmClusterDataCollectionOptionsOutputReference | DatabaseExadbVmClusterDataCollectionOptions): any;
export declare function databaseExadbVmClusterDataCollectionOptionsToHclTerraform(struct?: DatabaseExadbVmClusterDataCollectionOptionsOutputReference | DatabaseExadbVmClusterDataCollectionOptions): any;
export declare class DatabaseExadbVmClusterDataCollectionOptionsOutputReference 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(): DatabaseExadbVmClusterDataCollectionOptions | undefined;
    set internalValue(value: DatabaseExadbVmClusterDataCollectionOptions | undefined);
    private _isDiagnosticsEventsEnabled?;
    get isDiagnosticsEventsEnabled(): boolean | cdktf.IResolvable;
    set isDiagnosticsEventsEnabled(value: boolean | cdktf.IResolvable);
    resetIsDiagnosticsEventsEnabled(): void;
    get isDiagnosticsEventsEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isHealthMonitoringEnabled?;
    get isHealthMonitoringEnabled(): boolean | cdktf.IResolvable;
    set isHealthMonitoringEnabled(value: boolean | cdktf.IResolvable);
    resetIsHealthMonitoringEnabled(): void;
    get isHealthMonitoringEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isIncidentLogsEnabled?;
    get isIncidentLogsEnabled(): boolean | cdktf.IResolvable;
    set isIncidentLogsEnabled(value: boolean | cdktf.IResolvable);
    resetIsIncidentLogsEnabled(): void;
    get isIncidentLogsEnabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface DatabaseExadbVmClusterNodeConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#enabled_ecpu_count_per_node DatabaseExadbVmCluster#enabled_ecpu_count_per_node}
    */
    readonly enabledEcpuCountPerNode: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#total_ecpu_count_per_node DatabaseExadbVmCluster#total_ecpu_count_per_node}
    */
    readonly totalEcpuCountPerNode: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#vm_file_system_storage_size_gbs_per_node DatabaseExadbVmCluster#vm_file_system_storage_size_gbs_per_node}
    */
    readonly vmFileSystemStorageSizeGbsPerNode: number;
}
export declare function databaseExadbVmClusterNodeConfigToTerraform(struct?: DatabaseExadbVmClusterNodeConfigOutputReference | DatabaseExadbVmClusterNodeConfig): any;
export declare function databaseExadbVmClusterNodeConfigToHclTerraform(struct?: DatabaseExadbVmClusterNodeConfigOutputReference | DatabaseExadbVmClusterNodeConfig): any;
export declare class DatabaseExadbVmClusterNodeConfigOutputReference 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(): DatabaseExadbVmClusterNodeConfig | undefined;
    set internalValue(value: DatabaseExadbVmClusterNodeConfig | undefined);
    private _enabledEcpuCountPerNode?;
    get enabledEcpuCountPerNode(): number;
    set enabledEcpuCountPerNode(value: number);
    get enabledEcpuCountPerNodeInput(): number | undefined;
    get memorySizeInGbsPerNode(): number;
    get snapshotFileSystemStorageSizeGbsPerNode(): number;
    private _totalEcpuCountPerNode?;
    get totalEcpuCountPerNode(): number;
    set totalEcpuCountPerNode(value: number);
    get totalEcpuCountPerNodeInput(): number | undefined;
    get totalFileSystemStorageSizeGbsPerNode(): number;
    private _vmFileSystemStorageSizeGbsPerNode?;
    get vmFileSystemStorageSizeGbsPerNode(): number;
    set vmFileSystemStorageSizeGbsPerNode(value: number);
    get vmFileSystemStorageSizeGbsPerNodeInput(): number | undefined;
}
export interface DatabaseExadbVmClusterNodeResource {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#node_name DatabaseExadbVmCluster#node_name}
    */
    readonly nodeName: string;
}
export declare function databaseExadbVmClusterNodeResourceToTerraform(struct?: DatabaseExadbVmClusterNodeResource | cdktf.IResolvable): any;
export declare function databaseExadbVmClusterNodeResourceToHclTerraform(struct?: DatabaseExadbVmClusterNodeResource | cdktf.IResolvable): any;
export declare class DatabaseExadbVmClusterNodeResourceOutputReference 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(): DatabaseExadbVmClusterNodeResource | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseExadbVmClusterNodeResource | cdktf.IResolvable | undefined);
    get nodeHostname(): string;
    get nodeId(): string;
    private _nodeName?;
    get nodeName(): string;
    set nodeName(value: string);
    get nodeNameInput(): string | undefined;
    get state(): string;
}
export declare class DatabaseExadbVmClusterNodeResourceList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseExadbVmClusterNodeResource[] | 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): DatabaseExadbVmClusterNodeResourceOutputReference;
}
export interface DatabaseExadbVmClusterTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#create DatabaseExadbVmCluster#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#delete DatabaseExadbVmCluster#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_vm_cluster#update DatabaseExadbVmCluster#update}
    */
    readonly update?: string;
}
export declare function databaseExadbVmClusterTimeoutsToTerraform(struct?: DatabaseExadbVmClusterTimeouts | cdktf.IResolvable): any;
export declare function databaseExadbVmClusterTimeoutsToHclTerraform(struct?: DatabaseExadbVmClusterTimeouts | cdktf.IResolvable): any;
export declare class DatabaseExadbVmClusterTimeoutsOutputReference 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(): DatabaseExadbVmClusterTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseExadbVmClusterTimeouts | 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/database_exadb_vm_cluster oci_database_exadb_vm_cluster}
*/
export declare class DatabaseExadbVmCluster extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_database_exadb_vm_cluster";
    /**
    * Generates CDKTF code for importing a DatabaseExadbVmCluster 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 DatabaseExadbVmCluster to import
    * @param importFromId The id of the existing DatabaseExadbVmCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_exadb_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 DatabaseExadbVmCluster 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/database_exadb_vm_cluster oci_database_exadb_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 DatabaseExadbVmClusterConfig
    */
    constructor(scope: Construct, id: string, config: DatabaseExadbVmClusterConfig);
    private _availabilityDomain?;
    get availabilityDomain(): string;
    set availabilityDomain(value: string);
    get availabilityDomainInput(): string | undefined;
    private _backupNetworkNsgIds?;
    get backupNetworkNsgIds(): string[];
    set backupNetworkNsgIds(value: string[]);
    resetBackupNetworkNsgIds(): void;
    get backupNetworkNsgIdsInput(): string[] | undefined;
    private _backupSubnetId?;
    get backupSubnetId(): string;
    set backupSubnetId(value: string);
    get backupSubnetIdInput(): string | undefined;
    private _clusterName?;
    get clusterName(): string;
    set clusterName(value: string);
    resetClusterName(): void;
    get clusterNameInput(): string | undefined;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _domain?;
    get domain(): string;
    set domain(value: string);
    resetDomain(): void;
    get domainInput(): string | undefined;
    private _exascaleDbStorageVaultId?;
    get exascaleDbStorageVaultId(): string;
    set exascaleDbStorageVaultId(value: string);
    get exascaleDbStorageVaultIdInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    get giVersion(): string;
    private _gridImageId?;
    get gridImageId(): string;
    set gridImageId(value: string);
    get gridImageIdInput(): string | undefined;
    get gridImageType(): string;
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    get hostnameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _iormConfigCache;
    get iormConfigCache(): DatabaseExadbVmClusterIormConfigCacheList;
    get lastUpdateHistoryEntryId(): string;
    private _licenseModel?;
    get licenseModel(): string;
    set licenseModel(value: string);
    resetLicenseModel(): void;
    get licenseModelInput(): string | undefined;
    get lifecycleDetails(): string;
    get listenerPort(): string;
    private _nsgIds?;
    get nsgIds(): string[];
    set nsgIds(value: string[]);
    resetNsgIds(): void;
    get nsgIdsInput(): string[] | undefined;
    private _privateZoneId?;
    get privateZoneId(): string;
    set privateZoneId(value: string);
    resetPrivateZoneId(): void;
    get privateZoneIdInput(): string | undefined;
    get scanDnsName(): string;
    get scanDnsRecordId(): string;
    get scanIpIds(): string[];
    private _scanListenerPortTcp?;
    get scanListenerPortTcp(): number;
    set scanListenerPortTcp(value: number);
    resetScanListenerPortTcp(): void;
    get scanListenerPortTcpInput(): number | undefined;
    private _scanListenerPortTcpSsl?;
    get scanListenerPortTcpSsl(): number;
    set scanListenerPortTcpSsl(value: number);
    resetScanListenerPortTcpSsl(): void;
    get scanListenerPortTcpSslInput(): number | undefined;
    private _securityAttributes?;
    get securityAttributes(): {
        [key: string]: string;
    };
    set securityAttributes(value: {
        [key: string]: string;
    });
    resetSecurityAttributes(): void;
    get securityAttributesInput(): {
        [key: string]: string;
    } | undefined;
    private _shape?;
    get shape(): string;
    set shape(value: string);
    get shapeInput(): string | undefined;
    private _sshPublicKeys?;
    get sshPublicKeys(): string[];
    set sshPublicKeys(value: string[]);
    get sshPublicKeysInput(): string[] | undefined;
    get state(): string;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    get subnetIdInput(): string | undefined;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    private _systemVersion?;
    get systemVersion(): string;
    set systemVersion(value: string);
    resetSystemVersion(): void;
    get systemVersionInput(): string | undefined;
    get timeCreated(): string;
    private _timeZone?;
    get timeZone(): string;
    set timeZone(value: string);
    resetTimeZone(): void;
    get timeZoneInput(): string | undefined;
    get vipIds(): string[];
    get zoneId(): string;
    private _dataCollectionOptions;
    get dataCollectionOptions(): DatabaseExadbVmClusterDataCollectionOptionsOutputReference;
    putDataCollectionOptions(value: DatabaseExadbVmClusterDataCollectionOptions): void;
    resetDataCollectionOptions(): void;
    get dataCollectionOptionsInput(): DatabaseExadbVmClusterDataCollectionOptions | undefined;
    private _nodeConfig;
    get nodeConfig(): DatabaseExadbVmClusterNodeConfigOutputReference;
    putNodeConfig(value: DatabaseExadbVmClusterNodeConfig): void;
    get nodeConfigInput(): DatabaseExadbVmClusterNodeConfig | undefined;
    private _nodeResource;
    get nodeResource(): DatabaseExadbVmClusterNodeResourceList;
    putNodeResource(value: DatabaseExadbVmClusterNodeResource[] | cdktf.IResolvable): void;
    resetNodeResource(): void;
    get nodeResourceInput(): cdktf.IResolvable | DatabaseExadbVmClusterNodeResource[] | undefined;
    private _timeouts;
    get timeouts(): DatabaseExadbVmClusterTimeoutsOutputReference;
    putTimeouts(value: DatabaseExadbVmClusterTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatabaseExadbVmClusterTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
