import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciMysqlMysqlDbSystemConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/mysql_mysql_db_system#db_system_id DataOciMysqlMysqlDbSystem#db_system_id}
    */
    readonly dbSystemId: string;
}
export interface DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicy {
}
export declare function dataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyToTerraform(struct?: DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicy): any;
export declare function dataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyToHclTerraform(struct?: DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicy): any;
export declare class DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyOutputReference 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(): DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicy | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicy | undefined);
    get isEnabled(): cdktf.IResolvable;
}
export declare class DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyList 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): DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyOutputReference;
}
export interface DataOciMysqlMysqlDbSystemBackupPolicy {
}
export declare function dataOciMysqlMysqlDbSystemBackupPolicyToTerraform(struct?: DataOciMysqlMysqlDbSystemBackupPolicy): any;
export declare function dataOciMysqlMysqlDbSystemBackupPolicyToHclTerraform(struct?: DataOciMysqlMysqlDbSystemBackupPolicy): any;
export declare class DataOciMysqlMysqlDbSystemBackupPolicyOutputReference 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(): DataOciMysqlMysqlDbSystemBackupPolicy | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemBackupPolicy | undefined);
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get isEnabled(): cdktf.IResolvable;
    private _pitrPolicy;
    get pitrPolicy(): DataOciMysqlMysqlDbSystemBackupPolicyPitrPolicyList;
    get retentionInDays(): number;
    get windowStartTime(): string;
}
export declare class DataOciMysqlMysqlDbSystemBackupPolicyList 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): DataOciMysqlMysqlDbSystemBackupPolicyOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandling {
}
export declare function dataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingToTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandling): any;
export declare function dataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandling): any;
export declare class DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingOutputReference 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(): DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandling | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandling | undefined);
    get lastConfiguredLogFilename(): string;
    get lastConfiguredLogOffset(): string;
    get policy(): string;
    get uuid(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingList 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): DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificate {
}
export declare function dataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateToTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificate): any;
export declare function dataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificate): any;
export declare class DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateOutputReference 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(): DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificate | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificate | undefined);
    get certificateType(): string;
    get contents(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateList 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): DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannelsSource {
}
export declare function dataOciMysqlMysqlDbSystemChannelsSourceToTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSource): any;
export declare function dataOciMysqlMysqlDbSystemChannelsSourceToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsSource): any;
export declare class DataOciMysqlMysqlDbSystemChannelsSourceOutputReference 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(): DataOciMysqlMysqlDbSystemChannelsSource | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannelsSource | undefined);
    private _anonymousTransactionsHandling;
    get anonymousTransactionsHandling(): DataOciMysqlMysqlDbSystemChannelsSourceAnonymousTransactionsHandlingList;
    get hostname(): string;
    get port(): number;
    get sourceType(): string;
    private _sslCaCertificate;
    get sslCaCertificate(): DataOciMysqlMysqlDbSystemChannelsSourceSslCaCertificateList;
    get sslMode(): string;
    get username(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsSourceList 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): DataOciMysqlMysqlDbSystemChannelsSourceOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannelsTargetFilters {
}
export declare function dataOciMysqlMysqlDbSystemChannelsTargetFiltersToTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsTargetFilters): any;
export declare function dataOciMysqlMysqlDbSystemChannelsTargetFiltersToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsTargetFilters): any;
export declare class DataOciMysqlMysqlDbSystemChannelsTargetFiltersOutputReference 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(): DataOciMysqlMysqlDbSystemChannelsTargetFilters | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannelsTargetFilters | undefined);
    get type(): string;
    get value(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsTargetFiltersList 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): DataOciMysqlMysqlDbSystemChannelsTargetFiltersOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannelsTarget {
}
export declare function dataOciMysqlMysqlDbSystemChannelsTargetToTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsTarget): any;
export declare function dataOciMysqlMysqlDbSystemChannelsTargetToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannelsTarget): any;
export declare class DataOciMysqlMysqlDbSystemChannelsTargetOutputReference 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(): DataOciMysqlMysqlDbSystemChannelsTarget | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannelsTarget | undefined);
    get applierUsername(): string;
    get channelName(): string;
    get dbSystemId(): string;
    get delayInSeconds(): number;
    private _filters;
    get filters(): DataOciMysqlMysqlDbSystemChannelsTargetFiltersList;
    get tablesWithoutPrimaryKeyHandling(): string;
    get targetType(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsTargetList 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): DataOciMysqlMysqlDbSystemChannelsTargetOutputReference;
}
export interface DataOciMysqlMysqlDbSystemChannels {
}
export declare function dataOciMysqlMysqlDbSystemChannelsToTerraform(struct?: DataOciMysqlMysqlDbSystemChannels): any;
export declare function dataOciMysqlMysqlDbSystemChannelsToHclTerraform(struct?: DataOciMysqlMysqlDbSystemChannels): any;
export declare class DataOciMysqlMysqlDbSystemChannelsOutputReference 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(): DataOciMysqlMysqlDbSystemChannels | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemChannels | undefined);
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get displayName(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get isEnabled(): cdktf.IResolvable;
    get lifecycleDetails(): string;
    private _source;
    get source(): DataOciMysqlMysqlDbSystemChannelsSourceList;
    get state(): string;
    private _target;
    get target(): DataOciMysqlMysqlDbSystemChannelsTargetList;
    get timeCreated(): string;
    get timeUpdated(): string;
}
export declare class DataOciMysqlMysqlDbSystemChannelsList 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): DataOciMysqlMysqlDbSystemChannelsOutputReference;
}
export interface DataOciMysqlMysqlDbSystemCurrentPlacement {
}
export declare function dataOciMysqlMysqlDbSystemCurrentPlacementToTerraform(struct?: DataOciMysqlMysqlDbSystemCurrentPlacement): any;
export declare function dataOciMysqlMysqlDbSystemCurrentPlacementToHclTerraform(struct?: DataOciMysqlMysqlDbSystemCurrentPlacement): any;
export declare class DataOciMysqlMysqlDbSystemCurrentPlacementOutputReference 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(): DataOciMysqlMysqlDbSystemCurrentPlacement | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemCurrentPlacement | undefined);
    get availabilityDomain(): string;
    get faultDomain(): string;
}
export declare class DataOciMysqlMysqlDbSystemCurrentPlacementList 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): DataOciMysqlMysqlDbSystemCurrentPlacementOutputReference;
}
export interface DataOciMysqlMysqlDbSystemCustomerContacts {
}
export declare function dataOciMysqlMysqlDbSystemCustomerContactsToTerraform(struct?: DataOciMysqlMysqlDbSystemCustomerContacts): any;
export declare function dataOciMysqlMysqlDbSystemCustomerContactsToHclTerraform(struct?: DataOciMysqlMysqlDbSystemCustomerContacts): any;
export declare class DataOciMysqlMysqlDbSystemCustomerContactsOutputReference 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(): DataOciMysqlMysqlDbSystemCustomerContacts | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemCustomerContacts | undefined);
    get email(): string;
}
export declare class DataOciMysqlMysqlDbSystemCustomerContactsList 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): DataOciMysqlMysqlDbSystemCustomerContactsOutputReference;
}
export interface DataOciMysqlMysqlDbSystemDataStorage {
}
export declare function dataOciMysqlMysqlDbSystemDataStorageToTerraform(struct?: DataOciMysqlMysqlDbSystemDataStorage): any;
export declare function dataOciMysqlMysqlDbSystemDataStorageToHclTerraform(struct?: DataOciMysqlMysqlDbSystemDataStorage): any;
export declare class DataOciMysqlMysqlDbSystemDataStorageOutputReference 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(): DataOciMysqlMysqlDbSystemDataStorage | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemDataStorage | undefined);
    get allocatedStorageSizeInGbs(): number;
    get dataStorageSizeInGb(): number;
    get dataStorageSizeLimitInGbs(): number;
    get isAutoExpandStorageEnabled(): cdktf.IResolvable;
    get maxStorageSizeInGbs(): number;
}
export declare class DataOciMysqlMysqlDbSystemDataStorageList 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): DataOciMysqlMysqlDbSystemDataStorageOutputReference;
}
export interface DataOciMysqlMysqlDbSystemDeletionPolicy {
}
export declare function dataOciMysqlMysqlDbSystemDeletionPolicyToTerraform(struct?: DataOciMysqlMysqlDbSystemDeletionPolicy): any;
export declare function dataOciMysqlMysqlDbSystemDeletionPolicyToHclTerraform(struct?: DataOciMysqlMysqlDbSystemDeletionPolicy): any;
export declare class DataOciMysqlMysqlDbSystemDeletionPolicyOutputReference 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(): DataOciMysqlMysqlDbSystemDeletionPolicy | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemDeletionPolicy | undefined);
    get automaticBackupRetention(): string;
    get finalBackup(): string;
    get isDeleteProtected(): cdktf.IResolvable;
}
export declare class DataOciMysqlMysqlDbSystemDeletionPolicyList 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): DataOciMysqlMysqlDbSystemDeletionPolicyOutputReference;
}
export interface DataOciMysqlMysqlDbSystemEndpoints {
}
export declare function dataOciMysqlMysqlDbSystemEndpointsToTerraform(struct?: DataOciMysqlMysqlDbSystemEndpoints): any;
export declare function dataOciMysqlMysqlDbSystemEndpointsToHclTerraform(struct?: DataOciMysqlMysqlDbSystemEndpoints): any;
export declare class DataOciMysqlMysqlDbSystemEndpointsOutputReference 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(): DataOciMysqlMysqlDbSystemEndpoints | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemEndpoints | undefined);
    get hostname(): string;
    get ipAddress(): string;
    get modes(): string[];
    get port(): number;
    get portX(): number;
    get resourceId(): string;
    get resourceType(): string;
    get status(): string;
    get statusDetails(): string;
}
export declare class DataOciMysqlMysqlDbSystemEndpointsList 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): DataOciMysqlMysqlDbSystemEndpointsOutputReference;
}
export interface DataOciMysqlMysqlDbSystemHeatWaveCluster {
}
export declare function dataOciMysqlMysqlDbSystemHeatWaveClusterToTerraform(struct?: DataOciMysqlMysqlDbSystemHeatWaveCluster): any;
export declare function dataOciMysqlMysqlDbSystemHeatWaveClusterToHclTerraform(struct?: DataOciMysqlMysqlDbSystemHeatWaveCluster): any;
export declare class DataOciMysqlMysqlDbSystemHeatWaveClusterOutputReference 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(): DataOciMysqlMysqlDbSystemHeatWaveCluster | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemHeatWaveCluster | undefined);
    get clusterSize(): number;
    get isLakehouseEnabled(): cdktf.IResolvable;
    get shapeName(): string;
    get state(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
}
export declare class DataOciMysqlMysqlDbSystemHeatWaveClusterList 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): DataOciMysqlMysqlDbSystemHeatWaveClusterOutputReference;
}
export interface DataOciMysqlMysqlDbSystemMaintenance {
}
export declare function dataOciMysqlMysqlDbSystemMaintenanceToTerraform(struct?: DataOciMysqlMysqlDbSystemMaintenance): any;
export declare function dataOciMysqlMysqlDbSystemMaintenanceToHclTerraform(struct?: DataOciMysqlMysqlDbSystemMaintenance): any;
export declare class DataOciMysqlMysqlDbSystemMaintenanceOutputReference 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(): DataOciMysqlMysqlDbSystemMaintenance | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemMaintenance | undefined);
    get windowStartTime(): string;
}
export declare class DataOciMysqlMysqlDbSystemMaintenanceList 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): DataOciMysqlMysqlDbSystemMaintenanceOutputReference;
}
export interface DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetails {
}
export declare function dataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsToTerraform(struct?: DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetails): any;
export declare function dataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsToHclTerraform(struct?: DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetails): any;
export declare class DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsOutputReference 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(): DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetails | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetails | undefined);
    get timeEarliestRecoveryPoint(): string;
    get timeLatestRecoveryPoint(): string;
}
export declare class DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsList 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): DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsOutputReference;
}
export interface DataOciMysqlMysqlDbSystemSecureConnections {
}
export declare function dataOciMysqlMysqlDbSystemSecureConnectionsToTerraform(struct?: DataOciMysqlMysqlDbSystemSecureConnections): any;
export declare function dataOciMysqlMysqlDbSystemSecureConnectionsToHclTerraform(struct?: DataOciMysqlMysqlDbSystemSecureConnections): any;
export declare class DataOciMysqlMysqlDbSystemSecureConnectionsOutputReference 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(): DataOciMysqlMysqlDbSystemSecureConnections | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemSecureConnections | undefined);
    get certificateGenerationType(): string;
    get certificateId(): string;
}
export declare class DataOciMysqlMysqlDbSystemSecureConnectionsList 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): DataOciMysqlMysqlDbSystemSecureConnectionsOutputReference;
}
export interface DataOciMysqlMysqlDbSystemSource {
}
export declare function dataOciMysqlMysqlDbSystemSourceToTerraform(struct?: DataOciMysqlMysqlDbSystemSource): any;
export declare function dataOciMysqlMysqlDbSystemSourceToHclTerraform(struct?: DataOciMysqlMysqlDbSystemSource): any;
export declare class DataOciMysqlMysqlDbSystemSourceOutputReference 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(): DataOciMysqlMysqlDbSystemSource | undefined;
    set internalValue(value: DataOciMysqlMysqlDbSystemSource | undefined);
    get backupId(): string;
    get dbSystemId(): string;
    get recoveryPoint(): string;
    get sourceType(): string;
    get sourceUrl(): string;
}
export declare class DataOciMysqlMysqlDbSystemSourceList 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): DataOciMysqlMysqlDbSystemSourceOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/mysql_mysql_db_system oci_mysql_mysql_db_system}
*/
export declare class DataOciMysqlMysqlDbSystem extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_mysql_mysql_db_system";
    /**
    * Generates CDKTF code for importing a DataOciMysqlMysqlDbSystem 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 DataOciMysqlMysqlDbSystem to import
    * @param importFromId The id of the existing DataOciMysqlMysqlDbSystem that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/mysql_mysql_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 DataOciMysqlMysqlDbSystem to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/mysql_mysql_db_system oci_mysql_mysql_db_system} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataOciMysqlMysqlDbSystemConfig
    */
    constructor(scope: Construct, id: string, config: DataOciMysqlMysqlDbSystemConfig);
    get adminPassword(): string;
    get adminUsername(): string;
    get availabilityDomain(): string;
    private _backupPolicy;
    get backupPolicy(): DataOciMysqlMysqlDbSystemBackupPolicyList;
    private _channels;
    get channels(): DataOciMysqlMysqlDbSystemChannelsList;
    get compartmentId(): string;
    get configurationId(): string;
    get crashRecovery(): string;
    private _currentPlacement;
    get currentPlacement(): DataOciMysqlMysqlDbSystemCurrentPlacementList;
    private _customerContacts;
    get customerContacts(): DataOciMysqlMysqlDbSystemCustomerContactsList;
    private _dataStorage;
    get dataStorage(): DataOciMysqlMysqlDbSystemDataStorageList;
    get dataStorageSizeInGb(): number;
    get databaseManagement(): string;
    private _dbSystemId?;
    get dbSystemId(): string;
    set dbSystemId(value: string);
    get dbSystemIdInput(): string | undefined;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _deletionPolicy;
    get deletionPolicy(): DataOciMysqlMysqlDbSystemDeletionPolicyList;
    get description(): string;
    get displayName(): string;
    private _endpoints;
    get endpoints(): DataOciMysqlMysqlDbSystemEndpointsList;
    get faultDomain(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    private _heatWaveCluster;
    get heatWaveCluster(): DataOciMysqlMysqlDbSystemHeatWaveClusterList;
    get hostnameLabel(): string;
    get id(): string;
    get ipAddress(): string;
    get isHeatWaveClusterAttached(): cdktf.IResolvable;
    get isHighlyAvailable(): cdktf.IResolvable;
    get lifecycleDetails(): string;
    private _maintenance;
    get maintenance(): DataOciMysqlMysqlDbSystemMaintenanceList;
    get mysqlVersion(): string;
    private _pointInTimeRecoveryDetails;
    get pointInTimeRecoveryDetails(): DataOciMysqlMysqlDbSystemPointInTimeRecoveryDetailsList;
    get port(): number;
    get portX(): number;
    private _secureConnections;
    get secureConnections(): DataOciMysqlMysqlDbSystemSecureConnectionsList;
    get shapeName(): string;
    get shutdownType(): string;
    private _source;
    get source(): DataOciMysqlMysqlDbSystemSourceList;
    get state(): string;
    get subnetId(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
