import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciIntegrationIntegrationInstanceConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/integration_integration_instance#integration_instance_id DataOciIntegrationIntegrationInstance#integration_instance_id}
    */
    readonly integrationInstanceId: string;
}
export interface DataOciIntegrationIntegrationInstanceAlternateCustomEndpoints {
}
export declare function dataOciIntegrationIntegrationInstanceAlternateCustomEndpointsToTerraform(struct?: DataOciIntegrationIntegrationInstanceAlternateCustomEndpoints): any;
export declare function dataOciIntegrationIntegrationInstanceAlternateCustomEndpointsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceAlternateCustomEndpoints): any;
export declare class DataOciIntegrationIntegrationInstanceAlternateCustomEndpointsOutputReference 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(): DataOciIntegrationIntegrationInstanceAlternateCustomEndpoints | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceAlternateCustomEndpoints | undefined);
    get alias(): string;
    get certificateSecretId(): string;
    get certificateSecretVersion(): number;
    get dnsType(): string;
    get dnsZoneName(): string;
    get hostname(): string;
    get managedType(): string;
}
export declare class DataOciIntegrationIntegrationInstanceAlternateCustomEndpointsList 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): DataOciIntegrationIntegrationInstanceAlternateCustomEndpointsOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceAttachments {
}
export declare function dataOciIntegrationIntegrationInstanceAttachmentsToTerraform(struct?: DataOciIntegrationIntegrationInstanceAttachments): any;
export declare function dataOciIntegrationIntegrationInstanceAttachmentsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceAttachments): any;
export declare class DataOciIntegrationIntegrationInstanceAttachmentsOutputReference 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(): DataOciIntegrationIntegrationInstanceAttachments | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceAttachments | undefined);
    get isImplicit(): cdktf.IResolvable;
    get targetId(): string;
    get targetInstanceUrl(): string;
    get targetRole(): string;
    get targetServiceType(): string;
}
export declare class DataOciIntegrationIntegrationInstanceAttachmentsList 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): DataOciIntegrationIntegrationInstanceAttachmentsOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceCustomEndpoint {
}
export declare function dataOciIntegrationIntegrationInstanceCustomEndpointToTerraform(struct?: DataOciIntegrationIntegrationInstanceCustomEndpoint): any;
export declare function dataOciIntegrationIntegrationInstanceCustomEndpointToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceCustomEndpoint): any;
export declare class DataOciIntegrationIntegrationInstanceCustomEndpointOutputReference 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(): DataOciIntegrationIntegrationInstanceCustomEndpoint | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceCustomEndpoint | undefined);
    get alias(): string;
    get certificateSecretId(): string;
    get certificateSecretVersion(): number;
    get dnsType(): string;
    get dnsZoneName(): string;
    get hostname(): string;
    get managedType(): string;
}
export declare class DataOciIntegrationIntegrationInstanceCustomEndpointList 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): DataOciIntegrationIntegrationInstanceCustomEndpointOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails {
}
export declare function dataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsToTerraform(struct?: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails): any;
export declare function dataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails): any;
export declare class DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsOutputReference 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(): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails | undefined);
    get id(): string;
    get region(): string;
    get role(): string;
    get timeRoleChanged(): string;
}
export declare class DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsList 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): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceDisasterRecoveryDetails {
}
export declare function dataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsToTerraform(struct?: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetails): any;
export declare function dataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetails): any;
export declare class DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsOutputReference 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(): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetails | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceDisasterRecoveryDetails | undefined);
    private _crossRegionIntegrationInstanceDetails;
    get crossRegionIntegrationInstanceDetails(): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsList;
    get regionalInstanceUrl(): string;
    get role(): string;
}
export declare class DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsList 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): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceIdcsInfo {
}
export declare function dataOciIntegrationIntegrationInstanceIdcsInfoToTerraform(struct?: DataOciIntegrationIntegrationInstanceIdcsInfo): any;
export declare function dataOciIntegrationIntegrationInstanceIdcsInfoToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceIdcsInfo): any;
export declare class DataOciIntegrationIntegrationInstanceIdcsInfoOutputReference 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(): DataOciIntegrationIntegrationInstanceIdcsInfo | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceIdcsInfo | undefined);
    get idcsAppDisplayName(): string;
    get idcsAppId(): string;
    get idcsAppLocationUrl(): string;
    get idcsAppName(): string;
    get instancePrimaryAudienceUrl(): string;
}
export declare class DataOciIntegrationIntegrationInstanceIdcsInfoList 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): DataOciIntegrationIntegrationInstanceIdcsInfoOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns {
}
export declare function dataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsToTerraform(struct?: DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns): any;
export declare function dataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns): any;
export declare class DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsOutputReference 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(): DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | undefined);
    get allowlistedIps(): string[];
    get id(): string;
}
export declare class DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsList 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): DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsOutputReference;
}
export interface DataOciIntegrationIntegrationInstanceNetworkEndpointDetails {
}
export declare function dataOciIntegrationIntegrationInstanceNetworkEndpointDetailsToTerraform(struct?: DataOciIntegrationIntegrationInstanceNetworkEndpointDetails): any;
export declare function dataOciIntegrationIntegrationInstanceNetworkEndpointDetailsToHclTerraform(struct?: DataOciIntegrationIntegrationInstanceNetworkEndpointDetails): any;
export declare class DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference 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(): DataOciIntegrationIntegrationInstanceNetworkEndpointDetails | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstanceNetworkEndpointDetails | undefined);
    get allowlistedHttpIps(): string[];
    private _allowlistedHttpVcns;
    get allowlistedHttpVcns(): DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsList;
    get isIntegrationVcnAllowlisted(): cdktf.IResolvable;
    get networkEndpointType(): string;
}
export declare class DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsList 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): DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference;
}
export interface DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnection {
}
export declare function dataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionToTerraform(struct?: DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnection): any;
export declare function dataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionToHclTerraform(struct?: DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnection): any;
export declare class DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionOutputReference 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(): DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnection | undefined;
    set internalValue(value: DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnection | undefined);
    get nsgIds(): string[];
    get outboundConnectionType(): string;
    get subnetId(): string;
}
export declare class DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionList 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): DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/integration_integration_instance oci_integration_integration_instance}
*/
export declare class DataOciIntegrationIntegrationInstance extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_integration_integration_instance";
    /**
    * Generates CDKTF code for importing a DataOciIntegrationIntegrationInstance 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 DataOciIntegrationIntegrationInstance to import
    * @param importFromId The id of the existing DataOciIntegrationIntegrationInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/integration_integration_instance#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciIntegrationIntegrationInstance 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/integration_integration_instance oci_integration_integration_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 DataOciIntegrationIntegrationInstanceConfig
    */
    constructor(scope: Construct, id: string, config: DataOciIntegrationIntegrationInstanceConfig);
    private _alternateCustomEndpoints;
    get alternateCustomEndpoints(): DataOciIntegrationIntegrationInstanceAlternateCustomEndpointsList;
    private _attachments;
    get attachments(): DataOciIntegrationIntegrationInstanceAttachmentsList;
    get compartmentId(): string;
    get consumptionModel(): string;
    private _customEndpoint;
    get customEndpoint(): DataOciIntegrationIntegrationInstanceCustomEndpointList;
    get dataRetentionPeriod(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _disasterRecoveryDetails;
    get disasterRecoveryDetails(): DataOciIntegrationIntegrationInstanceDisasterRecoveryDetailsList;
    get displayName(): string;
    get domainId(): string;
    get enableProcessAutomationTrigger(): number;
    get extendDataRetentionTrigger(): number;
    get failoverTrigger(): number;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get idcsAt(): string;
    private _idcsInfo;
    get idcsInfo(): DataOciIntegrationIntegrationInstanceIdcsInfoList;
    get instanceDesignTimeUrl(): string;
    get instanceUrl(): string;
    private _integrationInstanceId?;
    get integrationInstanceId(): string;
    set integrationInstanceId(value: string);
    get integrationInstanceIdInput(): string | undefined;
    get integrationInstanceType(): string;
    get isByol(): cdktf.IResolvable;
    get isDisasterRecoveryEnabled(): cdktf.IResolvable;
    get isFileServerEnabled(): cdktf.IResolvable;
    get isVisualBuilderEnabled(): cdktf.IResolvable;
    get lifecycleDetails(): string;
    get messagePacks(): number;
    private _networkEndpointDetails;
    get networkEndpointDetails(): DataOciIntegrationIntegrationInstanceNetworkEndpointDetailsList;
    private _privateEndpointOutboundConnection;
    get privateEndpointOutboundConnection(): DataOciIntegrationIntegrationInstancePrivateEndpointOutboundConnectionList;
    get shape(): string;
    get state(): string;
    get stateMessage(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
