import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciContainerengineNodePoolConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pool#node_pool_id DataOciContainerengineNodePool#node_pool_id}
    */
    readonly nodePoolId: string;
}
export interface DataOciContainerengineNodePoolInitialNodeLabels {
}
export declare function dataOciContainerengineNodePoolInitialNodeLabelsToTerraform(struct?: DataOciContainerengineNodePoolInitialNodeLabels): any;
export declare function dataOciContainerengineNodePoolInitialNodeLabelsToHclTerraform(struct?: DataOciContainerengineNodePoolInitialNodeLabels): any;
export declare class DataOciContainerengineNodePoolInitialNodeLabelsOutputReference 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(): DataOciContainerengineNodePoolInitialNodeLabels | undefined;
    set internalValue(value: DataOciContainerengineNodePoolInitialNodeLabels | undefined);
    get key(): string;
    get value(): string;
}
export declare class DataOciContainerengineNodePoolInitialNodeLabelsList 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): DataOciContainerengineNodePoolInitialNodeLabelsOutputReference;
}
export interface DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetails {
}
export declare function dataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsToTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetails): any;
export declare function dataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetails): any;
export declare class DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsOutputReference 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(): DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetails | undefined);
    get cniType(): string;
    get maxPodsPerNode(): number;
    get podNsgIds(): string[];
    get podSubnetIds(): string[];
}
export declare class DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsList 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): DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction {
}
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionToTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction): any;
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionToHclTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction): any;
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionOutputReference 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(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction | undefined);
    get isPreserveBootVolume(): cdktf.IResolvable;
    get type(): string;
}
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionList 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): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionOutputReference;
}
export interface DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig {
}
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigToTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig): any;
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigToHclTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig): any;
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigOutputReference 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(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig | undefined);
    private _preemptionAction;
    get preemptionAction(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionList;
}
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigList 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): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigOutputReference;
}
export interface DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigs {
}
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsToTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigs): any;
export declare function dataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsToHclTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigs): any;
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsOutputReference 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(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigs | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigs | undefined);
    get availabilityDomain(): string;
    get capacityReservationId(): string;
    get faultDomains(): string[];
    private _preemptibleNodeConfig;
    get preemptibleNodeConfig(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigList;
    get subnetId(): string;
}
export declare class DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsList 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): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsOutputReference;
}
export interface DataOciContainerengineNodePoolNodeConfigDetails {
}
export declare function dataOciContainerengineNodePoolNodeConfigDetailsToTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetails): any;
export declare function dataOciContainerengineNodePoolNodeConfigDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolNodeConfigDetails): any;
export declare class DataOciContainerengineNodePoolNodeConfigDetailsOutputReference 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(): DataOciContainerengineNodePoolNodeConfigDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeConfigDetails | undefined);
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get kmsKeyId(): string;
    private _nodePoolPodNetworkOptionDetails;
    get nodePoolPodNetworkOptionDetails(): DataOciContainerengineNodePoolNodeConfigDetailsNodePoolPodNetworkOptionDetailsList;
    get nsgIds(): string[];
    private _placementConfigs;
    get placementConfigs(): DataOciContainerengineNodePoolNodeConfigDetailsPlacementConfigsList;
    get size(): number;
}
export declare class DataOciContainerengineNodePoolNodeConfigDetailsList 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): DataOciContainerengineNodePoolNodeConfigDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolNodeEvictionNodePoolSettings {
}
export declare function dataOciContainerengineNodePoolNodeEvictionNodePoolSettingsToTerraform(struct?: DataOciContainerengineNodePoolNodeEvictionNodePoolSettings): any;
export declare function dataOciContainerengineNodePoolNodeEvictionNodePoolSettingsToHclTerraform(struct?: DataOciContainerengineNodePoolNodeEvictionNodePoolSettings): any;
export declare class DataOciContainerengineNodePoolNodeEvictionNodePoolSettingsOutputReference 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(): DataOciContainerengineNodePoolNodeEvictionNodePoolSettings | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeEvictionNodePoolSettings | undefined);
    get evictionGraceDuration(): string;
    get isForceDeleteAfterGraceDuration(): cdktf.IResolvable;
}
export declare class DataOciContainerengineNodePoolNodeEvictionNodePoolSettingsList 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): DataOciContainerengineNodePoolNodeEvictionNodePoolSettingsOutputReference;
}
export interface DataOciContainerengineNodePoolNodePoolCyclingDetails {
}
export declare function dataOciContainerengineNodePoolNodePoolCyclingDetailsToTerraform(struct?: DataOciContainerengineNodePoolNodePoolCyclingDetails): any;
export declare function dataOciContainerengineNodePoolNodePoolCyclingDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolNodePoolCyclingDetails): any;
export declare class DataOciContainerengineNodePoolNodePoolCyclingDetailsOutputReference 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(): DataOciContainerengineNodePoolNodePoolCyclingDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodePoolCyclingDetails | undefined);
    get isNodeCyclingEnabled(): cdktf.IResolvable;
    get maximumSurge(): string;
    get maximumUnavailable(): string;
}
export declare class DataOciContainerengineNodePoolNodePoolCyclingDetailsList 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): DataOciContainerengineNodePoolNodePoolCyclingDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolNodeShapeConfig {
}
export declare function dataOciContainerengineNodePoolNodeShapeConfigToTerraform(struct?: DataOciContainerengineNodePoolNodeShapeConfig): any;
export declare function dataOciContainerengineNodePoolNodeShapeConfigToHclTerraform(struct?: DataOciContainerengineNodePoolNodeShapeConfig): any;
export declare class DataOciContainerengineNodePoolNodeShapeConfigOutputReference 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(): DataOciContainerengineNodePoolNodeShapeConfig | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get ocpus(): number;
}
export declare class DataOciContainerengineNodePoolNodeShapeConfigList 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): DataOciContainerengineNodePoolNodeShapeConfigOutputReference;
}
export interface DataOciContainerengineNodePoolNodeSource {
}
export declare function dataOciContainerengineNodePoolNodeSourceToTerraform(struct?: DataOciContainerengineNodePoolNodeSource): any;
export declare function dataOciContainerengineNodePoolNodeSourceToHclTerraform(struct?: DataOciContainerengineNodePoolNodeSource): any;
export declare class DataOciContainerengineNodePoolNodeSourceOutputReference 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(): DataOciContainerengineNodePoolNodeSource | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeSource | undefined);
    get imageId(): string;
    get sourceName(): string;
    get sourceType(): string;
}
export declare class DataOciContainerengineNodePoolNodeSourceList 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): DataOciContainerengineNodePoolNodeSourceOutputReference;
}
export interface DataOciContainerengineNodePoolNodeSourceDetails {
}
export declare function dataOciContainerengineNodePoolNodeSourceDetailsToTerraform(struct?: DataOciContainerengineNodePoolNodeSourceDetails): any;
export declare function dataOciContainerengineNodePoolNodeSourceDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolNodeSourceDetails): any;
export declare class DataOciContainerengineNodePoolNodeSourceDetailsOutputReference 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(): DataOciContainerengineNodePoolNodeSourceDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodeSourceDetails | undefined);
    get bootVolumeSizeInGbs(): string;
    get imageId(): string;
    get sourceType(): string;
}
export declare class DataOciContainerengineNodePoolNodeSourceDetailsList 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): DataOciContainerengineNodePoolNodeSourceDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolNodesError {
}
export declare function dataOciContainerengineNodePoolNodesErrorToTerraform(struct?: DataOciContainerengineNodePoolNodesError): any;
export declare function dataOciContainerengineNodePoolNodesErrorToHclTerraform(struct?: DataOciContainerengineNodePoolNodesError): any;
export declare class DataOciContainerengineNodePoolNodesErrorOutputReference 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(): DataOciContainerengineNodePoolNodesError | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodesError | undefined);
    get code(): string;
    get message(): string;
    get status(): string;
}
export declare class DataOciContainerengineNodePoolNodesErrorList 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): DataOciContainerengineNodePoolNodesErrorOutputReference;
}
export interface DataOciContainerengineNodePoolNodes {
}
export declare function dataOciContainerengineNodePoolNodesToTerraform(struct?: DataOciContainerengineNodePoolNodes): any;
export declare function dataOciContainerengineNodePoolNodesToHclTerraform(struct?: DataOciContainerengineNodePoolNodes): any;
export declare class DataOciContainerengineNodePoolNodesOutputReference 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(): DataOciContainerengineNodePoolNodes | undefined;
    set internalValue(value: DataOciContainerengineNodePoolNodes | undefined);
    get availabilityDomain(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _error;
    get error(): DataOciContainerengineNodePoolNodesErrorList;
    get faultDomain(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get kubernetesVersion(): string;
    get lifecycleDetails(): string;
    get name(): string;
    get nodePoolId(): string;
    get privateIp(): string;
    get publicIp(): string;
    get state(): string;
    get subnetId(): string;
}
export declare class DataOciContainerengineNodePoolNodesList 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): DataOciContainerengineNodePoolNodesOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pool oci_containerengine_node_pool}
*/
export declare class DataOciContainerengineNodePool extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_containerengine_node_pool";
    /**
    * Generates CDKTF code for importing a DataOciContainerengineNodePool 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 DataOciContainerengineNodePool to import
    * @param importFromId The id of the existing DataOciContainerengineNodePool that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pool#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciContainerengineNodePool 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/containerengine_node_pool oci_containerengine_node_pool} 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 DataOciContainerengineNodePoolConfig
    */
    constructor(scope: Construct, id: string, config: DataOciContainerengineNodePoolConfig);
    get clusterId(): string;
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    private _initialNodeLabels;
    get initialNodeLabels(): DataOciContainerengineNodePoolInitialNodeLabelsList;
    get kubernetesVersion(): string;
    get lifecycleDetails(): string;
    get name(): string;
    private _nodeConfigDetails;
    get nodeConfigDetails(): DataOciContainerengineNodePoolNodeConfigDetailsList;
    private _nodeEvictionNodePoolSettings;
    get nodeEvictionNodePoolSettings(): DataOciContainerengineNodePoolNodeEvictionNodePoolSettingsList;
    get nodeImageId(): string;
    get nodeImageName(): string;
    private _nodeMetadata;
    get nodeMetadata(): cdktf.StringMap;
    private _nodePoolCyclingDetails;
    get nodePoolCyclingDetails(): DataOciContainerengineNodePoolNodePoolCyclingDetailsList;
    private _nodePoolId?;
    get nodePoolId(): string;
    set nodePoolId(value: string);
    get nodePoolIdInput(): string | undefined;
    get nodeShape(): string;
    private _nodeShapeConfig;
    get nodeShapeConfig(): DataOciContainerengineNodePoolNodeShapeConfigList;
    private _nodeSource;
    get nodeSource(): DataOciContainerengineNodePoolNodeSourceList;
    private _nodeSourceDetails;
    get nodeSourceDetails(): DataOciContainerengineNodePoolNodeSourceDetailsList;
    private _nodes;
    get nodes(): DataOciContainerengineNodePoolNodesList;
    get quantityPerSubnet(): number;
    get sshPublicKey(): string;
    get state(): string;
    get subnetIds(): string[];
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
