import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciOpsiExadataInsightConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/opsi_exadata_insight#exadata_insight_id DataOciOpsiExadataInsight#exadata_insight_id}
    */
    readonly exadataInsightId: string;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetails {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetails): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetails): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetails | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetails | undefined);
    get credentialSourceName(): string;
    get credentialType(): string;
    get passwordSecretId(): string;
    get role(): string;
    get userName(): string;
    get walletSecretId(): string;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsOutputReference;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHosts {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHosts): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHosts): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHosts | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHosts | undefined);
    get hostIp(): string;
    get port(): number;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsOutputReference;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetails {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetails): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetails): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetails | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetails | undefined);
    get hostName(): string;
    private _hosts;
    get hosts(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsHostsList;
    get port(): number;
    get protocol(): string;
    get serviceName(): string;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsOutputReference;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetails {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetails): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetails): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetails | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetails | undefined);
    get credentialSourceName(): string;
    get credentialType(): string;
    get passwordSecretId(): string;
    get role(): string;
    get userName(): string;
    get walletSecretId(): string;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsOutputReference;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetails {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetails): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetails): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetails | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetails | undefined);
    get compartmentId(): string;
    private _connectionCredentialDetails;
    get connectionCredentialDetails(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionCredentialDetailsList;
    private _connectionDetails;
    get connectionDetails(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsConnectionDetailsList;
    private _credentialDetails;
    get credentialDetails(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsCredentialDetailsList;
    get databaseId(): string;
    get databaseResourceType(): string;
    get dbmPrivateEndpointId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get deploymentType(): string;
    get entitySource(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get managementAgentId(): string;
    get opsiPrivateEndpointId(): string;
    get serviceName(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsOutputReference;
}
export interface DataOciOpsiExadataInsightMemberVmClusterDetails {
}
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsToTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetails): any;
export declare function dataOciOpsiExadataInsightMemberVmClusterDetailsToHclTerraform(struct?: DataOciOpsiExadataInsightMemberVmClusterDetails): any;
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsOutputReference 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(): DataOciOpsiExadataInsightMemberVmClusterDetails | undefined;
    set internalValue(value: DataOciOpsiExadataInsightMemberVmClusterDetails | undefined);
    get compartmentId(): string;
    get dbmPrivateEndpointId(): string;
    private _memberDatabaseDetails;
    get memberDatabaseDetails(): DataOciOpsiExadataInsightMemberVmClusterDetailsMemberDatabaseDetailsList;
    get opsiPrivateEndpointId(): string;
    get vmClusterType(): string;
    get vmclusterId(): string;
}
export declare class DataOciOpsiExadataInsightMemberVmClusterDetailsList 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): DataOciOpsiExadataInsightMemberVmClusterDetailsOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/opsi_exadata_insight oci_opsi_exadata_insight}
*/
export declare class DataOciOpsiExadataInsight extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_opsi_exadata_insight";
    /**
    * Generates CDKTF code for importing a DataOciOpsiExadataInsight 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 DataOciOpsiExadataInsight to import
    * @param importFromId The id of the existing DataOciOpsiExadataInsight that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/opsi_exadata_insight#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciOpsiExadataInsight 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/opsi_exadata_insight oci_opsi_exadata_insight} 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 DataOciOpsiExadataInsightConfig
    */
    constructor(scope: Construct, id: string, config: DataOciOpsiExadataInsightConfig);
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get enterpriseManagerBridgeId(): string;
    get enterpriseManagerEntityDisplayName(): string;
    get enterpriseManagerEntityIdentifier(): string;
    get enterpriseManagerEntityName(): string;
    get enterpriseManagerEntityType(): string;
    get enterpriseManagerIdentifier(): string;
    get entitySource(): string;
    get exadataDisplayName(): string;
    get exadataInfraId(): string;
    get exadataInfraResourceType(): string;
    private _exadataInsightId?;
    get exadataInsightId(): string;
    set exadataInsightId(value: string);
    get exadataInsightIdInput(): string | undefined;
    get exadataName(): string;
    get exadataRackType(): string;
    get exadataShape(): string;
    get exadataType(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get isAutoSyncEnabled(): cdktf.IResolvable;
    get isVirtualizedExadata(): cdktf.IResolvable;
    get lifecycleDetails(): string;
    private _memberVmClusterDetails;
    get memberVmClusterDetails(): DataOciOpsiExadataInsightMemberVmClusterDetailsList;
    get state(): string;
    get status(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
