import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciCoreInstancesConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#availability_domain DataOciCoreInstances#availability_domain}
    */
    readonly availabilityDomain?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#capacity_reservation_id DataOciCoreInstances#capacity_reservation_id}
    */
    readonly capacityReservationId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#compartment_id DataOciCoreInstances#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#compute_cluster_id DataOciCoreInstances#compute_cluster_id}
    */
    readonly computeClusterId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#display_name DataOciCoreInstances#display_name}
    */
    readonly displayName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#id DataOciCoreInstances#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/core_instances#state DataOciCoreInstances#state}
    */
    readonly state?: string;
    /**
    * filter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#filter DataOciCoreInstances#filter}
    */
    readonly filter?: DataOciCoreInstancesFilter[] | cdktf.IResolvable;
}
export interface DataOciCoreInstancesInstancesAgentConfigPluginsConfig {
}
export declare function dataOciCoreInstancesInstancesAgentConfigPluginsConfigToTerraform(struct?: DataOciCoreInstancesInstancesAgentConfigPluginsConfig): any;
export declare function dataOciCoreInstancesInstancesAgentConfigPluginsConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesAgentConfigPluginsConfig): any;
export declare class DataOciCoreInstancesInstancesAgentConfigPluginsConfigOutputReference 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(): DataOciCoreInstancesInstancesAgentConfigPluginsConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesAgentConfigPluginsConfig | undefined);
    get desiredState(): string;
    get name(): string;
}
export declare class DataOciCoreInstancesInstancesAgentConfigPluginsConfigList 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): DataOciCoreInstancesInstancesAgentConfigPluginsConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesAgentConfig {
}
export declare function dataOciCoreInstancesInstancesAgentConfigToTerraform(struct?: DataOciCoreInstancesInstancesAgentConfig): any;
export declare function dataOciCoreInstancesInstancesAgentConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesAgentConfig): any;
export declare class DataOciCoreInstancesInstancesAgentConfigOutputReference 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(): DataOciCoreInstancesInstancesAgentConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesAgentConfig | undefined);
    get areAllPluginsDisabled(): cdktf.IResolvable;
    get isManagementDisabled(): cdktf.IResolvable;
    get isMonitoringDisabled(): cdktf.IResolvable;
    private _pluginsConfig;
    get pluginsConfig(): DataOciCoreInstancesInstancesAgentConfigPluginsConfigList;
}
export declare class DataOciCoreInstancesInstancesAgentConfigList 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): DataOciCoreInstancesInstancesAgentConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesAvailabilityConfig {
}
export declare function dataOciCoreInstancesInstancesAvailabilityConfigToTerraform(struct?: DataOciCoreInstancesInstancesAvailabilityConfig): any;
export declare function dataOciCoreInstancesInstancesAvailabilityConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesAvailabilityConfig): any;
export declare class DataOciCoreInstancesInstancesAvailabilityConfigOutputReference 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(): DataOciCoreInstancesInstancesAvailabilityConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesAvailabilityConfig | undefined);
    get isLiveMigrationPreferred(): cdktf.IResolvable;
    get recoveryAction(): string;
}
export declare class DataOciCoreInstancesInstancesAvailabilityConfigList 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): DataOciCoreInstancesInstancesAvailabilityConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails {
}
export declare function dataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsToTerraform(struct?: DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails): any;
export declare function dataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsToHclTerraform(struct?: DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails): any;
export declare class DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsOutputReference 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(): DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails | undefined);
    get ipv6Address(): string;
    get ipv6SubnetCidr(): string;
}
export declare class DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsList 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): DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsOutputReference;
}
export interface DataOciCoreInstancesInstancesCreateVnicDetails {
}
export declare function dataOciCoreInstancesInstancesCreateVnicDetailsToTerraform(struct?: DataOciCoreInstancesInstancesCreateVnicDetails): any;
export declare function dataOciCoreInstancesInstancesCreateVnicDetailsToHclTerraform(struct?: DataOciCoreInstancesInstancesCreateVnicDetails): any;
export declare class DataOciCoreInstancesInstancesCreateVnicDetailsOutputReference 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(): DataOciCoreInstancesInstancesCreateVnicDetails | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesCreateVnicDetails | undefined);
    get assignIpv6Ip(): cdktf.IResolvable;
    get assignPrivateDnsRecord(): cdktf.IResolvable;
    get assignPublicIp(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get displayName(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get hostnameLabel(): string;
    private _ipv6AddressIpv6SubnetCidrPairDetails;
    get ipv6AddressIpv6SubnetCidrPairDetails(): DataOciCoreInstancesInstancesCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsList;
    get nsgIds(): string[];
    get privateIp(): string;
    private _securityAttributes;
    get securityAttributes(): cdktf.StringMap;
    get skipSourceDestCheck(): cdktf.IResolvable;
    get subnetId(): string;
    get vlanId(): string;
}
export declare class DataOciCoreInstancesInstancesCreateVnicDetailsList 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): DataOciCoreInstancesInstancesCreateVnicDetailsOutputReference;
}
export interface DataOciCoreInstancesInstancesInstanceOptions {
}
export declare function dataOciCoreInstancesInstancesInstanceOptionsToTerraform(struct?: DataOciCoreInstancesInstancesInstanceOptions): any;
export declare function dataOciCoreInstancesInstancesInstanceOptionsToHclTerraform(struct?: DataOciCoreInstancesInstancesInstanceOptions): any;
export declare class DataOciCoreInstancesInstancesInstanceOptionsOutputReference 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(): DataOciCoreInstancesInstancesInstanceOptions | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesInstanceOptions | undefined);
    get areLegacyImdsEndpointsDisabled(): cdktf.IResolvable;
}
export declare class DataOciCoreInstancesInstancesInstanceOptionsList 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): DataOciCoreInstancesInstancesInstanceOptionsOutputReference;
}
export interface DataOciCoreInstancesInstancesLaunchOptions {
}
export declare function dataOciCoreInstancesInstancesLaunchOptionsToTerraform(struct?: DataOciCoreInstancesInstancesLaunchOptions): any;
export declare function dataOciCoreInstancesInstancesLaunchOptionsToHclTerraform(struct?: DataOciCoreInstancesInstancesLaunchOptions): any;
export declare class DataOciCoreInstancesInstancesLaunchOptionsOutputReference 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(): DataOciCoreInstancesInstancesLaunchOptions | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesLaunchOptions | undefined);
    get bootVolumeType(): string;
    get firmware(): string;
    get isConsistentVolumeNamingEnabled(): cdktf.IResolvable;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get networkType(): string;
    get remoteDataVolumeType(): string;
}
export declare class DataOciCoreInstancesInstancesLaunchOptionsList 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): DataOciCoreInstancesInstancesLaunchOptionsOutputReference;
}
export interface DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetails {
}
export declare function dataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsToTerraform(struct?: DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetails): any;
export declare function dataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsToHclTerraform(struct?: DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetails): any;
export declare class DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsOutputReference 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(): DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetails | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetails | undefined);
    get compartmentId(): string;
    get displayName(): string;
    get kmsKeyId(): string;
    get sizeInGbs(): string;
    get volumeCreationType(): string;
    get vpusPerGb(): string;
}
export declare class DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsList 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): DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsOutputReference;
}
export interface DataOciCoreInstancesInstancesLaunchVolumeAttachments {
}
export declare function dataOciCoreInstancesInstancesLaunchVolumeAttachmentsToTerraform(struct?: DataOciCoreInstancesInstancesLaunchVolumeAttachments): any;
export declare function dataOciCoreInstancesInstancesLaunchVolumeAttachmentsToHclTerraform(struct?: DataOciCoreInstancesInstancesLaunchVolumeAttachments): any;
export declare class DataOciCoreInstancesInstancesLaunchVolumeAttachmentsOutputReference 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(): DataOciCoreInstancesInstancesLaunchVolumeAttachments | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesLaunchVolumeAttachments | undefined);
    get device(): string;
    get displayName(): string;
    get encryptionInTransitType(): string;
    get isAgentAutoIscsiLoginEnabled(): cdktf.IResolvable;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get isReadOnly(): cdktf.IResolvable;
    get isShareable(): cdktf.IResolvable;
    private _launchCreateVolumeDetails;
    get launchCreateVolumeDetails(): DataOciCoreInstancesInstancesLaunchVolumeAttachmentsLaunchCreateVolumeDetailsList;
    get type(): string;
    get useChap(): cdktf.IResolvable;
    get volumeId(): string;
}
export declare class DataOciCoreInstancesInstancesLaunchVolumeAttachmentsList 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): DataOciCoreInstancesInstancesLaunchVolumeAttachmentsOutputReference;
}
export interface DataOciCoreInstancesInstancesPlatformConfig {
}
export declare function dataOciCoreInstancesInstancesPlatformConfigToTerraform(struct?: DataOciCoreInstancesInstancesPlatformConfig): any;
export declare function dataOciCoreInstancesInstancesPlatformConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesPlatformConfig): any;
export declare class DataOciCoreInstancesInstancesPlatformConfigOutputReference 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(): DataOciCoreInstancesInstancesPlatformConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesPlatformConfig | undefined);
    get areVirtualInstructionsEnabled(): cdktf.IResolvable;
    private _configMap;
    get configMap(): cdktf.StringMap;
    get isAccessControlServiceEnabled(): cdktf.IResolvable;
    get isInputOutputMemoryManagementUnitEnabled(): cdktf.IResolvable;
    get isMeasuredBootEnabled(): cdktf.IResolvable;
    get isMemoryEncryptionEnabled(): cdktf.IResolvable;
    get isSecureBootEnabled(): cdktf.IResolvable;
    get isSymmetricMultiThreadingEnabled(): cdktf.IResolvable;
    get isTrustedPlatformModuleEnabled(): cdktf.IResolvable;
    get numaNodesPerSocket(): string;
    get percentageOfCoresEnabled(): number;
    get type(): string;
}
export declare class DataOciCoreInstancesInstancesPlatformConfigList 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): DataOciCoreInstancesInstancesPlatformConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionAction {
}
export declare function dataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionToTerraform(struct?: DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionAction): any;
export declare function dataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionToHclTerraform(struct?: DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionAction): any;
export declare class DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionOutputReference 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(): DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionAction | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionAction | undefined);
    get preserveBootVolume(): cdktf.IResolvable;
    get type(): string;
}
export declare class DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionList 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): DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionOutputReference;
}
export interface DataOciCoreInstancesInstancesPreemptibleInstanceConfig {
}
export declare function dataOciCoreInstancesInstancesPreemptibleInstanceConfigToTerraform(struct?: DataOciCoreInstancesInstancesPreemptibleInstanceConfig): any;
export declare function dataOciCoreInstancesInstancesPreemptibleInstanceConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesPreemptibleInstanceConfig): any;
export declare class DataOciCoreInstancesInstancesPreemptibleInstanceConfigOutputReference 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(): DataOciCoreInstancesInstancesPreemptibleInstanceConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesPreemptibleInstanceConfig | undefined);
    private _preemptionAction;
    get preemptionAction(): DataOciCoreInstancesInstancesPreemptibleInstanceConfigPreemptionActionList;
}
export declare class DataOciCoreInstancesInstancesPreemptibleInstanceConfigList 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): DataOciCoreInstancesInstancesPreemptibleInstanceConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesShapeConfig {
}
export declare function dataOciCoreInstancesInstancesShapeConfigToTerraform(struct?: DataOciCoreInstancesInstancesShapeConfig): any;
export declare function dataOciCoreInstancesInstancesShapeConfigToHclTerraform(struct?: DataOciCoreInstancesInstancesShapeConfig): any;
export declare class DataOciCoreInstancesInstancesShapeConfigOutputReference 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(): DataOciCoreInstancesInstancesShapeConfig | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesShapeConfig | undefined);
    get baselineOcpuUtilization(): string;
    get gpuDescription(): string;
    get gpus(): number;
    get localDiskDescription(): string;
    get localDisks(): number;
    get localDisksTotalSizeInGbs(): number;
    get maxVnicAttachments(): number;
    get memoryInGbs(): number;
    get networkingBandwidthInGbps(): number;
    get nvmes(): number;
    get ocpus(): number;
    get processorDescription(): string;
    get vcpus(): number;
}
export declare class DataOciCoreInstancesInstancesShapeConfigList 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): DataOciCoreInstancesInstancesShapeConfigOutputReference;
}
export interface DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetails {
}
export declare function dataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsToTerraform(struct?: DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetails): any;
export declare function dataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsToHclTerraform(struct?: DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetails): any;
export declare class DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsOutputReference 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(): DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetails | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetails | undefined);
    get compartmentId(): string;
    private _definedTagsFilter;
    get definedTagsFilter(): cdktf.StringMap;
    get operatingSystem(): string;
    get operatingSystemVersion(): string;
}
export declare class DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsList 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): DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsOutputReference;
}
export interface DataOciCoreInstancesInstancesSourceDetails {
}
export declare function dataOciCoreInstancesInstancesSourceDetailsToTerraform(struct?: DataOciCoreInstancesInstancesSourceDetails): any;
export declare function dataOciCoreInstancesInstancesSourceDetailsToHclTerraform(struct?: DataOciCoreInstancesInstancesSourceDetails): any;
export declare class DataOciCoreInstancesInstancesSourceDetailsOutputReference 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(): DataOciCoreInstancesInstancesSourceDetails | undefined;
    set internalValue(value: DataOciCoreInstancesInstancesSourceDetails | undefined);
    get bootVolumeSizeInGbs(): string;
    get bootVolumeVpusPerGb(): string;
    private _instanceSourceImageFilterDetails;
    get instanceSourceImageFilterDetails(): DataOciCoreInstancesInstancesSourceDetailsInstanceSourceImageFilterDetailsList;
    get isPreserveBootVolumeEnabled(): cdktf.IResolvable;
    get kmsKeyId(): string;
    get sourceId(): string;
    get sourceType(): string;
}
export declare class DataOciCoreInstancesInstancesSourceDetailsList 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): DataOciCoreInstancesInstancesSourceDetailsOutputReference;
}
export interface DataOciCoreInstancesInstances {
}
export declare function dataOciCoreInstancesInstancesToTerraform(struct?: DataOciCoreInstancesInstances): any;
export declare function dataOciCoreInstancesInstancesToHclTerraform(struct?: DataOciCoreInstancesInstances): any;
export declare class DataOciCoreInstancesInstancesOutputReference 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(): DataOciCoreInstancesInstances | undefined;
    set internalValue(value: DataOciCoreInstancesInstances | undefined);
    private _agentConfig;
    get agentConfig(): DataOciCoreInstancesInstancesAgentConfigList;
    get async(): cdktf.IResolvable;
    private _availabilityConfig;
    get availabilityConfig(): DataOciCoreInstancesInstancesAvailabilityConfigList;
    get availabilityDomain(): string;
    get bootVolumeId(): string;
    get capacityReservationId(): string;
    get clusterPlacementGroupId(): string;
    get compartmentId(): string;
    get computeClusterId(): string;
    private _createVnicDetails;
    get createVnicDetails(): DataOciCoreInstancesInstancesCreateVnicDetailsList;
    get dedicatedVmHostId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get displayName(): string;
    private _extendedMetadata;
    get extendedMetadata(): cdktf.StringMap;
    get faultDomain(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get hostnameLabel(): string;
    get id(): string;
    get image(): string;
    get instanceConfigurationId(): string;
    private _instanceOptions;
    get instanceOptions(): DataOciCoreInstancesInstancesInstanceOptionsList;
    get ipxeScript(): string;
    get isCrossNumaNode(): cdktf.IResolvable;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get launchMode(): string;
    private _launchOptions;
    get launchOptions(): DataOciCoreInstancesInstancesLaunchOptionsList;
    private _launchVolumeAttachments;
    get launchVolumeAttachments(): DataOciCoreInstancesInstancesLaunchVolumeAttachmentsList;
    private _metadata;
    get metadata(): cdktf.StringMap;
    private _platformConfig;
    get platformConfig(): DataOciCoreInstancesInstancesPlatformConfigList;
    private _preemptibleInstanceConfig;
    get preemptibleInstanceConfig(): DataOciCoreInstancesInstancesPreemptibleInstanceConfigList;
    get preserveBootVolume(): cdktf.IResolvable;
    get preserveDataVolumesCreatedAtLaunch(): cdktf.IResolvable;
    get privateIp(): string;
    get publicIp(): string;
    get region(): string;
    private _securityAttributes;
    get securityAttributes(): cdktf.StringMap;
    get securityAttributesState(): string;
    get shape(): string;
    private _shapeConfig;
    get shapeConfig(): DataOciCoreInstancesInstancesShapeConfigList;
    private _sourceDetails;
    get sourceDetails(): DataOciCoreInstancesInstancesSourceDetailsList;
    get state(): string;
    get subnetId(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeMaintenanceRebootDue(): string;
    get updateOperationConstraint(): string;
}
export declare class DataOciCoreInstancesInstancesList 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): DataOciCoreInstancesInstancesOutputReference;
}
export interface DataOciCoreInstancesFilter {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#name DataOciCoreInstances#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#regex DataOciCoreInstances#regex}
    */
    readonly regex?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#values DataOciCoreInstances#values}
    */
    readonly values: string[];
}
export declare function dataOciCoreInstancesFilterToTerraform(struct?: DataOciCoreInstancesFilter | cdktf.IResolvable): any;
export declare function dataOciCoreInstancesFilterToHclTerraform(struct?: DataOciCoreInstancesFilter | cdktf.IResolvable): any;
export declare class DataOciCoreInstancesFilterOutputReference 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(): DataOciCoreInstancesFilter | cdktf.IResolvable | undefined;
    set internalValue(value: DataOciCoreInstancesFilter | 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 DataOciCoreInstancesFilterList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataOciCoreInstancesFilter[] | 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): DataOciCoreInstancesFilterOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances oci_core_instances}
*/
export declare class DataOciCoreInstances extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_core_instances";
    /**
    * Generates CDKTF code for importing a DataOciCoreInstances 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 DataOciCoreInstances to import
    * @param importFromId The id of the existing DataOciCoreInstances that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instances#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciCoreInstances 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/core_instances oci_core_instances} 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 DataOciCoreInstancesConfig
    */
    constructor(scope: Construct, id: string, config: DataOciCoreInstancesConfig);
    private _availabilityDomain?;
    get availabilityDomain(): string;
    set availabilityDomain(value: string);
    resetAvailabilityDomain(): void;
    get availabilityDomainInput(): string | undefined;
    private _capacityReservationId?;
    get capacityReservationId(): string;
    set capacityReservationId(value: string);
    resetCapacityReservationId(): void;
    get capacityReservationIdInput(): string | undefined;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _computeClusterId?;
    get computeClusterId(): string;
    set computeClusterId(value: string);
    resetComputeClusterId(): void;
    get computeClusterIdInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _instances;
    get instances(): DataOciCoreInstancesInstancesList;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    private _filter;
    get filter(): DataOciCoreInstancesFilterList;
    putFilter(value: DataOciCoreInstancesFilter[] | cdktf.IResolvable): void;
    resetFilter(): void;
    get filterInput(): cdktf.IResolvable | DataOciCoreInstancesFilter[] | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
