import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciDatabaseCloudVmClustersConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#cloud_exadata_infrastructure_id DataOciDatabaseCloudVmClusters#cloud_exadata_infrastructure_id}
    */
    readonly cloudExadataInfrastructureId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#compartment_id DataOciDatabaseCloudVmClusters#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#display_name DataOciDatabaseCloudVmClusters#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#id DataOciDatabaseCloudVmClusters#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/data-sources/database_cloud_vm_clusters#state DataOciDatabaseCloudVmClusters#state}
    */
    readonly state?: string;
    /**
    * filter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#filter DataOciDatabaseCloudVmClusters#filter}
    */
    readonly filter?: DataOciDatabaseCloudVmClustersFilter[] | cdktf.IResolvable;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreference {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreference): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreference): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreference | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreference | undefined);
    get applyUpdatePreferredEndTime(): string;
    get applyUpdatePreferredStartTime(): string;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceList 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): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriod {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriod): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriod): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriod | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriod | undefined);
    get freezePeriodEndTime(): string;
    get freezePeriodStartTime(): string;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodList 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): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetails {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetails): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetails): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetails | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetails | undefined);
    private _applyUpdateTimePreference;
    get applyUpdateTimePreference(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsApplyUpdateTimePreferenceList;
    private _freezePeriod;
    get freezePeriod(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsFreezePeriodList;
    get isEarlyAdoptionEnabled(): cdktf.IResolvable;
    get isFreezePeriodEnabled(): cdktf.IResolvable;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsList 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): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptions {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptions): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptions): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptions | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptions | undefined);
    get isDiagnosticsEventsEnabled(): cdktf.IResolvable;
    get isHealthMonitoringEnabled(): cdktf.IResolvable;
    get isIncidentLogsEnabled(): cdktf.IResolvable;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsList 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): DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetails {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetails): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetails): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetails | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetails | undefined);
    get fileSystemSizeGb(): number;
    get mountPoint(): string;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsList 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): DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlans {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlans): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlans): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlans | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlans | undefined);
    get dbName(): string;
    get flashCacheLimit(): string;
    get share(): number;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansList 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): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCache {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCache): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCache): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCache | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCache | undefined);
    private _dbPlans;
    get dbPlans(): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheDbPlansList;
    get lifecycleDetails(): string;
    get objective(): string;
    get state(): string;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheList 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): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheOutputReference;
}
export interface DataOciDatabaseCloudVmClustersCloudVmClusters {
}
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersToTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClusters): any;
export declare function dataOciDatabaseCloudVmClustersCloudVmClustersToHclTerraform(struct?: DataOciDatabaseCloudVmClustersCloudVmClusters): any;
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersOutputReference 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(): DataOciDatabaseCloudVmClustersCloudVmClusters | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersCloudVmClusters | undefined);
    get availabilityDomain(): string;
    get backupNetworkNsgIds(): string[];
    get backupSubnetId(): string;
    private _cloudAutomationUpdateDetails;
    get cloudAutomationUpdateDetails(): DataOciDatabaseCloudVmClustersCloudVmClustersCloudAutomationUpdateDetailsList;
    get cloudExadataInfrastructureId(): string;
    get clusterName(): string;
    get compartmentId(): string;
    get cpuCoreCount(): number;
    get createAsync(): cdktf.IResolvable;
    private _dataCollectionOptions;
    get dataCollectionOptions(): DataOciDatabaseCloudVmClustersCloudVmClustersDataCollectionOptionsList;
    get dataStoragePercentage(): number;
    get dataStorageSizeInTbs(): number;
    get dbNodeStorageSizeInGbs(): number;
    get dbServers(): string[];
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get diskRedundancy(): string;
    get displayName(): string;
    get domain(): string;
    private _fileSystemConfigurationDetails;
    get fileSystemConfigurationDetails(): DataOciDatabaseCloudVmClustersCloudVmClustersFileSystemConfigurationDetailsList;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get giVersion(): string;
    get hostname(): string;
    get id(): string;
    private _iormConfigCache;
    get iormConfigCache(): DataOciDatabaseCloudVmClustersCloudVmClustersIormConfigCacheList;
    get isLocalBackupEnabled(): cdktf.IResolvable;
    get isSparseDiskgroupEnabled(): cdktf.IResolvable;
    get lastUpdateHistoryEntryId(): string;
    get licenseModel(): string;
    get lifecycleDetails(): string;
    get listenerPort(): string;
    get memorySizeInGbs(): number;
    get nodeCount(): number;
    get nsgIds(): string[];
    get ocpuCount(): number;
    get privateZoneId(): string;
    get scanDnsName(): string;
    get scanDnsRecordId(): string;
    get scanIpIds(): string[];
    get scanListenerPortTcp(): number;
    get scanListenerPortTcpSsl(): number;
    private _securityAttributes;
    get securityAttributes(): cdktf.StringMap;
    get shape(): string;
    get sshPublicKeys(): string[];
    get state(): string;
    get storageSizeInGbs(): number;
    get subnetId(): string;
    get subscriptionId(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get systemVersion(): string;
    get timeCreated(): string;
    get timeZone(): string;
    get vipIds(): string[];
    get zoneId(): string;
}
export declare class DataOciDatabaseCloudVmClustersCloudVmClustersList 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): DataOciDatabaseCloudVmClustersCloudVmClustersOutputReference;
}
export interface DataOciDatabaseCloudVmClustersFilter {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#name DataOciDatabaseCloudVmClusters#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#regex DataOciDatabaseCloudVmClusters#regex}
    */
    readonly regex?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#values DataOciDatabaseCloudVmClusters#values}
    */
    readonly values: string[];
}
export declare function dataOciDatabaseCloudVmClustersFilterToTerraform(struct?: DataOciDatabaseCloudVmClustersFilter | cdktf.IResolvable): any;
export declare function dataOciDatabaseCloudVmClustersFilterToHclTerraform(struct?: DataOciDatabaseCloudVmClustersFilter | cdktf.IResolvable): any;
export declare class DataOciDatabaseCloudVmClustersFilterOutputReference 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(): DataOciDatabaseCloudVmClustersFilter | cdktf.IResolvable | undefined;
    set internalValue(value: DataOciDatabaseCloudVmClustersFilter | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _regex?;
    get regex(): boolean | cdktf.IResolvable;
    set regex(value: boolean | cdktf.IResolvable);
    resetRegex(): void;
    get regexInput(): boolean | cdktf.IResolvable | undefined;
    private _values?;
    get values(): string[];
    set values(value: string[]);
    get valuesInput(): string[] | undefined;
}
export declare class DataOciDatabaseCloudVmClustersFilterList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataOciDatabaseCloudVmClustersFilter[] | 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): DataOciDatabaseCloudVmClustersFilterOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters oci_database_cloud_vm_clusters}
*/
export declare class DataOciDatabaseCloudVmClusters extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_database_cloud_vm_clusters";
    /**
    * Generates CDKTF code for importing a DataOciDatabaseCloudVmClusters 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 DataOciDatabaseCloudVmClusters to import
    * @param importFromId The id of the existing DataOciDatabaseCloudVmClusters that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/database_cloud_vm_clusters#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciDatabaseCloudVmClusters 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/data-sources/database_cloud_vm_clusters oci_database_cloud_vm_clusters} Data Source
    *
    * @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 DataOciDatabaseCloudVmClustersConfig
    */
    constructor(scope: Construct, id: string, config: DataOciDatabaseCloudVmClustersConfig);
    private _cloudExadataInfrastructureId?;
    get cloudExadataInfrastructureId(): string;
    set cloudExadataInfrastructureId(value: string);
    resetCloudExadataInfrastructureId(): void;
    get cloudExadataInfrastructureIdInput(): string | undefined;
    private _cloudVmClusters;
    get cloudVmClusters(): DataOciDatabaseCloudVmClustersCloudVmClustersList;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    private _filter;
    get filter(): DataOciDatabaseCloudVmClustersFilterList;
    putFilter(value: DataOciDatabaseCloudVmClustersFilter[] | cdktf.IResolvable): void;
    resetFilter(): void;
    get filterInput(): cdktf.IResolvable | DataOciDatabaseCloudVmClustersFilter[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
