import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciContainerengineClustersConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#compartment_id DataOciContainerengineClusters#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#id DataOciContainerengineClusters#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_clusters#name DataOciContainerengineClusters#name}
    */
    readonly name?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#state DataOciContainerengineClusters#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_clusters#filter DataOciContainerengineClusters#filter}
    */
    readonly filter?: DataOciContainerengineClustersFilter[] | cdktf.IResolvable;
}
export interface DataOciContainerengineClustersClustersClusterPodNetworkOptions {
}
export declare function dataOciContainerengineClustersClustersClusterPodNetworkOptionsToTerraform(struct?: DataOciContainerengineClustersClustersClusterPodNetworkOptions): any;
export declare function dataOciContainerengineClustersClustersClusterPodNetworkOptionsToHclTerraform(struct?: DataOciContainerengineClustersClustersClusterPodNetworkOptions): any;
export declare class DataOciContainerengineClustersClustersClusterPodNetworkOptionsOutputReference 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(): DataOciContainerengineClustersClustersClusterPodNetworkOptions | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersClusterPodNetworkOptions | undefined);
    get cniType(): string;
}
export declare class DataOciContainerengineClustersClustersClusterPodNetworkOptionsList 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): DataOciContainerengineClustersClustersClusterPodNetworkOptionsOutputReference;
}
export interface DataOciContainerengineClustersClustersEndpointConfig {
}
export declare function dataOciContainerengineClustersClustersEndpointConfigToTerraform(struct?: DataOciContainerengineClustersClustersEndpointConfig): any;
export declare function dataOciContainerengineClustersClustersEndpointConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersEndpointConfig): any;
export declare class DataOciContainerengineClustersClustersEndpointConfigOutputReference 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(): DataOciContainerengineClustersClustersEndpointConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersEndpointConfig | undefined);
    get isPublicIpEnabled(): cdktf.IResolvable;
    get nsgIds(): string[];
    get subnetId(): string;
}
export declare class DataOciContainerengineClustersClustersEndpointConfigList 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): DataOciContainerengineClustersClustersEndpointConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersEndpoints {
}
export declare function dataOciContainerengineClustersClustersEndpointsToTerraform(struct?: DataOciContainerengineClustersClustersEndpoints): any;
export declare function dataOciContainerengineClustersClustersEndpointsToHclTerraform(struct?: DataOciContainerengineClustersClustersEndpoints): any;
export declare class DataOciContainerengineClustersClustersEndpointsOutputReference 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(): DataOciContainerengineClustersClustersEndpoints | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersEndpoints | undefined);
    get kubernetes(): string;
    get privateEndpoint(): string;
    get publicEndpoint(): string;
    get vcnHostnameEndpoint(): string;
}
export declare class DataOciContainerengineClustersClustersEndpointsList 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): DataOciContainerengineClustersClustersEndpointsOutputReference;
}
export interface DataOciContainerengineClustersClustersImagePolicyConfigKeyDetails {
}
export declare function dataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsToTerraform(struct?: DataOciContainerengineClustersClustersImagePolicyConfigKeyDetails): any;
export declare function dataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsToHclTerraform(struct?: DataOciContainerengineClustersClustersImagePolicyConfigKeyDetails): any;
export declare class DataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsOutputReference 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(): DataOciContainerengineClustersClustersImagePolicyConfigKeyDetails | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersImagePolicyConfigKeyDetails | undefined);
    get kmsKeyId(): string;
}
export declare class DataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsList 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): DataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsOutputReference;
}
export interface DataOciContainerengineClustersClustersImagePolicyConfig {
}
export declare function dataOciContainerengineClustersClustersImagePolicyConfigToTerraform(struct?: DataOciContainerengineClustersClustersImagePolicyConfig): any;
export declare function dataOciContainerengineClustersClustersImagePolicyConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersImagePolicyConfig): any;
export declare class DataOciContainerengineClustersClustersImagePolicyConfigOutputReference 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(): DataOciContainerengineClustersClustersImagePolicyConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersImagePolicyConfig | undefined);
    get isPolicyEnabled(): cdktf.IResolvable;
    private _keyDetails;
    get keyDetails(): DataOciContainerengineClustersClustersImagePolicyConfigKeyDetailsList;
}
export declare class DataOciContainerengineClustersClustersImagePolicyConfigList 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): DataOciContainerengineClustersClustersImagePolicyConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersMetadata {
}
export declare function dataOciContainerengineClustersClustersMetadataToTerraform(struct?: DataOciContainerengineClustersClustersMetadata): any;
export declare function dataOciContainerengineClustersClustersMetadataToHclTerraform(struct?: DataOciContainerengineClustersClustersMetadata): any;
export declare class DataOciContainerengineClustersClustersMetadataOutputReference 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(): DataOciContainerengineClustersClustersMetadata | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersMetadata | undefined);
    get createdByUserId(): string;
    get createdByWorkRequestId(): string;
    get deletedByUserId(): string;
    get deletedByWorkRequestId(): string;
    get timeCreated(): string;
    get timeCredentialExpiration(): string;
    get timeDeleted(): string;
    get timeUpdated(): string;
    get updatedByUserId(): string;
    get updatedByWorkRequestId(): string;
}
export declare class DataOciContainerengineClustersClustersMetadataList 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): DataOciContainerengineClustersClustersMetadataOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsAddOns {
}
export declare function dataOciContainerengineClustersClustersOptionsAddOnsToTerraform(struct?: DataOciContainerengineClustersClustersOptionsAddOns): any;
export declare function dataOciContainerengineClustersClustersOptionsAddOnsToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsAddOns): any;
export declare class DataOciContainerengineClustersClustersOptionsAddOnsOutputReference 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(): DataOciContainerengineClustersClustersOptionsAddOns | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsAddOns | undefined);
    get isKubernetesDashboardEnabled(): cdktf.IResolvable;
    get isTillerEnabled(): cdktf.IResolvable;
}
export declare class DataOciContainerengineClustersClustersOptionsAddOnsList 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): DataOciContainerengineClustersClustersOptionsAddOnsOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsAdmissionControllerOptions {
}
export declare function dataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsToTerraform(struct?: DataOciContainerengineClustersClustersOptionsAdmissionControllerOptions): any;
export declare function dataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsAdmissionControllerOptions): any;
export declare class DataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsOutputReference 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(): DataOciContainerengineClustersClustersOptionsAdmissionControllerOptions | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsAdmissionControllerOptions | undefined);
    get isPodSecurityPolicyEnabled(): cdktf.IResolvable;
}
export declare class DataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsList 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): DataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfig {
}
export declare function dataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigToTerraform(struct?: DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfig): any;
export declare function dataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfig): any;
export declare class DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigOutputReference 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(): DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfig | undefined);
    get podsCidr(): string;
    get servicesCidr(): string;
}
export declare class DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigList 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): DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscovery {
}
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryToTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscovery): any;
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscovery): any;
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryOutputReference 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(): DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscovery | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscovery | undefined);
    get isOpenIdConnectDiscoveryEnabled(): cdktf.IResolvable;
}
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryList 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): DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaims {
}
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsToTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaims): any;
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaims): any;
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsOutputReference 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(): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaims | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaims | undefined);
    get key(): string;
    get value(): string;
}
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsList 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): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfig {
}
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigToTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfig): any;
export declare function dataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfig): any;
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigOutputReference 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(): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfig | undefined);
    get caCertificate(): string;
    get clientId(): string;
    get groupsClaim(): string;
    get groupsPrefix(): string;
    get isOpenIdConnectAuthEnabled(): cdktf.IResolvable;
    get issuerUrl(): string;
    private _requiredClaims;
    get requiredClaims(): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigRequiredClaimsList;
    get signingAlgorithms(): string[];
    get usernameClaim(): string;
    get usernamePrefix(): string;
}
export declare class DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigList 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): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsPersistentVolumeConfig {
}
export declare function dataOciContainerengineClustersClustersOptionsPersistentVolumeConfigToTerraform(struct?: DataOciContainerengineClustersClustersOptionsPersistentVolumeConfig): any;
export declare function dataOciContainerengineClustersClustersOptionsPersistentVolumeConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsPersistentVolumeConfig): any;
export declare class DataOciContainerengineClustersClustersOptionsPersistentVolumeConfigOutputReference 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(): DataOciContainerengineClustersClustersOptionsPersistentVolumeConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsPersistentVolumeConfig | undefined);
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
}
export declare class DataOciContainerengineClustersClustersOptionsPersistentVolumeConfigList 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): DataOciContainerengineClustersClustersOptionsPersistentVolumeConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersOptionsServiceLbConfig {
}
export declare function dataOciContainerengineClustersClustersOptionsServiceLbConfigToTerraform(struct?: DataOciContainerengineClustersClustersOptionsServiceLbConfig): any;
export declare function dataOciContainerengineClustersClustersOptionsServiceLbConfigToHclTerraform(struct?: DataOciContainerengineClustersClustersOptionsServiceLbConfig): any;
export declare class DataOciContainerengineClustersClustersOptionsServiceLbConfigOutputReference 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(): DataOciContainerengineClustersClustersOptionsServiceLbConfig | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptionsServiceLbConfig | undefined);
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
}
export declare class DataOciContainerengineClustersClustersOptionsServiceLbConfigList 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): DataOciContainerengineClustersClustersOptionsServiceLbConfigOutputReference;
}
export interface DataOciContainerengineClustersClustersOptions {
}
export declare function dataOciContainerengineClustersClustersOptionsToTerraform(struct?: DataOciContainerengineClustersClustersOptions): any;
export declare function dataOciContainerengineClustersClustersOptionsToHclTerraform(struct?: DataOciContainerengineClustersClustersOptions): any;
export declare class DataOciContainerengineClustersClustersOptionsOutputReference 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(): DataOciContainerengineClustersClustersOptions | undefined;
    set internalValue(value: DataOciContainerengineClustersClustersOptions | undefined);
    private _addOns;
    get addOns(): DataOciContainerengineClustersClustersOptionsAddOnsList;
    private _admissionControllerOptions;
    get admissionControllerOptions(): DataOciContainerengineClustersClustersOptionsAdmissionControllerOptionsList;
    private _kubernetesNetworkConfig;
    get kubernetesNetworkConfig(): DataOciContainerengineClustersClustersOptionsKubernetesNetworkConfigList;
    private _openIdConnectDiscovery;
    get openIdConnectDiscovery(): DataOciContainerengineClustersClustersOptionsOpenIdConnectDiscoveryList;
    private _openIdConnectTokenAuthenticationConfig;
    get openIdConnectTokenAuthenticationConfig(): DataOciContainerengineClustersClustersOptionsOpenIdConnectTokenAuthenticationConfigList;
    private _persistentVolumeConfig;
    get persistentVolumeConfig(): DataOciContainerengineClustersClustersOptionsPersistentVolumeConfigList;
    private _serviceLbConfig;
    get serviceLbConfig(): DataOciContainerengineClustersClustersOptionsServiceLbConfigList;
    get serviceLbSubnetIds(): string[];
}
export declare class DataOciContainerengineClustersClustersOptionsList 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): DataOciContainerengineClustersClustersOptionsOutputReference;
}
export interface DataOciContainerengineClustersClusters {
}
export declare function dataOciContainerengineClustersClustersToTerraform(struct?: DataOciContainerengineClustersClusters): any;
export declare function dataOciContainerengineClustersClustersToHclTerraform(struct?: DataOciContainerengineClustersClusters): any;
export declare class DataOciContainerengineClustersClustersOutputReference 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(): DataOciContainerengineClustersClusters | undefined;
    set internalValue(value: DataOciContainerengineClustersClusters | undefined);
    get availableKubernetesUpgrades(): string[];
    private _clusterPodNetworkOptions;
    get clusterPodNetworkOptions(): DataOciContainerengineClustersClustersClusterPodNetworkOptionsList;
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _endpointConfig;
    get endpointConfig(): DataOciContainerengineClustersClustersEndpointConfigList;
    private _endpoints;
    get endpoints(): DataOciContainerengineClustersClustersEndpointsList;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    private _imagePolicyConfig;
    get imagePolicyConfig(): DataOciContainerengineClustersClustersImagePolicyConfigList;
    get kmsKeyId(): string;
    get kubernetesVersion(): string;
    get lifecycleDetails(): string;
    private _metadata;
    get metadata(): DataOciContainerengineClustersClustersMetadataList;
    get name(): string;
    get openIdConnectDiscoveryEndpoint(): string;
    private _options;
    get options(): DataOciContainerengineClustersClustersOptionsList;
    get state(): string;
    get type(): string;
    get vcnId(): string;
}
export declare class DataOciContainerengineClustersClustersList 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): DataOciContainerengineClustersClustersOutputReference;
}
export interface DataOciContainerengineClustersFilter {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#name DataOciContainerengineClusters#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#regex DataOciContainerengineClusters#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_clusters#values DataOciContainerengineClusters#values}
    */
    readonly values: string[];
}
export declare function dataOciContainerengineClustersFilterToTerraform(struct?: DataOciContainerengineClustersFilter | cdktf.IResolvable): any;
export declare function dataOciContainerengineClustersFilterToHclTerraform(struct?: DataOciContainerengineClustersFilter | cdktf.IResolvable): any;
export declare class DataOciContainerengineClustersFilterOutputReference 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(): DataOciContainerengineClustersFilter | cdktf.IResolvable | undefined;
    set internalValue(value: DataOciContainerengineClustersFilter | 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 DataOciContainerengineClustersFilterList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataOciContainerengineClustersFilter[] | 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): DataOciContainerengineClustersFilterOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters oci_containerengine_clusters}
*/
export declare class DataOciContainerengineClusters extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_containerengine_clusters";
    /**
    * Generates CDKTF code for importing a DataOciContainerengineClusters 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 DataOciContainerengineClusters to import
    * @param importFromId The id of the existing DataOciContainerengineClusters that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/containerengine_clusters#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciContainerengineClusters 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_clusters oci_containerengine_clusters} 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 DataOciContainerengineClustersConfig
    */
    constructor(scope: Construct, id: string, config: DataOciContainerengineClustersConfig);
    private _clusters;
    get clusters(): DataOciContainerengineClustersClustersList;
    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 _state?;
    get state(): string[];
    set state(value: string[]);
    resetState(): void;
    get stateInput(): string[] | undefined;
    private _filter;
    get filter(): DataOciContainerengineClustersFilterList;
    putFilter(value: DataOciContainerengineClustersFilter[] | cdktf.IResolvable): void;
    resetFilter(): void;
    get filterInput(): cdktf.IResolvable | DataOciContainerengineClustersFilter[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
