import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatabaseDbSystemConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#availability_domain DatabaseDbSystem#availability_domain}
    */
    readonly availabilityDomain: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#backup_network_nsg_ids DatabaseDbSystem#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_db_system#backup_subnet_id DatabaseDbSystem#backup_subnet_id}
    */
    readonly backupSubnetId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#cluster_name DatabaseDbSystem#cluster_name}
    */
    readonly clusterName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#compartment_id DatabaseDbSystem#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#cpu_core_count DatabaseDbSystem#cpu_core_count}
    */
    readonly cpuCoreCount?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#data_storage_percentage DatabaseDbSystem#data_storage_percentage}
    */
    readonly dataStoragePercentage?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#data_storage_size_in_gb DatabaseDbSystem#data_storage_size_in_gb}
    */
    readonly dataStorageSizeInGb?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#database_edition DatabaseDbSystem#database_edition}
    */
    readonly databaseEdition?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#defined_tags DatabaseDbSystem#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_db_system#disk_redundancy DatabaseDbSystem#disk_redundancy}
    */
    readonly diskRedundancy?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#display_name DatabaseDbSystem#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#domain DatabaseDbSystem#domain}
    */
    readonly domain?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#fault_domains DatabaseDbSystem#fault_domains}
    */
    readonly faultDomains?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#freeform_tags DatabaseDbSystem#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_db_system#hostname DatabaseDbSystem#hostname}
    */
    readonly hostname: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#id DatabaseDbSystem#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_db_system#kms_key_id DatabaseDbSystem#kms_key_id}
    */
    readonly kmsKeyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#kms_key_version_id DatabaseDbSystem#kms_key_version_id}
    */
    readonly kmsKeyVersionId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#license_model DatabaseDbSystem#license_model}
    */
    readonly licenseModel?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#node_count DatabaseDbSystem#node_count}
    */
    readonly nodeCount?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#nsg_ids DatabaseDbSystem#nsg_ids}
    */
    readonly nsgIds?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#private_ip DatabaseDbSystem#private_ip}
    */
    readonly privateIp?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#reco_storage_size_in_gb DatabaseDbSystem#reco_storage_size_in_gb}
    */
    readonly recoStorageSizeInGb?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#security_attributes DatabaseDbSystem#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_db_system#shape DatabaseDbSystem#shape}
    */
    readonly shape: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#source DatabaseDbSystem#source}
    */
    readonly source?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#source_db_system_id DatabaseDbSystem#source_db_system_id}
    */
    readonly sourceDbSystemId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#sparse_diskgroup DatabaseDbSystem#sparse_diskgroup}
    */
    readonly sparseDiskgroup?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#ssh_public_keys DatabaseDbSystem#ssh_public_keys}
    */
    readonly sshPublicKeys: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#storage_volume_performance_mode DatabaseDbSystem#storage_volume_performance_mode}
    */
    readonly storageVolumePerformanceMode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#subnet_id DatabaseDbSystem#subnet_id}
    */
    readonly subnetId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#time_zone DatabaseDbSystem#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_db_system#data_collection_options DatabaseDbSystem#data_collection_options}
    */
    readonly dataCollectionOptions?: DatabaseDbSystemDataCollectionOptions;
    /**
    * db_home block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_home DatabaseDbSystem#db_home}
    */
    readonly dbHome: DatabaseDbSystemDbHome;
    /**
    * db_system_options block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_system_options DatabaseDbSystem#db_system_options}
    */
    readonly dbSystemOptions?: DatabaseDbSystemDbSystemOptions;
    /**
    * maintenance_window_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#maintenance_window_details DatabaseDbSystem#maintenance_window_details}
    */
    readonly maintenanceWindowDetails?: DatabaseDbSystemMaintenanceWindowDetails;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#timeouts DatabaseDbSystem#timeouts}
    */
    readonly timeouts?: DatabaseDbSystemTimeouts;
}
export interface DatabaseDbSystemIormConfigCacheDbPlans {
}
export declare function databaseDbSystemIormConfigCacheDbPlansToTerraform(struct?: DatabaseDbSystemIormConfigCacheDbPlans): any;
export declare function databaseDbSystemIormConfigCacheDbPlansToHclTerraform(struct?: DatabaseDbSystemIormConfigCacheDbPlans): any;
export declare class DatabaseDbSystemIormConfigCacheDbPlansOutputReference 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(): DatabaseDbSystemIormConfigCacheDbPlans | undefined;
    set internalValue(value: DatabaseDbSystemIormConfigCacheDbPlans | undefined);
    get dbName(): string;
    get flashCacheLimit(): string;
    get share(): number;
}
export declare class DatabaseDbSystemIormConfigCacheDbPlansList 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): DatabaseDbSystemIormConfigCacheDbPlansOutputReference;
}
export interface DatabaseDbSystemIormConfigCache {
}
export declare function databaseDbSystemIormConfigCacheToTerraform(struct?: DatabaseDbSystemIormConfigCache): any;
export declare function databaseDbSystemIormConfigCacheToHclTerraform(struct?: DatabaseDbSystemIormConfigCache): any;
export declare class DatabaseDbSystemIormConfigCacheOutputReference 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(): DatabaseDbSystemIormConfigCache | undefined;
    set internalValue(value: DatabaseDbSystemIormConfigCache | undefined);
    private _dbPlans;
    get dbPlans(): DatabaseDbSystemIormConfigCacheDbPlansList;
    get dbSystemId(): string;
    get lifecycleDetails(): string;
    get objective(): string;
    get state(): string;
}
export declare class DatabaseDbSystemIormConfigCacheList 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): DatabaseDbSystemIormConfigCacheOutputReference;
}
export interface DatabaseDbSystemMaintenanceWindowDaysOfWeek {
}
export declare function databaseDbSystemMaintenanceWindowDaysOfWeekToTerraform(struct?: DatabaseDbSystemMaintenanceWindowDaysOfWeek): any;
export declare function databaseDbSystemMaintenanceWindowDaysOfWeekToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindowDaysOfWeek): any;
export declare class DatabaseDbSystemMaintenanceWindowDaysOfWeekOutputReference 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(): DatabaseDbSystemMaintenanceWindowDaysOfWeek | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindowDaysOfWeek | undefined);
    get name(): string;
}
export declare class DatabaseDbSystemMaintenanceWindowDaysOfWeekList 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): DatabaseDbSystemMaintenanceWindowDaysOfWeekOutputReference;
}
export interface DatabaseDbSystemMaintenanceWindowMonths {
}
export declare function databaseDbSystemMaintenanceWindowMonthsToTerraform(struct?: DatabaseDbSystemMaintenanceWindowMonths): any;
export declare function databaseDbSystemMaintenanceWindowMonthsToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindowMonths): any;
export declare class DatabaseDbSystemMaintenanceWindowMonthsOutputReference 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(): DatabaseDbSystemMaintenanceWindowMonths | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindowMonths | undefined);
    get name(): string;
}
export declare class DatabaseDbSystemMaintenanceWindowMonthsList 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): DatabaseDbSystemMaintenanceWindowMonthsOutputReference;
}
export interface DatabaseDbSystemMaintenanceWindow {
}
export declare function databaseDbSystemMaintenanceWindowToTerraform(struct?: DatabaseDbSystemMaintenanceWindow): any;
export declare function databaseDbSystemMaintenanceWindowToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindow): any;
export declare class DatabaseDbSystemMaintenanceWindowOutputReference 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(): DatabaseDbSystemMaintenanceWindow | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindow | undefined);
    get customActionTimeoutInMins(): number;
    private _daysOfWeek;
    get daysOfWeek(): DatabaseDbSystemMaintenanceWindowDaysOfWeekList;
    get hoursOfDay(): number[];
    get isCustomActionTimeoutEnabled(): cdktf.IResolvable;
    get isMonthlyPatchingEnabled(): cdktf.IResolvable;
    get leadTimeInWeeks(): number;
    private _months;
    get months(): DatabaseDbSystemMaintenanceWindowMonthsList;
    get patchingMode(): string;
    get preference(): string;
    private _skipRu;
    get skipRu(): cdktf.BooleanList;
    get weeksOfMonth(): number[];
}
export declare class DatabaseDbSystemMaintenanceWindowList 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): DatabaseDbSystemMaintenanceWindowOutputReference;
}
export interface DatabaseDbSystemDataCollectionOptions {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#is_diagnostics_events_enabled DatabaseDbSystem#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_db_system#is_health_monitoring_enabled DatabaseDbSystem#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_db_system#is_incident_logs_enabled DatabaseDbSystem#is_incident_logs_enabled}
    */
    readonly isIncidentLogsEnabled?: boolean | cdktf.IResolvable;
}
export declare function databaseDbSystemDataCollectionOptionsToTerraform(struct?: DatabaseDbSystemDataCollectionOptionsOutputReference | DatabaseDbSystemDataCollectionOptions): any;
export declare function databaseDbSystemDataCollectionOptionsToHclTerraform(struct?: DatabaseDbSystemDataCollectionOptionsOutputReference | DatabaseDbSystemDataCollectionOptions): any;
export declare class DatabaseDbSystemDataCollectionOptionsOutputReference 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(): DatabaseDbSystemDataCollectionOptions | undefined;
    set internalValue(value: DatabaseDbSystemDataCollectionOptions | 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 DatabaseDbSystemDbHomeDatabaseConnectionStrings {
}
export declare function databaseDbSystemDbHomeDatabaseConnectionStringsToTerraform(struct?: DatabaseDbSystemDbHomeDatabaseConnectionStrings): any;
export declare function databaseDbSystemDbHomeDatabaseConnectionStringsToHclTerraform(struct?: DatabaseDbSystemDbHomeDatabaseConnectionStrings): any;
export declare class DatabaseDbSystemDbHomeDatabaseConnectionStringsOutputReference 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(): DatabaseDbSystemDbHomeDatabaseConnectionStrings | undefined;
    set internalValue(value: DatabaseDbSystemDbHomeDatabaseConnectionStrings | undefined);
    private _allConnectionStrings;
    get allConnectionStrings(): cdktf.StringMap;
    get cdbDefault(): string;
    get cdbIpDefault(): string;
}
export declare class DatabaseDbSystemDbHomeDatabaseConnectionStringsList 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): DatabaseDbSystemDbHomeDatabaseConnectionStringsOutputReference;
}
export interface DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#dbrs_policy_id DatabaseDbSystem#dbrs_policy_id}
    */
    readonly dbrsPolicyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#id DatabaseDbSystem#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_db_system#type DatabaseDbSystem#type}
    */
    readonly type?: string;
}
export declare function databaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsToTerraform(struct?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable): any;
export declare function databaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsToHclTerraform(struct?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable): any;
export declare class DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsOutputReference 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(): DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable | undefined);
    private _dbrsPolicyId?;
    get dbrsPolicyId(): string;
    set dbrsPolicyId(value: string);
    resetDbrsPolicyId(): void;
    get dbrsPolicyIdInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export declare class DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | 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): DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsOutputReference;
}
export interface DatabaseDbSystemDbHomeDatabaseDbBackupConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#auto_backup_enabled DatabaseDbSystem#auto_backup_enabled}
    */
    readonly autoBackupEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#auto_backup_window DatabaseDbSystem#auto_backup_window}
    */
    readonly autoBackupWindow?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#auto_full_backup_day DatabaseDbSystem#auto_full_backup_day}
    */
    readonly autoFullBackupDay?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#auto_full_backup_window DatabaseDbSystem#auto_full_backup_window}
    */
    readonly autoFullBackupWindow?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#backup_deletion_policy DatabaseDbSystem#backup_deletion_policy}
    */
    readonly backupDeletionPolicy?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#recovery_window_in_days DatabaseDbSystem#recovery_window_in_days}
    */
    readonly recoveryWindowInDays?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#run_immediate_full_backup DatabaseDbSystem#run_immediate_full_backup}
    */
    readonly runImmediateFullBackup?: boolean | cdktf.IResolvable;
    /**
    * backup_destination_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#backup_destination_details DatabaseDbSystem#backup_destination_details}
    */
    readonly backupDestinationDetails?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | cdktf.IResolvable;
}
export declare function databaseDbSystemDbHomeDatabaseDbBackupConfigToTerraform(struct?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigOutputReference | DatabaseDbSystemDbHomeDatabaseDbBackupConfig): any;
export declare function databaseDbSystemDbHomeDatabaseDbBackupConfigToHclTerraform(struct?: DatabaseDbSystemDbHomeDatabaseDbBackupConfigOutputReference | DatabaseDbSystemDbHomeDatabaseDbBackupConfig): any;
export declare class DatabaseDbSystemDbHomeDatabaseDbBackupConfigOutputReference 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(): DatabaseDbSystemDbHomeDatabaseDbBackupConfig | undefined;
    set internalValue(value: DatabaseDbSystemDbHomeDatabaseDbBackupConfig | undefined);
    private _autoBackupEnabled?;
    get autoBackupEnabled(): boolean | cdktf.IResolvable;
    set autoBackupEnabled(value: boolean | cdktf.IResolvable);
    resetAutoBackupEnabled(): void;
    get autoBackupEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _autoBackupWindow?;
    get autoBackupWindow(): string;
    set autoBackupWindow(value: string);
    resetAutoBackupWindow(): void;
    get autoBackupWindowInput(): string | undefined;
    private _autoFullBackupDay?;
    get autoFullBackupDay(): string;
    set autoFullBackupDay(value: string);
    resetAutoFullBackupDay(): void;
    get autoFullBackupDayInput(): string | undefined;
    private _autoFullBackupWindow?;
    get autoFullBackupWindow(): string;
    set autoFullBackupWindow(value: string);
    resetAutoFullBackupWindow(): void;
    get autoFullBackupWindowInput(): string | undefined;
    private _backupDeletionPolicy?;
    get backupDeletionPolicy(): string;
    set backupDeletionPolicy(value: string);
    resetBackupDeletionPolicy(): void;
    get backupDeletionPolicyInput(): string | undefined;
    private _recoveryWindowInDays?;
    get recoveryWindowInDays(): number;
    set recoveryWindowInDays(value: number);
    resetRecoveryWindowInDays(): void;
    get recoveryWindowInDaysInput(): number | undefined;
    private _runImmediateFullBackup?;
    get runImmediateFullBackup(): boolean | cdktf.IResolvable;
    set runImmediateFullBackup(value: boolean | cdktf.IResolvable);
    resetRunImmediateFullBackup(): void;
    get runImmediateFullBackupInput(): boolean | cdktf.IResolvable | undefined;
    private _backupDestinationDetails;
    get backupDestinationDetails(): DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetailsList;
    putBackupDestinationDetails(value: DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | cdktf.IResolvable): void;
    resetBackupDestinationDetails(): void;
    get backupDestinationDetailsInput(): cdktf.IResolvable | DatabaseDbSystemDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | undefined;
}
export interface DatabaseDbSystemDbHomeDatabase {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#admin_password DatabaseDbSystem#admin_password}
    */
    readonly adminPassword: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#backup_id DatabaseDbSystem#backup_id}
    */
    readonly backupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#backup_tde_password DatabaseDbSystem#backup_tde_password}
    */
    readonly backupTdePassword?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#character_set DatabaseDbSystem#character_set}
    */
    readonly characterSet?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#database_id DatabaseDbSystem#database_id}
    */
    readonly databaseId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#database_software_image_id DatabaseDbSystem#database_software_image_id}
    */
    readonly databaseSoftwareImageId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_domain DatabaseDbSystem#db_domain}
    */
    readonly dbDomain?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_name DatabaseDbSystem#db_name}
    */
    readonly dbName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_unique_name DatabaseDbSystem#db_unique_name}
    */
    readonly dbUniqueName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_workload DatabaseDbSystem#db_workload}
    */
    readonly dbWorkload?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#defined_tags DatabaseDbSystem#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_db_system#freeform_tags DatabaseDbSystem#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_db_system#kms_key_id DatabaseDbSystem#kms_key_id}
    */
    readonly kmsKeyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#kms_key_version_id DatabaseDbSystem#kms_key_version_id}
    */
    readonly kmsKeyVersionId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#ncharacter_set DatabaseDbSystem#ncharacter_set}
    */
    readonly ncharacterSet?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#pdb_name DatabaseDbSystem#pdb_name}
    */
    readonly pdbName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#pluggable_databases DatabaseDbSystem#pluggable_databases}
    */
    readonly pluggableDatabases?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#tde_wallet_password DatabaseDbSystem#tde_wallet_password}
    */
    readonly tdeWalletPassword?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#time_stamp_for_point_in_time_recovery DatabaseDbSystem#time_stamp_for_point_in_time_recovery}
    */
    readonly timeStampForPointInTimeRecovery?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#vault_id DatabaseDbSystem#vault_id}
    */
    readonly vaultId?: string;
    /**
    * db_backup_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_backup_config DatabaseDbSystem#db_backup_config}
    */
    readonly dbBackupConfig?: DatabaseDbSystemDbHomeDatabaseDbBackupConfig;
}
export declare function databaseDbSystemDbHomeDatabaseToTerraform(struct?: DatabaseDbSystemDbHomeDatabaseOutputReference | DatabaseDbSystemDbHomeDatabase): any;
export declare function databaseDbSystemDbHomeDatabaseToHclTerraform(struct?: DatabaseDbSystemDbHomeDatabaseOutputReference | DatabaseDbSystemDbHomeDatabase): any;
export declare class DatabaseDbSystemDbHomeDatabaseOutputReference 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(): DatabaseDbSystemDbHomeDatabase | undefined;
    set internalValue(value: DatabaseDbSystemDbHomeDatabase | undefined);
    private _adminPassword?;
    get adminPassword(): string;
    set adminPassword(value: string);
    get adminPasswordInput(): string | undefined;
    private _backupId?;
    get backupId(): string;
    set backupId(value: string);
    resetBackupId(): void;
    get backupIdInput(): string | undefined;
    private _backupTdePassword?;
    get backupTdePassword(): string;
    set backupTdePassword(value: string);
    resetBackupTdePassword(): void;
    get backupTdePasswordInput(): string | undefined;
    private _characterSet?;
    get characterSet(): string;
    set characterSet(value: string);
    resetCharacterSet(): void;
    get characterSetInput(): string | undefined;
    private _connectionStrings;
    get connectionStrings(): DatabaseDbSystemDbHomeDatabaseConnectionStringsList;
    private _databaseId?;
    get databaseId(): string;
    set databaseId(value: string);
    resetDatabaseId(): void;
    get databaseIdInput(): string | undefined;
    private _databaseSoftwareImageId?;
    get databaseSoftwareImageId(): string;
    set databaseSoftwareImageId(value: string);
    resetDatabaseSoftwareImageId(): void;
    get databaseSoftwareImageIdInput(): string | undefined;
    private _dbDomain?;
    get dbDomain(): string;
    set dbDomain(value: string);
    resetDbDomain(): void;
    get dbDomainInput(): string | undefined;
    private _dbName?;
    get dbName(): string;
    set dbName(value: string);
    resetDbName(): void;
    get dbNameInput(): string | undefined;
    private _dbUniqueName?;
    get dbUniqueName(): string;
    set dbUniqueName(value: string);
    resetDbUniqueName(): void;
    get dbUniqueNameInput(): string | undefined;
    private _dbWorkload?;
    get dbWorkload(): string;
    set dbWorkload(value: string);
    resetDbWorkload(): void;
    get dbWorkloadInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    get id(): string;
    private _kmsKeyId?;
    get kmsKeyId(): string;
    set kmsKeyId(value: string);
    resetKmsKeyId(): void;
    get kmsKeyIdInput(): string | undefined;
    private _kmsKeyVersionId?;
    get kmsKeyVersionId(): string;
    set kmsKeyVersionId(value: string);
    resetKmsKeyVersionId(): void;
    get kmsKeyVersionIdInput(): string | undefined;
    get lifecycleDetails(): string;
    private _ncharacterSet?;
    get ncharacterSet(): string;
    set ncharacterSet(value: string);
    resetNcharacterSet(): void;
    get ncharacterSetInput(): string | undefined;
    private _pdbName?;
    get pdbName(): string;
    set pdbName(value: string);
    resetPdbName(): void;
    get pdbNameInput(): string | undefined;
    private _pluggableDatabases?;
    get pluggableDatabases(): string[];
    set pluggableDatabases(value: string[]);
    resetPluggableDatabases(): void;
    get pluggableDatabasesInput(): string[] | undefined;
    get state(): string;
    private _tdeWalletPassword?;
    get tdeWalletPassword(): string;
    set tdeWalletPassword(value: string);
    resetTdeWalletPassword(): void;
    get tdeWalletPasswordInput(): string | undefined;
    get timeCreated(): string;
    private _timeStampForPointInTimeRecovery?;
    get timeStampForPointInTimeRecovery(): string;
    set timeStampForPointInTimeRecovery(value: string);
    resetTimeStampForPointInTimeRecovery(): void;
    get timeStampForPointInTimeRecoveryInput(): string | undefined;
    private _vaultId?;
    get vaultId(): string;
    set vaultId(value: string);
    resetVaultId(): void;
    get vaultIdInput(): string | undefined;
    private _dbBackupConfig;
    get dbBackupConfig(): DatabaseDbSystemDbHomeDatabaseDbBackupConfigOutputReference;
    putDbBackupConfig(value: DatabaseDbSystemDbHomeDatabaseDbBackupConfig): void;
    resetDbBackupConfig(): void;
    get dbBackupConfigInput(): DatabaseDbSystemDbHomeDatabaseDbBackupConfig | undefined;
}
export interface DatabaseDbSystemDbHome {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#create_async DatabaseDbSystem#create_async}
    */
    readonly createAsync?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#database_software_image_id DatabaseDbSystem#database_software_image_id}
    */
    readonly databaseSoftwareImageId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#db_version DatabaseDbSystem#db_version}
    */
    readonly dbVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#defined_tags DatabaseDbSystem#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_db_system#display_name DatabaseDbSystem#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#freeform_tags DatabaseDbSystem#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * database block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#database DatabaseDbSystem#database}
    */
    readonly database: DatabaseDbSystemDbHomeDatabase;
}
export declare function databaseDbSystemDbHomeToTerraform(struct?: DatabaseDbSystemDbHomeOutputReference | DatabaseDbSystemDbHome): any;
export declare function databaseDbSystemDbHomeToHclTerraform(struct?: DatabaseDbSystemDbHomeOutputReference | DatabaseDbSystemDbHome): any;
export declare class DatabaseDbSystemDbHomeOutputReference 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(): DatabaseDbSystemDbHome | undefined;
    set internalValue(value: DatabaseDbSystemDbHome | undefined);
    private _createAsync?;
    get createAsync(): boolean | cdktf.IResolvable;
    set createAsync(value: boolean | cdktf.IResolvable);
    resetCreateAsync(): void;
    get createAsyncInput(): boolean | cdktf.IResolvable | undefined;
    private _databaseSoftwareImageId?;
    get databaseSoftwareImageId(): string;
    set databaseSoftwareImageId(value: string);
    resetDatabaseSoftwareImageId(): void;
    get databaseSoftwareImageIdInput(): string | undefined;
    get dbHomeLocation(): string;
    private _dbVersion?;
    get dbVersion(): string;
    set dbVersion(value: string);
    resetDbVersion(): void;
    get dbVersionInput(): 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);
    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;
    get id(): string;
    get lastPatchHistoryEntryId(): string;
    get lifecycleDetails(): string;
    get state(): string;
    get timeCreated(): string;
    private _database;
    get database(): DatabaseDbSystemDbHomeDatabaseOutputReference;
    putDatabase(value: DatabaseDbSystemDbHomeDatabase): void;
    get databaseInput(): DatabaseDbSystemDbHomeDatabase | undefined;
}
export interface DatabaseDbSystemDbSystemOptions {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#storage_management DatabaseDbSystem#storage_management}
    */
    readonly storageManagement?: string;
}
export declare function databaseDbSystemDbSystemOptionsToTerraform(struct?: DatabaseDbSystemDbSystemOptionsOutputReference | DatabaseDbSystemDbSystemOptions): any;
export declare function databaseDbSystemDbSystemOptionsToHclTerraform(struct?: DatabaseDbSystemDbSystemOptionsOutputReference | DatabaseDbSystemDbSystemOptions): any;
export declare class DatabaseDbSystemDbSystemOptionsOutputReference 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(): DatabaseDbSystemDbSystemOptions | undefined;
    set internalValue(value: DatabaseDbSystemDbSystemOptions | undefined);
    private _storageManagement?;
    get storageManagement(): string;
    set storageManagement(value: string);
    resetStorageManagement(): void;
    get storageManagementInput(): string | undefined;
}
export interface DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#name DatabaseDbSystem#name}
    */
    readonly name?: string;
}
export declare function databaseDbSystemMaintenanceWindowDetailsDaysOfWeekToTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek | cdktf.IResolvable): any;
export declare function databaseDbSystemMaintenanceWindowDetailsDaysOfWeekToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek | cdktf.IResolvable): any;
export declare class DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeekOutputReference 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(): DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
}
export declare class DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeekList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek[] | 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): DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeekOutputReference;
}
export interface DatabaseDbSystemMaintenanceWindowDetailsMonths {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#name DatabaseDbSystem#name}
    */
    readonly name?: string;
}
export declare function databaseDbSystemMaintenanceWindowDetailsMonthsToTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsMonths | cdktf.IResolvable): any;
export declare function databaseDbSystemMaintenanceWindowDetailsMonthsToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsMonths | cdktf.IResolvable): any;
export declare class DatabaseDbSystemMaintenanceWindowDetailsMonthsOutputReference 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(): DatabaseDbSystemMaintenanceWindowDetailsMonths | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindowDetailsMonths | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
}
export declare class DatabaseDbSystemMaintenanceWindowDetailsMonthsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseDbSystemMaintenanceWindowDetailsMonths[] | 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): DatabaseDbSystemMaintenanceWindowDetailsMonthsOutputReference;
}
export interface DatabaseDbSystemMaintenanceWindowDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#custom_action_timeout_in_mins DatabaseDbSystem#custom_action_timeout_in_mins}
    */
    readonly customActionTimeoutInMins?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#hours_of_day DatabaseDbSystem#hours_of_day}
    */
    readonly hoursOfDay?: number[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#is_custom_action_timeout_enabled DatabaseDbSystem#is_custom_action_timeout_enabled}
    */
    readonly isCustomActionTimeoutEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#is_monthly_patching_enabled DatabaseDbSystem#is_monthly_patching_enabled}
    */
    readonly isMonthlyPatchingEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#lead_time_in_weeks DatabaseDbSystem#lead_time_in_weeks}
    */
    readonly leadTimeInWeeks?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#patching_mode DatabaseDbSystem#patching_mode}
    */
    readonly patchingMode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#preference DatabaseDbSystem#preference}
    */
    readonly preference?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#skip_ru DatabaseDbSystem#skip_ru}
    */
    readonly skipRu?: Array<boolean | cdktf.IResolvable> | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#weeks_of_month DatabaseDbSystem#weeks_of_month}
    */
    readonly weeksOfMonth?: number[];
    /**
    * days_of_week block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#days_of_week DatabaseDbSystem#days_of_week}
    */
    readonly daysOfWeek?: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek[] | cdktf.IResolvable;
    /**
    * months block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#months DatabaseDbSystem#months}
    */
    readonly months?: DatabaseDbSystemMaintenanceWindowDetailsMonths[] | cdktf.IResolvable;
}
export declare function databaseDbSystemMaintenanceWindowDetailsToTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsOutputReference | DatabaseDbSystemMaintenanceWindowDetails): any;
export declare function databaseDbSystemMaintenanceWindowDetailsToHclTerraform(struct?: DatabaseDbSystemMaintenanceWindowDetailsOutputReference | DatabaseDbSystemMaintenanceWindowDetails): any;
export declare class DatabaseDbSystemMaintenanceWindowDetailsOutputReference 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(): DatabaseDbSystemMaintenanceWindowDetails | undefined;
    set internalValue(value: DatabaseDbSystemMaintenanceWindowDetails | undefined);
    private _customActionTimeoutInMins?;
    get customActionTimeoutInMins(): number;
    set customActionTimeoutInMins(value: number);
    resetCustomActionTimeoutInMins(): void;
    get customActionTimeoutInMinsInput(): number | undefined;
    private _hoursOfDay?;
    get hoursOfDay(): number[];
    set hoursOfDay(value: number[]);
    resetHoursOfDay(): void;
    get hoursOfDayInput(): number[] | undefined;
    private _isCustomActionTimeoutEnabled?;
    get isCustomActionTimeoutEnabled(): boolean | cdktf.IResolvable;
    set isCustomActionTimeoutEnabled(value: boolean | cdktf.IResolvable);
    resetIsCustomActionTimeoutEnabled(): void;
    get isCustomActionTimeoutEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isMonthlyPatchingEnabled?;
    get isMonthlyPatchingEnabled(): boolean | cdktf.IResolvable;
    set isMonthlyPatchingEnabled(value: boolean | cdktf.IResolvable);
    resetIsMonthlyPatchingEnabled(): void;
    get isMonthlyPatchingEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _leadTimeInWeeks?;
    get leadTimeInWeeks(): number;
    set leadTimeInWeeks(value: number);
    resetLeadTimeInWeeks(): void;
    get leadTimeInWeeksInput(): number | undefined;
    private _patchingMode?;
    get patchingMode(): string;
    set patchingMode(value: string);
    resetPatchingMode(): void;
    get patchingModeInput(): string | undefined;
    private _preference?;
    get preference(): string;
    set preference(value: string);
    resetPreference(): void;
    get preferenceInput(): string | undefined;
    private _skipRu?;
    get skipRu(): Array<boolean | cdktf.IResolvable> | cdktf.IResolvable;
    set skipRu(value: Array<boolean | cdktf.IResolvable> | cdktf.IResolvable);
    resetSkipRu(): void;
    get skipRuInput(): cdktf.IResolvable | (boolean | cdktf.IResolvable)[] | undefined;
    private _weeksOfMonth?;
    get weeksOfMonth(): number[];
    set weeksOfMonth(value: number[]);
    resetWeeksOfMonth(): void;
    get weeksOfMonthInput(): number[] | undefined;
    private _daysOfWeek;
    get daysOfWeek(): DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeekList;
    putDaysOfWeek(value: DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek[] | cdktf.IResolvable): void;
    resetDaysOfWeek(): void;
    get daysOfWeekInput(): cdktf.IResolvable | DatabaseDbSystemMaintenanceWindowDetailsDaysOfWeek[] | undefined;
    private _months;
    get months(): DatabaseDbSystemMaintenanceWindowDetailsMonthsList;
    putMonths(value: DatabaseDbSystemMaintenanceWindowDetailsMonths[] | cdktf.IResolvable): void;
    resetMonths(): void;
    get monthsInput(): cdktf.IResolvable | DatabaseDbSystemMaintenanceWindowDetailsMonths[] | undefined;
}
export interface DatabaseDbSystemTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#create DatabaseDbSystem#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#delete DatabaseDbSystem#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#update DatabaseDbSystem#update}
    */
    readonly update?: string;
}
export declare function databaseDbSystemTimeoutsToTerraform(struct?: DatabaseDbSystemTimeouts | cdktf.IResolvable): any;
export declare function databaseDbSystemTimeoutsToHclTerraform(struct?: DatabaseDbSystemTimeouts | cdktf.IResolvable): any;
export declare class DatabaseDbSystemTimeoutsOutputReference 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(): DatabaseDbSystemTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbSystemTimeouts | 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_db_system oci_database_db_system}
*/
export declare class DatabaseDbSystem extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_database_db_system";
    /**
    * Generates CDKTF code for importing a DatabaseDbSystem 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 DatabaseDbSystem to import
    * @param importFromId The id of the existing DatabaseDbSystem that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_system#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatabaseDbSystem 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_db_system oci_database_db_system} 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 DatabaseDbSystemConfig
    */
    constructor(scope: Construct, id: string, config: DatabaseDbSystemConfig);
    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);
    resetBackupSubnetId(): void;
    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 _cpuCoreCount?;
    get cpuCoreCount(): number;
    set cpuCoreCount(value: number);
    resetCpuCoreCount(): void;
    get cpuCoreCountInput(): number | undefined;
    private _dataStoragePercentage?;
    get dataStoragePercentage(): number;
    set dataStoragePercentage(value: number);
    resetDataStoragePercentage(): void;
    get dataStoragePercentageInput(): number | undefined;
    private _dataStorageSizeInGb?;
    get dataStorageSizeInGb(): number;
    set dataStorageSizeInGb(value: number);
    resetDataStorageSizeInGb(): void;
    get dataStorageSizeInGbInput(): number | undefined;
    private _databaseEdition?;
    get databaseEdition(): string;
    set databaseEdition(value: string);
    resetDatabaseEdition(): void;
    get databaseEditionInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _diskRedundancy?;
    get diskRedundancy(): string;
    set diskRedundancy(value: string);
    resetDiskRedundancy(): void;
    get diskRedundancyInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _domain?;
    get domain(): string;
    set domain(value: string);
    resetDomain(): void;
    get domainInput(): string | undefined;
    private _faultDomains?;
    get faultDomains(): string[];
    set faultDomains(value: string[]);
    resetFaultDomains(): void;
    get faultDomainsInput(): string[] | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    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(): DatabaseDbSystemIormConfigCacheList;
    private _kmsKeyId?;
    get kmsKeyId(): string;
    set kmsKeyId(value: string);
    resetKmsKeyId(): void;
    get kmsKeyIdInput(): string | undefined;
    private _kmsKeyVersionId?;
    get kmsKeyVersionId(): string;
    set kmsKeyVersionId(value: string);
    resetKmsKeyVersionId(): void;
    get kmsKeyVersionIdInput(): string | undefined;
    get lastMaintenanceRunId(): string;
    get lastPatchHistoryEntryId(): string;
    private _licenseModel?;
    get licenseModel(): string;
    set licenseModel(value: string);
    resetLicenseModel(): void;
    get licenseModelInput(): string | undefined;
    get lifecycleDetails(): string;
    get listenerPort(): number;
    private _maintenanceWindow;
    get maintenanceWindow(): DatabaseDbSystemMaintenanceWindowList;
    get memorySizeInGbs(): number;
    get nextMaintenanceRunId(): string;
    private _nodeCount?;
    get nodeCount(): number;
    set nodeCount(value: number);
    resetNodeCount(): void;
    get nodeCountInput(): number | undefined;
    private _nsgIds?;
    get nsgIds(): string[];
    set nsgIds(value: string[]);
    resetNsgIds(): void;
    get nsgIdsInput(): string[] | undefined;
    get osVersion(): string;
    get pointInTimeDataDiskCloneTimestamp(): string;
    private _privateIp?;
    get privateIp(): string;
    set privateIp(value: string);
    resetPrivateIp(): void;
    get privateIpInput(): string | undefined;
    private _recoStorageSizeInGb?;
    get recoStorageSizeInGb(): number;
    set recoStorageSizeInGb(value: number);
    resetRecoStorageSizeInGb(): void;
    get recoStorageSizeInGbInput(): number | undefined;
    get scanDnsName(): string;
    get scanDnsRecordId(): string;
    get scanIpIds(): string[];
    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 _source?;
    get source(): string;
    set source(value: string);
    resetSource(): void;
    get sourceInput(): string | undefined;
    private _sourceDbSystemId?;
    get sourceDbSystemId(): string;
    set sourceDbSystemId(value: string);
    resetSourceDbSystemId(): void;
    get sourceDbSystemIdInput(): string | undefined;
    private _sparseDiskgroup?;
    get sparseDiskgroup(): boolean | cdktf.IResolvable;
    set sparseDiskgroup(value: boolean | cdktf.IResolvable);
    resetSparseDiskgroup(): void;
    get sparseDiskgroupInput(): boolean | cdktf.IResolvable | undefined;
    private _sshPublicKeys?;
    get sshPublicKeys(): string[];
    set sshPublicKeys(value: string[]);
    get sshPublicKeysInput(): string[] | undefined;
    get state(): string;
    private _storageVolumePerformanceMode?;
    get storageVolumePerformanceMode(): string;
    set storageVolumePerformanceMode(value: string);
    resetStorageVolumePerformanceMode(): void;
    get storageVolumePerformanceModeInput(): string | undefined;
    private _subnetId?;
    get subnetId(): string;
    set subnetId(value: string);
    get subnetIdInput(): string | undefined;
    get timeCreated(): string;
    private _timeZone?;
    get timeZone(): string;
    set timeZone(value: string);
    resetTimeZone(): void;
    get timeZoneInput(): string | undefined;
    get version(): string;
    get vipIds(): string[];
    get zoneId(): string;
    private _dataCollectionOptions;
    get dataCollectionOptions(): DatabaseDbSystemDataCollectionOptionsOutputReference;
    putDataCollectionOptions(value: DatabaseDbSystemDataCollectionOptions): void;
    resetDataCollectionOptions(): void;
    get dataCollectionOptionsInput(): DatabaseDbSystemDataCollectionOptions | undefined;
    private _dbHome;
    get dbHome(): DatabaseDbSystemDbHomeOutputReference;
    putDbHome(value: DatabaseDbSystemDbHome): void;
    get dbHomeInput(): DatabaseDbSystemDbHome | undefined;
    private _dbSystemOptions;
    get dbSystemOptions(): DatabaseDbSystemDbSystemOptionsOutputReference;
    putDbSystemOptions(value: DatabaseDbSystemDbSystemOptions): void;
    resetDbSystemOptions(): void;
    get dbSystemOptionsInput(): DatabaseDbSystemDbSystemOptions | undefined;
    private _maintenanceWindowDetails;
    get maintenanceWindowDetails(): DatabaseDbSystemMaintenanceWindowDetailsOutputReference;
    putMaintenanceWindowDetails(value: DatabaseDbSystemMaintenanceWindowDetails): void;
    resetMaintenanceWindowDetails(): void;
    get maintenanceWindowDetailsInput(): DatabaseDbSystemMaintenanceWindowDetails | undefined;
    private _timeouts;
    get timeouts(): DatabaseDbSystemTimeoutsOutputReference;
    putTimeouts(value: DatabaseDbSystemTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatabaseDbSystemTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
