import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciCoreInstanceConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instance#instance_id DataOciCoreInstance#instance_id}
    */
    readonly instanceId: string;
}
export interface DataOciCoreInstanceAgentConfigPluginsConfig {
}
export declare function dataOciCoreInstanceAgentConfigPluginsConfigToTerraform(struct?: DataOciCoreInstanceAgentConfigPluginsConfig): any;
export declare function dataOciCoreInstanceAgentConfigPluginsConfigToHclTerraform(struct?: DataOciCoreInstanceAgentConfigPluginsConfig): any;
export declare class DataOciCoreInstanceAgentConfigPluginsConfigOutputReference 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(): DataOciCoreInstanceAgentConfigPluginsConfig | undefined;
    set internalValue(value: DataOciCoreInstanceAgentConfigPluginsConfig | undefined);
    get desiredState(): string;
    get name(): string;
}
export declare class DataOciCoreInstanceAgentConfigPluginsConfigList 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): DataOciCoreInstanceAgentConfigPluginsConfigOutputReference;
}
export interface DataOciCoreInstanceAgentConfig {
}
export declare function dataOciCoreInstanceAgentConfigToTerraform(struct?: DataOciCoreInstanceAgentConfig): any;
export declare function dataOciCoreInstanceAgentConfigToHclTerraform(struct?: DataOciCoreInstanceAgentConfig): any;
export declare class DataOciCoreInstanceAgentConfigOutputReference 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(): DataOciCoreInstanceAgentConfig | undefined;
    set internalValue(value: DataOciCoreInstanceAgentConfig | undefined);
    get areAllPluginsDisabled(): cdktf.IResolvable;
    get isManagementDisabled(): cdktf.IResolvable;
    get isMonitoringDisabled(): cdktf.IResolvable;
    private _pluginsConfig;
    get pluginsConfig(): DataOciCoreInstanceAgentConfigPluginsConfigList;
}
export declare class DataOciCoreInstanceAgentConfigList 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): DataOciCoreInstanceAgentConfigOutputReference;
}
export interface DataOciCoreInstanceAvailabilityConfig {
}
export declare function dataOciCoreInstanceAvailabilityConfigToTerraform(struct?: DataOciCoreInstanceAvailabilityConfig): any;
export declare function dataOciCoreInstanceAvailabilityConfigToHclTerraform(struct?: DataOciCoreInstanceAvailabilityConfig): any;
export declare class DataOciCoreInstanceAvailabilityConfigOutputReference 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(): DataOciCoreInstanceAvailabilityConfig | undefined;
    set internalValue(value: DataOciCoreInstanceAvailabilityConfig | undefined);
    get isLiveMigrationPreferred(): cdktf.IResolvable;
    get recoveryAction(): string;
}
export declare class DataOciCoreInstanceAvailabilityConfigList 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): DataOciCoreInstanceAvailabilityConfigOutputReference;
}
export interface DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails {
}
export declare function dataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsToTerraform(struct?: DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails): any;
export declare function dataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsToHclTerraform(struct?: DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails): any;
export declare class DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsOutputReference 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(): DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails | undefined;
    set internalValue(value: DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetails | undefined);
    get ipv6Address(): string;
    get ipv6SubnetCidr(): string;
}
export declare class DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsList 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): DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsOutputReference;
}
export interface DataOciCoreInstanceCreateVnicDetails {
}
export declare function dataOciCoreInstanceCreateVnicDetailsToTerraform(struct?: DataOciCoreInstanceCreateVnicDetails): any;
export declare function dataOciCoreInstanceCreateVnicDetailsToHclTerraform(struct?: DataOciCoreInstanceCreateVnicDetails): any;
export declare class DataOciCoreInstanceCreateVnicDetailsOutputReference 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(): DataOciCoreInstanceCreateVnicDetails | undefined;
    set internalValue(value: DataOciCoreInstanceCreateVnicDetails | 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(): DataOciCoreInstanceCreateVnicDetailsIpv6AddressIpv6SubnetCidrPairDetailsList;
    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 DataOciCoreInstanceCreateVnicDetailsList 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): DataOciCoreInstanceCreateVnicDetailsOutputReference;
}
export interface DataOciCoreInstanceInstanceOptions {
}
export declare function dataOciCoreInstanceInstanceOptionsToTerraform(struct?: DataOciCoreInstanceInstanceOptions): any;
export declare function dataOciCoreInstanceInstanceOptionsToHclTerraform(struct?: DataOciCoreInstanceInstanceOptions): any;
export declare class DataOciCoreInstanceInstanceOptionsOutputReference 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(): DataOciCoreInstanceInstanceOptions | undefined;
    set internalValue(value: DataOciCoreInstanceInstanceOptions | undefined);
    get areLegacyImdsEndpointsDisabled(): cdktf.IResolvable;
}
export declare class DataOciCoreInstanceInstanceOptionsList 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): DataOciCoreInstanceInstanceOptionsOutputReference;
}
export interface DataOciCoreInstanceLaunchOptions {
}
export declare function dataOciCoreInstanceLaunchOptionsToTerraform(struct?: DataOciCoreInstanceLaunchOptions): any;
export declare function dataOciCoreInstanceLaunchOptionsToHclTerraform(struct?: DataOciCoreInstanceLaunchOptions): any;
export declare class DataOciCoreInstanceLaunchOptionsOutputReference 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(): DataOciCoreInstanceLaunchOptions | undefined;
    set internalValue(value: DataOciCoreInstanceLaunchOptions | undefined);
    get bootVolumeType(): string;
    get firmware(): string;
    get isConsistentVolumeNamingEnabled(): cdktf.IResolvable;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get networkType(): string;
    get remoteDataVolumeType(): string;
}
export declare class DataOciCoreInstanceLaunchOptionsList 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): DataOciCoreInstanceLaunchOptionsOutputReference;
}
export interface DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetails {
}
export declare function dataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsToTerraform(struct?: DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetails): any;
export declare function dataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsToHclTerraform(struct?: DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetails): any;
export declare class DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsOutputReference 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(): DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetails | undefined;
    set internalValue(value: DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetails | undefined);
    get compartmentId(): string;
    get displayName(): string;
    get kmsKeyId(): string;
    get sizeInGbs(): string;
    get volumeCreationType(): string;
    get vpusPerGb(): string;
}
export declare class DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsList 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): DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsOutputReference;
}
export interface DataOciCoreInstanceLaunchVolumeAttachments {
}
export declare function dataOciCoreInstanceLaunchVolumeAttachmentsToTerraform(struct?: DataOciCoreInstanceLaunchVolumeAttachments): any;
export declare function dataOciCoreInstanceLaunchVolumeAttachmentsToHclTerraform(struct?: DataOciCoreInstanceLaunchVolumeAttachments): any;
export declare class DataOciCoreInstanceLaunchVolumeAttachmentsOutputReference 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(): DataOciCoreInstanceLaunchVolumeAttachments | undefined;
    set internalValue(value: DataOciCoreInstanceLaunchVolumeAttachments | 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(): DataOciCoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsList;
    get type(): string;
    get useChap(): cdktf.IResolvable;
    get volumeId(): string;
}
export declare class DataOciCoreInstanceLaunchVolumeAttachmentsList 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): DataOciCoreInstanceLaunchVolumeAttachmentsOutputReference;
}
export interface DataOciCoreInstancePlatformConfig {
}
export declare function dataOciCoreInstancePlatformConfigToTerraform(struct?: DataOciCoreInstancePlatformConfig): any;
export declare function dataOciCoreInstancePlatformConfigToHclTerraform(struct?: DataOciCoreInstancePlatformConfig): any;
export declare class DataOciCoreInstancePlatformConfigOutputReference 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(): DataOciCoreInstancePlatformConfig | undefined;
    set internalValue(value: DataOciCoreInstancePlatformConfig | 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 DataOciCoreInstancePlatformConfigList 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): DataOciCoreInstancePlatformConfigOutputReference;
}
export interface DataOciCoreInstancePreemptibleInstanceConfigPreemptionAction {
}
export declare function dataOciCoreInstancePreemptibleInstanceConfigPreemptionActionToTerraform(struct?: DataOciCoreInstancePreemptibleInstanceConfigPreemptionAction): any;
export declare function dataOciCoreInstancePreemptibleInstanceConfigPreemptionActionToHclTerraform(struct?: DataOciCoreInstancePreemptibleInstanceConfigPreemptionAction): any;
export declare class DataOciCoreInstancePreemptibleInstanceConfigPreemptionActionOutputReference 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(): DataOciCoreInstancePreemptibleInstanceConfigPreemptionAction | undefined;
    set internalValue(value: DataOciCoreInstancePreemptibleInstanceConfigPreemptionAction | undefined);
    get preserveBootVolume(): cdktf.IResolvable;
    get type(): string;
}
export declare class DataOciCoreInstancePreemptibleInstanceConfigPreemptionActionList 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): DataOciCoreInstancePreemptibleInstanceConfigPreemptionActionOutputReference;
}
export interface DataOciCoreInstancePreemptibleInstanceConfig {
}
export declare function dataOciCoreInstancePreemptibleInstanceConfigToTerraform(struct?: DataOciCoreInstancePreemptibleInstanceConfig): any;
export declare function dataOciCoreInstancePreemptibleInstanceConfigToHclTerraform(struct?: DataOciCoreInstancePreemptibleInstanceConfig): any;
export declare class DataOciCoreInstancePreemptibleInstanceConfigOutputReference 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(): DataOciCoreInstancePreemptibleInstanceConfig | undefined;
    set internalValue(value: DataOciCoreInstancePreemptibleInstanceConfig | undefined);
    private _preemptionAction;
    get preemptionAction(): DataOciCoreInstancePreemptibleInstanceConfigPreemptionActionList;
}
export declare class DataOciCoreInstancePreemptibleInstanceConfigList 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): DataOciCoreInstancePreemptibleInstanceConfigOutputReference;
}
export interface DataOciCoreInstanceShapeConfig {
}
export declare function dataOciCoreInstanceShapeConfigToTerraform(struct?: DataOciCoreInstanceShapeConfig): any;
export declare function dataOciCoreInstanceShapeConfigToHclTerraform(struct?: DataOciCoreInstanceShapeConfig): any;
export declare class DataOciCoreInstanceShapeConfigOutputReference 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(): DataOciCoreInstanceShapeConfig | undefined;
    set internalValue(value: DataOciCoreInstanceShapeConfig | 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 DataOciCoreInstanceShapeConfigList 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): DataOciCoreInstanceShapeConfigOutputReference;
}
export interface DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetails {
}
export declare function dataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsToTerraform(struct?: DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetails): any;
export declare function dataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsToHclTerraform(struct?: DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetails): any;
export declare class DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsOutputReference 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(): DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetails | undefined;
    set internalValue(value: DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetails | undefined);
    get compartmentId(): string;
    private _definedTagsFilter;
    get definedTagsFilter(): cdktf.StringMap;
    get operatingSystem(): string;
    get operatingSystemVersion(): string;
}
export declare class DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsList 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): DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsOutputReference;
}
export interface DataOciCoreInstanceSourceDetails {
}
export declare function dataOciCoreInstanceSourceDetailsToTerraform(struct?: DataOciCoreInstanceSourceDetails): any;
export declare function dataOciCoreInstanceSourceDetailsToHclTerraform(struct?: DataOciCoreInstanceSourceDetails): any;
export declare class DataOciCoreInstanceSourceDetailsOutputReference 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(): DataOciCoreInstanceSourceDetails | undefined;
    set internalValue(value: DataOciCoreInstanceSourceDetails | undefined);
    get bootVolumeSizeInGbs(): string;
    get bootVolumeVpusPerGb(): string;
    private _instanceSourceImageFilterDetails;
    get instanceSourceImageFilterDetails(): DataOciCoreInstanceSourceDetailsInstanceSourceImageFilterDetailsList;
    get isPreserveBootVolumeEnabled(): cdktf.IResolvable;
    get kmsKeyId(): string;
    get sourceId(): string;
    get sourceType(): string;
}
export declare class DataOciCoreInstanceSourceDetailsList 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): DataOciCoreInstanceSourceDetailsOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instance oci_core_instance}
*/
export declare class DataOciCoreInstance extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_core_instance";
    /**
    * Generates CDKTF code for importing a DataOciCoreInstance 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 DataOciCoreInstance to import
    * @param importFromId The id of the existing DataOciCoreInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/core_instance#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciCoreInstance 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_instance oci_core_instance} 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 DataOciCoreInstanceConfig
    */
    constructor(scope: Construct, id: string, config: DataOciCoreInstanceConfig);
    private _agentConfig;
    get agentConfig(): DataOciCoreInstanceAgentConfigList;
    get async(): cdktf.IResolvable;
    private _availabilityConfig;
    get availabilityConfig(): DataOciCoreInstanceAvailabilityConfigList;
    get availabilityDomain(): string;
    get bootVolumeId(): string;
    get capacityReservationId(): string;
    get clusterPlacementGroupId(): string;
    get compartmentId(): string;
    get computeClusterId(): string;
    private _createVnicDetails;
    get createVnicDetails(): DataOciCoreInstanceCreateVnicDetailsList;
    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 _instanceId?;
    get instanceId(): string;
    set instanceId(value: string);
    get instanceIdInput(): string | undefined;
    private _instanceOptions;
    get instanceOptions(): DataOciCoreInstanceInstanceOptionsList;
    get ipxeScript(): string;
    get isCrossNumaNode(): cdktf.IResolvable;
    get isPvEncryptionInTransitEnabled(): cdktf.IResolvable;
    get launchMode(): string;
    private _launchOptions;
    get launchOptions(): DataOciCoreInstanceLaunchOptionsList;
    private _launchVolumeAttachments;
    get launchVolumeAttachments(): DataOciCoreInstanceLaunchVolumeAttachmentsList;
    private _metadata;
    get metadata(): cdktf.StringMap;
    private _platformConfig;
    get platformConfig(): DataOciCoreInstancePlatformConfigList;
    private _preemptibleInstanceConfig;
    get preemptibleInstanceConfig(): DataOciCoreInstancePreemptibleInstanceConfigList;
    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(): DataOciCoreInstanceShapeConfigList;
    private _sourceDetails;
    get sourceDetails(): DataOciCoreInstanceSourceDetailsList;
    get state(): string;
    get subnetId(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeMaintenanceRebootDue(): string;
    get updateOperationConstraint(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
