import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciBlockchainBlockchainPlatformConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/blockchain_blockchain_platform#blockchain_platform_id DataOciBlockchainBlockchainPlatform#blockchain_platform_id}
    */
    readonly blockchainPlatformId: string;
}
export interface DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParam {
}
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamToTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParam): any;
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParam): any;
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamOutputReference 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(): DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParam | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParam | undefined);
    get ocpuAllocationNumber(): number;
}
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamList 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): DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformComponentDetailsOsns {
}
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsOsnsToTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsOsns): any;
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsOsnsToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsOsns): any;
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOutputReference 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(): DataOciBlockchainBlockchainPlatformComponentDetailsOsns | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformComponentDetailsOsns | undefined);
    get ad(): string;
    private _ocpuAllocationParam;
    get ocpuAllocationParam(): DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOcpuAllocationParamList;
    get osnKey(): string;
    get state(): string;
}
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsOsnsList 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): DataOciBlockchainBlockchainPlatformComponentDetailsOsnsOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParam {
}
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamToTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParam): any;
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParam): any;
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamOutputReference 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(): DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParam | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParam | undefined);
    get ocpuAllocationNumber(): number;
}
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamList 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): DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformComponentDetailsPeers {
}
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsPeersToTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsPeers): any;
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsPeersToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetailsPeers): any;
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsPeersOutputReference 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(): DataOciBlockchainBlockchainPlatformComponentDetailsPeers | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformComponentDetailsPeers | undefined);
    get ad(): string;
    get alias(): string;
    get host(): string;
    private _ocpuAllocationParam;
    get ocpuAllocationParam(): DataOciBlockchainBlockchainPlatformComponentDetailsPeersOcpuAllocationParamList;
    get peerKey(): string;
    get role(): string;
    get state(): string;
}
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsPeersList 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): DataOciBlockchainBlockchainPlatformComponentDetailsPeersOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformComponentDetails {
}
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsToTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetails): any;
export declare function dataOciBlockchainBlockchainPlatformComponentDetailsToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformComponentDetails): any;
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsOutputReference 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(): DataOciBlockchainBlockchainPlatformComponentDetails | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformComponentDetails | undefined);
    private _osns;
    get osns(): DataOciBlockchainBlockchainPlatformComponentDetailsOsnsList;
    private _peers;
    get peers(): DataOciBlockchainBlockchainPlatformComponentDetailsPeersList;
}
export declare class DataOciBlockchainBlockchainPlatformComponentDetailsList 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): DataOciBlockchainBlockchainPlatformComponentDetailsOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfo {
}
export declare function dataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoToTerraform(struct?: DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfo): any;
export declare function dataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfo): any;
export declare class DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoOutputReference 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(): DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfo | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfo | undefined);
    get host(): string;
    get ocpuCapacityNumber(): number;
    get ocpuUtilizationNumber(): number;
}
export declare class DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoList 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): DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoOutputReference;
}
export interface DataOciBlockchainBlockchainPlatformReplicas {
}
export declare function dataOciBlockchainBlockchainPlatformReplicasToTerraform(struct?: DataOciBlockchainBlockchainPlatformReplicas): any;
export declare function dataOciBlockchainBlockchainPlatformReplicasToHclTerraform(struct?: DataOciBlockchainBlockchainPlatformReplicas): any;
export declare class DataOciBlockchainBlockchainPlatformReplicasOutputReference 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(): DataOciBlockchainBlockchainPlatformReplicas | undefined;
    set internalValue(value: DataOciBlockchainBlockchainPlatformReplicas | undefined);
    get caCount(): number;
    get consoleCount(): number;
    get proxyCount(): number;
}
export declare class DataOciBlockchainBlockchainPlatformReplicasList 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): DataOciBlockchainBlockchainPlatformReplicasOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/blockchain_blockchain_platform oci_blockchain_blockchain_platform}
*/
export declare class DataOciBlockchainBlockchainPlatform extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_blockchain_blockchain_platform";
    /**
    * Generates CDKTF code for importing a DataOciBlockchainBlockchainPlatform 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 DataOciBlockchainBlockchainPlatform to import
    * @param importFromId The id of the existing DataOciBlockchainBlockchainPlatform that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/blockchain_blockchain_platform#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciBlockchainBlockchainPlatform 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/blockchain_blockchain_platform oci_blockchain_blockchain_platform} 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 DataOciBlockchainBlockchainPlatformConfig
    */
    constructor(scope: Construct, id: string, config: DataOciBlockchainBlockchainPlatformConfig);
    private _blockchainPlatformId?;
    get blockchainPlatformId(): string;
    set blockchainPlatformId(value: string);
    get blockchainPlatformIdInput(): string | undefined;
    get caCertArchiveText(): string;
    get compartmentId(): string;
    private _componentDetails;
    get componentDetails(): DataOciBlockchainBlockchainPlatformComponentDetailsList;
    get computeShape(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get description(): string;
    get displayName(): string;
    get federatedUserId(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    private _hostOcpuUtilizationInfo;
    get hostOcpuUtilizationInfo(): DataOciBlockchainBlockchainPlatformHostOcpuUtilizationInfoList;
    get id(): string;
    get idcsAccessToken(): string;
    get isByol(): cdktf.IResolvable;
    get isMultiAd(): cdktf.IResolvable;
    get lifecycleDetails(): string;
    get loadBalancerShape(): string;
    get platformRole(): string;
    get platformShapeType(): string;
    get platformVersion(): string;
    private _replicas;
    get replicas(): DataOciBlockchainBlockchainPlatformReplicasList;
    get serviceEndpoint(): string;
    get serviceVersion(): string;
    get state(): string;
    get storageSizeInTbs(): number;
    get storageUsedInTbs(): number;
    get timeCreated(): string;
    get timeUpdated(): string;
    get totalOcpuCapacity(): number;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
