import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DatabaseDbHomeConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#database_software_image_id DatabaseDbHome#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_home#db_system_id DatabaseDbHome#db_system_id}
    */
    readonly dbSystemId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#db_version DatabaseDbHome#db_version}
    */
    readonly dbVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#defined_tags DatabaseDbHome#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_home#display_name DatabaseDbHome#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#enable_database_delete DatabaseDbHome#enable_database_delete}
    */
    readonly enableDatabaseDelete?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#freeform_tags DatabaseDbHome#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_home#id DatabaseDbHome#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_home#is_desupported_version DatabaseDbHome#is_desupported_version}
    */
    readonly isDesupportedVersion?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#is_unified_auditing_enabled DatabaseDbHome#is_unified_auditing_enabled}
    */
    readonly isUnifiedAuditingEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#kms_key_id DatabaseDbHome#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_home#kms_key_version_id DatabaseDbHome#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_home#source DatabaseDbHome#source}
    */
    readonly source?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#vm_cluster_id DatabaseDbHome#vm_cluster_id}
    */
    readonly vmClusterId?: string;
    /**
    * database block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#database DatabaseDbHome#database}
    */
    readonly database?: DatabaseDbHomeDatabase;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#timeouts DatabaseDbHome#timeouts}
    */
    readonly timeouts?: DatabaseDbHomeTimeouts;
}
export interface DatabaseDbHomeDatabaseConnectionStrings {
}
export declare function databaseDbHomeDatabaseConnectionStringsToTerraform(struct?: DatabaseDbHomeDatabaseConnectionStrings): any;
export declare function databaseDbHomeDatabaseConnectionStringsToHclTerraform(struct?: DatabaseDbHomeDatabaseConnectionStrings): any;
export declare class DatabaseDbHomeDatabaseConnectionStringsOutputReference 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(): DatabaseDbHomeDatabaseConnectionStrings | undefined;
    set internalValue(value: DatabaseDbHomeDatabaseConnectionStrings | undefined);
    private _allConnectionStrings;
    get allConnectionStrings(): cdktf.StringMap;
    get cdbDefault(): string;
    get cdbIpDefault(): string;
}
export declare class DatabaseDbHomeDatabaseConnectionStringsList 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): DatabaseDbHomeDatabaseConnectionStringsOutputReference;
}
export interface DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#dbrs_policy_id DatabaseDbHome#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_home#id DatabaseDbHome#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_home#type DatabaseDbHome#type}
    */
    readonly type?: string;
}
export declare function databaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsToTerraform(struct?: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable): any;
export declare function databaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsToHclTerraform(struct?: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable): any;
export declare class DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsOutputReference 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(): DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails | 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 DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | 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): DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsOutputReference;
}
export interface DatabaseDbHomeDatabaseDbBackupConfig {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#auto_backup_enabled DatabaseDbHome#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_home#auto_backup_window DatabaseDbHome#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_home#auto_full_backup_day DatabaseDbHome#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_home#auto_full_backup_window DatabaseDbHome#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_home#backup_deletion_policy DatabaseDbHome#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_home#recovery_window_in_days DatabaseDbHome#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_home#run_immediate_full_backup DatabaseDbHome#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_home#backup_destination_details DatabaseDbHome#backup_destination_details}
    */
    readonly backupDestinationDetails?: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | cdktf.IResolvable;
}
export declare function databaseDbHomeDatabaseDbBackupConfigToTerraform(struct?: DatabaseDbHomeDatabaseDbBackupConfigOutputReference | DatabaseDbHomeDatabaseDbBackupConfig): any;
export declare function databaseDbHomeDatabaseDbBackupConfigToHclTerraform(struct?: DatabaseDbHomeDatabaseDbBackupConfigOutputReference | DatabaseDbHomeDatabaseDbBackupConfig): any;
export declare class DatabaseDbHomeDatabaseDbBackupConfigOutputReference 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(): DatabaseDbHomeDatabaseDbBackupConfig | undefined;
    set internalValue(value: DatabaseDbHomeDatabaseDbBackupConfig | 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(): DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetailsList;
    putBackupDestinationDetails(value: DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | cdktf.IResolvable): void;
    resetBackupDestinationDetails(): void;
    get backupDestinationDetailsInput(): cdktf.IResolvable | DatabaseDbHomeDatabaseDbBackupConfigBackupDestinationDetails[] | undefined;
}
export interface DatabaseDbHomeDatabase {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#admin_password DatabaseDbHome#admin_password}
    */
    readonly adminPassword: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#backup_id DatabaseDbHome#backup_id}
    */
    readonly backupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#backup_tde_password DatabaseDbHome#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_home#character_set DatabaseDbHome#character_set}
    */
    readonly characterSet?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#database_id DatabaseDbHome#database_id}
    */
    readonly databaseId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#database_software_image_id DatabaseDbHome#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_home#db_name DatabaseDbHome#db_name}
    */
    readonly dbName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#db_workload DatabaseDbHome#db_workload}
    */
    readonly dbWorkload?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#defined_tags DatabaseDbHome#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_home#freeform_tags DatabaseDbHome#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_home#key_store_id DatabaseDbHome#key_store_id}
    */
    readonly keyStoreId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#kms_key_id DatabaseDbHome#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_home#kms_key_version_id DatabaseDbHome#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_home#ncharacter_set DatabaseDbHome#ncharacter_set}
    */
    readonly ncharacterSet?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#pdb_name DatabaseDbHome#pdb_name}
    */
    readonly pdbName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#pluggable_databases DatabaseDbHome#pluggable_databases}
    */
    readonly pluggableDatabases?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#tde_wallet_password DatabaseDbHome#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_home#time_stamp_for_point_in_time_recovery DatabaseDbHome#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_home#vault_id DatabaseDbHome#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_home#db_backup_config DatabaseDbHome#db_backup_config}
    */
    readonly dbBackupConfig?: DatabaseDbHomeDatabaseDbBackupConfig;
}
export declare function databaseDbHomeDatabaseToTerraform(struct?: DatabaseDbHomeDatabaseOutputReference | DatabaseDbHomeDatabase): any;
export declare function databaseDbHomeDatabaseToHclTerraform(struct?: DatabaseDbHomeDatabaseOutputReference | DatabaseDbHomeDatabase): any;
export declare class DatabaseDbHomeDatabaseOutputReference 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(): DatabaseDbHomeDatabase | undefined;
    set internalValue(value: DatabaseDbHomeDatabase | 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(): DatabaseDbHomeDatabaseConnectionStringsList;
    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 _dbName?;
    get dbName(): string;
    set dbName(value: string);
    resetDbName(): void;
    get dbNameInput(): string | undefined;
    get dbUniqueName(): string;
    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 _keyStoreId?;
    get keyStoreId(): string;
    set keyStoreId(value: string);
    resetKeyStoreId(): void;
    get keyStoreIdInput(): string | undefined;
    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;
    get oneOffPatches(): string[];
    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 sidPrefix(): string;
    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(): DatabaseDbHomeDatabaseDbBackupConfigOutputReference;
    putDbBackupConfig(value: DatabaseDbHomeDatabaseDbBackupConfig): void;
    resetDbBackupConfig(): void;
    get dbBackupConfigInput(): DatabaseDbHomeDatabaseDbBackupConfig | undefined;
}
export interface DatabaseDbHomeTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#create DatabaseDbHome#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#delete DatabaseDbHome#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#update DatabaseDbHome#update}
    */
    readonly update?: string;
}
export declare function databaseDbHomeTimeoutsToTerraform(struct?: DatabaseDbHomeTimeouts | cdktf.IResolvable): any;
export declare function databaseDbHomeTimeoutsToHclTerraform(struct?: DatabaseDbHomeTimeouts | cdktf.IResolvable): any;
export declare class DatabaseDbHomeTimeoutsOutputReference 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(): DatabaseDbHomeTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: DatabaseDbHomeTimeouts | 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_home oci_database_db_home}
*/
export declare class DatabaseDbHome extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_database_db_home";
    /**
    * Generates CDKTF code for importing a DatabaseDbHome 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 DatabaseDbHome to import
    * @param importFromId The id of the existing DatabaseDbHome that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/database_db_home#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DatabaseDbHome 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_home oci_database_db_home} 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 DatabaseDbHomeConfig = {}
    */
    constructor(scope: Construct, id: string, config?: DatabaseDbHomeConfig);
    get compartmentId(): string;
    private _databaseSoftwareImageId?;
    get databaseSoftwareImageId(): string;
    set databaseSoftwareImageId(value: string);
    resetDatabaseSoftwareImageId(): void;
    get databaseSoftwareImageIdInput(): string | undefined;
    get dbHomeLocation(): string;
    private _dbSystemId?;
    get dbSystemId(): string;
    set dbSystemId(value: string);
    resetDbSystemId(): void;
    get dbSystemIdInput(): string | undefined;
    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 _enableDatabaseDelete?;
    get enableDatabaseDelete(): boolean | cdktf.IResolvable;
    set enableDatabaseDelete(value: boolean | cdktf.IResolvable);
    resetEnableDatabaseDelete(): void;
    get enableDatabaseDeleteInput(): boolean | cdktf.IResolvable | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _isDesupportedVersion?;
    get isDesupportedVersion(): boolean | cdktf.IResolvable;
    set isDesupportedVersion(value: boolean | cdktf.IResolvable);
    resetIsDesupportedVersion(): void;
    get isDesupportedVersionInput(): boolean | cdktf.IResolvable | undefined;
    private _isUnifiedAuditingEnabled?;
    get isUnifiedAuditingEnabled(): boolean | cdktf.IResolvable;
    set isUnifiedAuditingEnabled(value: boolean | cdktf.IResolvable);
    resetIsUnifiedAuditingEnabled(): void;
    get isUnifiedAuditingEnabledInput(): boolean | cdktf.IResolvable | undefined;
    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 lastPatchHistoryEntryId(): string;
    get lifecycleDetails(): string;
    private _source?;
    get source(): string;
    set source(value: string);
    resetSource(): void;
    get sourceInput(): string | undefined;
    get state(): string;
    get timeCreated(): string;
    private _vmClusterId?;
    get vmClusterId(): string;
    set vmClusterId(value: string);
    resetVmClusterId(): void;
    get vmClusterIdInput(): string | undefined;
    private _database;
    get database(): DatabaseDbHomeDatabaseOutputReference;
    putDatabase(value: DatabaseDbHomeDatabase): void;
    resetDatabase(): void;
    get databaseInput(): DatabaseDbHomeDatabase | undefined;
    private _timeouts;
    get timeouts(): DatabaseDbHomeTimeoutsOutputReference;
    putTimeouts(value: DatabaseDbHomeTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | DatabaseDbHomeTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
