import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciBdsBdsInstanceConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/bds_bds_instance#bds_instance_id DataOciBdsBdsInstance#bds_instance_id}
    */
    readonly bdsInstanceId: string;
}
export interface DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetails {
}
export declare function dataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsToTerraform(struct?: DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetails): any;
export declare function dataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsToHclTerraform(struct?: DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetails): any;
export declare class DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsOutputReference 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(): DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetails | undefined;
    set internalValue(value: DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetails | undefined);
    get keytabFile(): string;
    get principalName(): string;
}
export declare class DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsList 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): DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsOutputReference;
}
export interface DataOciBdsBdsInstanceCloudSqlDetails {
}
export declare function dataOciBdsBdsInstanceCloudSqlDetailsToTerraform(struct?: DataOciBdsBdsInstanceCloudSqlDetails): any;
export declare function dataOciBdsBdsInstanceCloudSqlDetailsToHclTerraform(struct?: DataOciBdsBdsInstanceCloudSqlDetails): any;
export declare class DataOciBdsBdsInstanceCloudSqlDetailsOutputReference 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(): DataOciBdsBdsInstanceCloudSqlDetails | undefined;
    set internalValue(value: DataOciBdsBdsInstanceCloudSqlDetails | undefined);
    get blockVolumeSizeInGbs(): string;
    get ipAddress(): string;
    get isKerberosMappedToDatabaseUsers(): cdktf.IResolvable;
    private _kerberosDetails;
    get kerberosDetails(): DataOciBdsBdsInstanceCloudSqlDetailsKerberosDetailsList;
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
    get shape(): string;
}
export declare class DataOciBdsBdsInstanceCloudSqlDetailsList 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): DataOciBdsBdsInstanceCloudSqlDetailsOutputReference;
}
export interface DataOciBdsBdsInstanceClusterDetails {
}
export declare function dataOciBdsBdsInstanceClusterDetailsToTerraform(struct?: DataOciBdsBdsInstanceClusterDetails): any;
export declare function dataOciBdsBdsInstanceClusterDetailsToHclTerraform(struct?: DataOciBdsBdsInstanceClusterDetails): any;
export declare class DataOciBdsBdsInstanceClusterDetailsOutputReference 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(): DataOciBdsBdsInstanceClusterDetails | undefined;
    set internalValue(value: DataOciBdsBdsInstanceClusterDetails | undefined);
    get ambariUrl(): string;
    get bdCellVersion(): string;
    get bdaVersion(): string;
    get bdmVersion(): string;
    get bdsVersion(): string;
    get bigDataManagerUrl(): string;
    get clouderaManagerUrl(): string;
    get csqlCellVersion(): string;
    get dbVersion(): string;
    get hueServerUrl(): string;
    get jupyterHubUrl(): string;
    get odhVersion(): string;
    get osVersion(): string;
    get timeCreated(): string;
    get timeRefreshed(): string;
}
export declare class DataOciBdsBdsInstanceClusterDetailsList 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): DataOciBdsBdsInstanceClusterDetailsOutputReference;
}
export interface DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigList 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): DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceComputeOnlyWorkerNode {
}
export declare function dataOciBdsBdsInstanceComputeOnlyWorkerNodeToTerraform(struct?: DataOciBdsBdsInstanceComputeOnlyWorkerNode): any;
export declare function dataOciBdsBdsInstanceComputeOnlyWorkerNodeToHclTerraform(struct?: DataOciBdsBdsInstanceComputeOnlyWorkerNode): any;
export declare class DataOciBdsBdsInstanceComputeOnlyWorkerNodeOutputReference 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(): DataOciBdsBdsInstanceComputeOnlyWorkerNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceComputeOnlyWorkerNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceComputeOnlyWorkerNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceComputeOnlyWorkerNodeList 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): DataOciBdsBdsInstanceComputeOnlyWorkerNodeOutputReference;
}
export interface DataOciBdsBdsInstanceEdgeNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceEdgeNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceEdgeNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceEdgeNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceEdgeNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceEdgeNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceEdgeNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceEdgeNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceEdgeNodeShapeConfigList 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): DataOciBdsBdsInstanceEdgeNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceEdgeNode {
}
export declare function dataOciBdsBdsInstanceEdgeNodeToTerraform(struct?: DataOciBdsBdsInstanceEdgeNode): any;
export declare function dataOciBdsBdsInstanceEdgeNodeToHclTerraform(struct?: DataOciBdsBdsInstanceEdgeNode): any;
export declare class DataOciBdsBdsInstanceEdgeNodeOutputReference 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(): DataOciBdsBdsInstanceEdgeNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceEdgeNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceEdgeNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceEdgeNodeList 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): DataOciBdsBdsInstanceEdgeNodeOutputReference;
}
export interface DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigList 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): DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceKafkaBrokerNode {
}
export declare function dataOciBdsBdsInstanceKafkaBrokerNodeToTerraform(struct?: DataOciBdsBdsInstanceKafkaBrokerNode): any;
export declare function dataOciBdsBdsInstanceKafkaBrokerNodeToHclTerraform(struct?: DataOciBdsBdsInstanceKafkaBrokerNode): any;
export declare class DataOciBdsBdsInstanceKafkaBrokerNodeOutputReference 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(): DataOciBdsBdsInstanceKafkaBrokerNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceKafkaBrokerNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfKafkaNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceKafkaBrokerNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceKafkaBrokerNodeList 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): DataOciBdsBdsInstanceKafkaBrokerNodeOutputReference;
}
export interface DataOciBdsBdsInstanceMasterNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceMasterNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceMasterNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceMasterNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceMasterNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceMasterNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceMasterNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceMasterNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceMasterNodeShapeConfigList 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): DataOciBdsBdsInstanceMasterNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceMasterNode {
}
export declare function dataOciBdsBdsInstanceMasterNodeToTerraform(struct?: DataOciBdsBdsInstanceMasterNode): any;
export declare function dataOciBdsBdsInstanceMasterNodeToHclTerraform(struct?: DataOciBdsBdsInstanceMasterNode): any;
export declare class DataOciBdsBdsInstanceMasterNodeOutputReference 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(): DataOciBdsBdsInstanceMasterNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceMasterNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceMasterNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceMasterNodeList 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): DataOciBdsBdsInstanceMasterNodeOutputReference;
}
export interface DataOciBdsBdsInstanceNetworkConfig {
}
export declare function dataOciBdsBdsInstanceNetworkConfigToTerraform(struct?: DataOciBdsBdsInstanceNetworkConfig): any;
export declare function dataOciBdsBdsInstanceNetworkConfigToHclTerraform(struct?: DataOciBdsBdsInstanceNetworkConfig): any;
export declare class DataOciBdsBdsInstanceNetworkConfigOutputReference 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(): DataOciBdsBdsInstanceNetworkConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceNetworkConfig | undefined);
    get cidrBlock(): string;
    get isNatGatewayRequired(): cdktf.IResolvable;
}
export declare class DataOciBdsBdsInstanceNetworkConfigList 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): DataOciBdsBdsInstanceNetworkConfigOutputReference;
}
export interface DataOciBdsBdsInstanceNodesAttachedBlockVolumes {
}
export declare function dataOciBdsBdsInstanceNodesAttachedBlockVolumesToTerraform(struct?: DataOciBdsBdsInstanceNodesAttachedBlockVolumes): any;
export declare function dataOciBdsBdsInstanceNodesAttachedBlockVolumesToHclTerraform(struct?: DataOciBdsBdsInstanceNodesAttachedBlockVolumes): any;
export declare class DataOciBdsBdsInstanceNodesAttachedBlockVolumesOutputReference 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(): DataOciBdsBdsInstanceNodesAttachedBlockVolumes | undefined;
    set internalValue(value: DataOciBdsBdsInstanceNodesAttachedBlockVolumes | undefined);
    get volumeAttachmentId(): string;
    get volumeSizeInGbs(): string;
}
export declare class DataOciBdsBdsInstanceNodesAttachedBlockVolumesList 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): DataOciBdsBdsInstanceNodesAttachedBlockVolumesOutputReference;
}
export interface DataOciBdsBdsInstanceNodes {
}
export declare function dataOciBdsBdsInstanceNodesToTerraform(struct?: DataOciBdsBdsInstanceNodes): any;
export declare function dataOciBdsBdsInstanceNodesToHclTerraform(struct?: DataOciBdsBdsInstanceNodes): any;
export declare class DataOciBdsBdsInstanceNodesOutputReference 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(): DataOciBdsBdsInstanceNodes | undefined;
    set internalValue(value: DataOciBdsBdsInstanceNodes | undefined);
    private _attachedBlockVolumes;
    get attachedBlockVolumes(): DataOciBdsBdsInstanceNodesAttachedBlockVolumesList;
    get availabilityDomain(): string;
    get displayName(): string;
    get faultDomain(): string;
    get hostname(): string;
    get imageId(): string;
    get instanceId(): string;
    get ipAddress(): string;
    get isRebootRequired(): cdktf.IResolvable;
    get localDisksTotalSizeInGbs(): number;
    get memoryInGbs(): number;
    get nodeType(): string;
    get nvmes(): number;
    get ocpus(): number;
    get osVersion(): string;
    get shape(): string;
    get sshFingerprint(): string;
    get state(): string;
    get subnetId(): string;
    get timeCreated(): string;
    get timeMaintenanceRebootDue(): string;
}
export declare class DataOciBdsBdsInstanceNodesList 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): DataOciBdsBdsInstanceNodesOutputReference;
}
export interface DataOciBdsBdsInstanceUtilNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceUtilNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceUtilNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceUtilNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceUtilNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceUtilNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceUtilNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceUtilNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceUtilNodeShapeConfigList 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): DataOciBdsBdsInstanceUtilNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceUtilNode {
}
export declare function dataOciBdsBdsInstanceUtilNodeToTerraform(struct?: DataOciBdsBdsInstanceUtilNode): any;
export declare function dataOciBdsBdsInstanceUtilNodeToHclTerraform(struct?: DataOciBdsBdsInstanceUtilNode): any;
export declare class DataOciBdsBdsInstanceUtilNodeOutputReference 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(): DataOciBdsBdsInstanceUtilNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceUtilNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceUtilNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceUtilNodeList 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): DataOciBdsBdsInstanceUtilNodeOutputReference;
}
export interface DataOciBdsBdsInstanceWorkerNodeShapeConfig {
}
export declare function dataOciBdsBdsInstanceWorkerNodeShapeConfigToTerraform(struct?: DataOciBdsBdsInstanceWorkerNodeShapeConfig): any;
export declare function dataOciBdsBdsInstanceWorkerNodeShapeConfigToHclTerraform(struct?: DataOciBdsBdsInstanceWorkerNodeShapeConfig): any;
export declare class DataOciBdsBdsInstanceWorkerNodeShapeConfigOutputReference 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(): DataOciBdsBdsInstanceWorkerNodeShapeConfig | undefined;
    set internalValue(value: DataOciBdsBdsInstanceWorkerNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get nvmes(): number;
    get ocpus(): number;
}
export declare class DataOciBdsBdsInstanceWorkerNodeShapeConfigList 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): DataOciBdsBdsInstanceWorkerNodeShapeConfigOutputReference;
}
export interface DataOciBdsBdsInstanceWorkerNode {
}
export declare function dataOciBdsBdsInstanceWorkerNodeToTerraform(struct?: DataOciBdsBdsInstanceWorkerNode): any;
export declare function dataOciBdsBdsInstanceWorkerNodeToHclTerraform(struct?: DataOciBdsBdsInstanceWorkerNode): any;
export declare class DataOciBdsBdsInstanceWorkerNodeOutputReference 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(): DataOciBdsBdsInstanceWorkerNode | undefined;
    set internalValue(value: DataOciBdsBdsInstanceWorkerNode | undefined);
    get blockVolumeSizeInGbs(): string;
    get numberOfNodes(): number;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciBdsBdsInstanceWorkerNodeShapeConfigList;
    get subnetId(): string;
}
export declare class DataOciBdsBdsInstanceWorkerNodeList 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): DataOciBdsBdsInstanceWorkerNodeOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/bds_bds_instance oci_bds_bds_instance}
*/
export declare class DataOciBdsBdsInstance extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_bds_bds_instance";
    /**
    * Generates CDKTF code for importing a DataOciBdsBdsInstance 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 DataOciBdsBdsInstance to import
    * @param importFromId The id of the existing DataOciBdsBdsInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/bds_bds_instance#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciBdsBdsInstance 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/bds_bds_instance oci_bds_bds_instance} 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 DataOciBdsBdsInstanceConfig
    */
    constructor(scope: Construct, id: string, config: DataOciBdsBdsInstanceConfig);
    private _bdsInstanceId?;
    get bdsInstanceId(): string;
    set bdsInstanceId(value: string);
    get bdsInstanceIdInput(): string | undefined;
    get bootstrapScriptUrl(): string;
    private _cloudSqlDetails;
    get cloudSqlDetails(): DataOciBdsBdsInstanceCloudSqlDetailsList;
    get clusterAdminPassword(): string;
    private _clusterDetails;
    get clusterDetails(): DataOciBdsBdsInstanceClusterDetailsList;
    get clusterProfile(): string;
    get clusterPublicKey(): string;
    get clusterVersion(): string;
    get compartmentId(): string;
    private _computeOnlyWorkerNode;
    get computeOnlyWorkerNode(): DataOciBdsBdsInstanceComputeOnlyWorkerNodeList;
    get createdBy(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get displayName(): string;
    private _edgeNode;
    get edgeNode(): DataOciBdsBdsInstanceEdgeNodeList;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get ignoreExistingNodesShape(): string[];
    get isCloudSqlConfigured(): cdktf.IResolvable;
    get isForceStopJobs(): cdktf.IResolvable;
    get isHighAvailability(): cdktf.IResolvable;
    get isKafkaConfigured(): cdktf.IResolvable;
    get isSecure(): cdktf.IResolvable;
    private _kafkaBrokerNode;
    get kafkaBrokerNode(): DataOciBdsBdsInstanceKafkaBrokerNodeList;
    get kerberosRealmName(): string;
    get kmsKeyId(): string;
    private _masterNode;
    get masterNode(): DataOciBdsBdsInstanceMasterNodeList;
    private _networkConfig;
    get networkConfig(): DataOciBdsBdsInstanceNetworkConfigList;
    private _nodes;
    get nodes(): DataOciBdsBdsInstanceNodesList;
    get numberOfNodes(): number;
    get numberOfNodesRequiringMaintenanceReboot(): number;
    get osPatchVersion(): string;
    get state(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _utilNode;
    get utilNode(): DataOciBdsBdsInstanceUtilNodeList;
    private _workerNode;
    get workerNode(): DataOciBdsBdsInstanceWorkerNodeList;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
