import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciContainerengineNodePoolsConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#cluster_id DataOciContainerengineNodePools#cluster_id}
    */
    readonly clusterId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#compartment_id DataOciContainerengineNodePools#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#id DataOciContainerengineNodePools#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#name DataOciContainerengineNodePools#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#state DataOciContainerengineNodePools#state}
    */
    readonly state?: string[];
    /**
    * filter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#filter DataOciContainerengineNodePools#filter}
    */
    readonly filter?: DataOciContainerengineNodePoolsFilter[] | cdktf.IResolvable;
}
export interface DataOciContainerengineNodePoolsNodePoolsInitialNodeLabels {
}
export declare function dataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsInitialNodeLabels): any;
export declare function dataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsInitialNodeLabels): any;
export declare class DataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsInitialNodeLabels | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsInitialNodeLabels | undefined);
    get key(): string;
    get value(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsList 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): DataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetails {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetails): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetails): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetails | undefined);
    get cniType(): string;
    get maxPodsPerNode(): number;
    get podNsgIds(): string[];
    get podSubnetIds(): string[];
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsList 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): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionAction | undefined);
    get isPreserveBootVolume(): cdktf.IResolvable;
    get type(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionList 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): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfig | undefined);
    private _preemptionAction;
    get preemptionAction(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigPreemptionActionList;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigList 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): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigs {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigs): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigs): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigs | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigs | undefined);
    get availabilityDomain(): string;
    get capacityReservationId(): string;
    get faultDomains(): string[];
    private _preemptibleNodeConfig;
    get preemptibleNodeConfig(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsPreemptibleNodeConfigList;
    get subnetId(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsList 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): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeConfigDetails {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetails): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetails): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeConfigDetails | undefined);
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get kmsKeyId(): string;
    private _nodePoolPodNetworkOptionDetails;
    get nodePoolPodNetworkOptionDetails(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsNodePoolPodNetworkOptionDetailsList;
    get nsgIds(): string[];
    private _placementConfigs;
    get placementConfigs(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsPlacementConfigsList;
    get size(): number;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsList 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): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettings {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettings): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettings): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettings | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettings | undefined);
    get evictionGraceDuration(): string;
    get isForceDeleteAfterGraceDuration(): cdktf.IResolvable;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsList 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): DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetails {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetails): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetails): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetails | undefined);
    get isNodeCyclingEnabled(): cdktf.IResolvable;
    get maximumSurge(): string;
    get maximumUnavailable(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsList 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): DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeShapeConfig {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeShapeConfigToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeShapeConfig): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeShapeConfigToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeShapeConfig): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeShapeConfigOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeShapeConfig | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeShapeConfig | undefined);
    get memoryInGbs(): number;
    get ocpus(): number;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeShapeConfigList 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): DataOciContainerengineNodePoolsNodePoolsNodeShapeConfigOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeSource {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeSourceToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeSource): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeSourceToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeSource): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeSourceOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeSource | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeSource | undefined);
    get imageId(): string;
    get sourceName(): string;
    get sourceType(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeSourceList 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): DataOciContainerengineNodePoolsNodePoolsNodeSourceOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodeSourceDetails {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeSourceDetails): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodeSourceDetails): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodeSourceDetails | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodeSourceDetails | undefined);
    get bootVolumeSizeInGbs(): string;
    get imageId(): string;
    get sourceType(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsList 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): DataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodesError {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodesErrorToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodesError): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodesErrorToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodesError): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodesErrorOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodesError | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodesError | undefined);
    get code(): string;
    get message(): string;
    get status(): string;
}
export declare class DataOciContainerengineNodePoolsNodePoolsNodesErrorList 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): DataOciContainerengineNodePoolsNodePoolsNodesErrorOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePoolsNodes {
}
export declare function dataOciContainerengineNodePoolsNodePoolsNodesToTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodes): any;
export declare function dataOciContainerengineNodePoolsNodePoolsNodesToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePoolsNodes): any;
export declare class DataOciContainerengineNodePoolsNodePoolsNodesOutputReference 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(): DataOciContainerengineNodePoolsNodePoolsNodes | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePoolsNodes | undefined);
    get availabilityDomain(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _error;
    get error(): DataOciContainerengineNodePoolsNodePoolsNodesErrorList;
    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 DataOciContainerengineNodePoolsNodePoolsNodesList 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): DataOciContainerengineNodePoolsNodePoolsNodesOutputReference;
}
export interface DataOciContainerengineNodePoolsNodePools {
}
export declare function dataOciContainerengineNodePoolsNodePoolsToTerraform(struct?: DataOciContainerengineNodePoolsNodePools): any;
export declare function dataOciContainerengineNodePoolsNodePoolsToHclTerraform(struct?: DataOciContainerengineNodePoolsNodePools): any;
export declare class DataOciContainerengineNodePoolsNodePoolsOutputReference 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(): DataOciContainerengineNodePoolsNodePools | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsNodePools | undefined);
    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(): DataOciContainerengineNodePoolsNodePoolsInitialNodeLabelsList;
    get kubernetesVersion(): string;
    get lifecycleDetails(): string;
    get name(): string;
    private _nodeConfigDetails;
    get nodeConfigDetails(): DataOciContainerengineNodePoolsNodePoolsNodeConfigDetailsList;
    private _nodeEvictionNodePoolSettings;
    get nodeEvictionNodePoolSettings(): DataOciContainerengineNodePoolsNodePoolsNodeEvictionNodePoolSettingsList;
    get nodeImageId(): string;
    get nodeImageName(): string;
    private _nodeMetadata;
    get nodeMetadata(): cdktf.StringMap;
    private _nodePoolCyclingDetails;
    get nodePoolCyclingDetails(): DataOciContainerengineNodePoolsNodePoolsNodePoolCyclingDetailsList;
    get nodePoolId(): string;
    get nodeShape(): string;
    private _nodeShapeConfig;
    get nodeShapeConfig(): DataOciContainerengineNodePoolsNodePoolsNodeShapeConfigList;
    private _nodeSource;
    get nodeSource(): DataOciContainerengineNodePoolsNodePoolsNodeSourceList;
    private _nodeSourceDetails;
    get nodeSourceDetails(): DataOciContainerengineNodePoolsNodePoolsNodeSourceDetailsList;
    private _nodes;
    get nodes(): DataOciContainerengineNodePoolsNodePoolsNodesList;
    get quantityPerSubnet(): number;
    get sshPublicKey(): string;
    get state(): string;
    get subnetIds(): string[];
}
export declare class DataOciContainerengineNodePoolsNodePoolsList 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): DataOciContainerengineNodePoolsNodePoolsOutputReference;
}
export interface DataOciContainerengineNodePoolsFilter {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#name DataOciContainerengineNodePools#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#regex DataOciContainerengineNodePools#regex}
    */
    readonly regex?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#values DataOciContainerengineNodePools#values}
    */
    readonly values: string[];
}
export declare function dataOciContainerengineNodePoolsFilterToTerraform(struct?: DataOciContainerengineNodePoolsFilter | cdktf.IResolvable): any;
export declare function dataOciContainerengineNodePoolsFilterToHclTerraform(struct?: DataOciContainerengineNodePoolsFilter | cdktf.IResolvable): any;
export declare class DataOciContainerengineNodePoolsFilterOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @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(): DataOciContainerengineNodePoolsFilter | cdktf.IResolvable | undefined;
    set internalValue(value: DataOciContainerengineNodePoolsFilter | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _regex?;
    get regex(): boolean | cdktf.IResolvable;
    set regex(value: boolean | cdktf.IResolvable);
    resetRegex(): void;
    get regexInput(): boolean | cdktf.IResolvable | undefined;
    private _values?;
    get values(): string[];
    set values(value: string[]);
    get valuesInput(): string[] | undefined;
}
export declare class DataOciContainerengineNodePoolsFilterList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataOciContainerengineNodePoolsFilter[] | cdktf.IResolvable;
    /**
    * @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): DataOciContainerengineNodePoolsFilterOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools oci_containerengine_node_pools}
*/
export declare class DataOciContainerengineNodePools extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_containerengine_node_pools";
    /**
    * Generates CDKTF code for importing a DataOciContainerengineNodePools 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 DataOciContainerengineNodePools to import
    * @param importFromId The id of the existing DataOciContainerengineNodePools that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_node_pools#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciContainerengineNodePools 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_pools oci_containerengine_node_pools} 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 DataOciContainerengineNodePoolsConfig
    */
    constructor(scope: Construct, id: string, config: DataOciContainerengineNodePoolsConfig);
    private _clusterId?;
    get clusterId(): string;
    set clusterId(value: string);
    resetClusterId(): void;
    get clusterIdInput(): string | undefined;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _nodePools;
    get nodePools(): DataOciContainerengineNodePoolsNodePoolsList;
    private _state?;
    get state(): string[];
    set state(value: string[]);
    resetState(): void;
    get stateInput(): string[] | undefined;
    private _filter;
    get filter(): DataOciContainerengineNodePoolsFilterList;
    putFilter(value: DataOciContainerengineNodePoolsFilter[] | cdktf.IResolvable): void;
    resetFilter(): void;
    get filterInput(): cdktf.IResolvable | DataOciContainerengineNodePoolsFilter[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
