import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface IntegrationIntegrationInstanceConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#compartment_id IntegrationIntegrationInstance#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#consumption_model IntegrationIntegrationInstance#consumption_model}
    */
    readonly consumptionModel?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#defined_tags IntegrationIntegrationInstance#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#display_name IntegrationIntegrationInstance#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#domain_id IntegrationIntegrationInstance#domain_id}
    */
    readonly domainId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#enable_process_automation_trigger IntegrationIntegrationInstance#enable_process_automation_trigger}
    */
    readonly enableProcessAutomationTrigger?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#extend_data_retention_trigger IntegrationIntegrationInstance#extend_data_retention_trigger}
    */
    readonly extendDataRetentionTrigger?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#failover_trigger IntegrationIntegrationInstance#failover_trigger}
    */
    readonly failoverTrigger?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#freeform_tags IntegrationIntegrationInstance#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#id IntegrationIntegrationInstance#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/resources/integration_integration_instance#idcs_at IntegrationIntegrationInstance#idcs_at}
    */
    readonly idcsAt?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#integration_instance_type IntegrationIntegrationInstance#integration_instance_type}
    */
    readonly integrationInstanceType: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#is_byol IntegrationIntegrationInstance#is_byol}
    */
    readonly isByol: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#is_disaster_recovery_enabled IntegrationIntegrationInstance#is_disaster_recovery_enabled}
    */
    readonly isDisasterRecoveryEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#is_file_server_enabled IntegrationIntegrationInstance#is_file_server_enabled}
    */
    readonly isFileServerEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#is_visual_builder_enabled IntegrationIntegrationInstance#is_visual_builder_enabled}
    */
    readonly isVisualBuilderEnabled?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#message_packs IntegrationIntegrationInstance#message_packs}
    */
    readonly messagePacks: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#shape IntegrationIntegrationInstance#shape}
    */
    readonly shape?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#state IntegrationIntegrationInstance#state}
    */
    readonly state?: string;
    /**
    * alternate_custom_endpoints block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#alternate_custom_endpoints IntegrationIntegrationInstance#alternate_custom_endpoints}
    */
    readonly alternateCustomEndpoints?: IntegrationIntegrationInstanceAlternateCustomEndpoints[] | cdktf.IResolvable;
    /**
    * custom_endpoint block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#custom_endpoint IntegrationIntegrationInstance#custom_endpoint}
    */
    readonly customEndpoint?: IntegrationIntegrationInstanceCustomEndpoint;
    /**
    * network_endpoint_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#network_endpoint_details IntegrationIntegrationInstance#network_endpoint_details}
    */
    readonly networkEndpointDetails?: IntegrationIntegrationInstanceNetworkEndpointDetails;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#timeouts IntegrationIntegrationInstance#timeouts}
    */
    readonly timeouts?: IntegrationIntegrationInstanceTimeouts;
}
export interface IntegrationIntegrationInstanceAttachments {
}
export declare function integrationIntegrationInstanceAttachmentsToTerraform(struct?: IntegrationIntegrationInstanceAttachments): any;
export declare function integrationIntegrationInstanceAttachmentsToHclTerraform(struct?: IntegrationIntegrationInstanceAttachments): any;
export declare class IntegrationIntegrationInstanceAttachmentsOutputReference 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(): IntegrationIntegrationInstanceAttachments | undefined;
    set internalValue(value: IntegrationIntegrationInstanceAttachments | undefined);
    get isImplicit(): cdktf.IResolvable;
    get targetId(): string;
    get targetInstanceUrl(): string;
    get targetRole(): string;
    get targetServiceType(): string;
}
export declare class IntegrationIntegrationInstanceAttachmentsList 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): IntegrationIntegrationInstanceAttachmentsOutputReference;
}
export interface IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails {
}
export declare function integrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsToTerraform(struct?: IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails): any;
export declare function integrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsToHclTerraform(struct?: IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails): any;
export declare class IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsOutputReference 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(): IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails | undefined;
    set internalValue(value: IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetails | undefined);
    get id(): string;
    get region(): string;
    get role(): string;
    get timeRoleChanged(): string;
}
export declare class IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsList 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): IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsOutputReference;
}
export interface IntegrationIntegrationInstanceDisasterRecoveryDetails {
}
export declare function integrationIntegrationInstanceDisasterRecoveryDetailsToTerraform(struct?: IntegrationIntegrationInstanceDisasterRecoveryDetails): any;
export declare function integrationIntegrationInstanceDisasterRecoveryDetailsToHclTerraform(struct?: IntegrationIntegrationInstanceDisasterRecoveryDetails): any;
export declare class IntegrationIntegrationInstanceDisasterRecoveryDetailsOutputReference 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(): IntegrationIntegrationInstanceDisasterRecoveryDetails | undefined;
    set internalValue(value: IntegrationIntegrationInstanceDisasterRecoveryDetails | undefined);
    private _crossRegionIntegrationInstanceDetails;
    get crossRegionIntegrationInstanceDetails(): IntegrationIntegrationInstanceDisasterRecoveryDetailsCrossRegionIntegrationInstanceDetailsList;
    get regionalInstanceUrl(): string;
    get role(): string;
}
export declare class IntegrationIntegrationInstanceDisasterRecoveryDetailsList 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): IntegrationIntegrationInstanceDisasterRecoveryDetailsOutputReference;
}
export interface IntegrationIntegrationInstanceIdcsInfo {
}
export declare function integrationIntegrationInstanceIdcsInfoToTerraform(struct?: IntegrationIntegrationInstanceIdcsInfo): any;
export declare function integrationIntegrationInstanceIdcsInfoToHclTerraform(struct?: IntegrationIntegrationInstanceIdcsInfo): any;
export declare class IntegrationIntegrationInstanceIdcsInfoOutputReference 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(): IntegrationIntegrationInstanceIdcsInfo | undefined;
    set internalValue(value: IntegrationIntegrationInstanceIdcsInfo | undefined);
    get idcsAppDisplayName(): string;
    get idcsAppId(): string;
    get idcsAppLocationUrl(): string;
    get idcsAppName(): string;
    get instancePrimaryAudienceUrl(): string;
}
export declare class IntegrationIntegrationInstanceIdcsInfoList 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): IntegrationIntegrationInstanceIdcsInfoOutputReference;
}
export interface IntegrationIntegrationInstancePrivateEndpointOutboundConnection {
}
export declare function integrationIntegrationInstancePrivateEndpointOutboundConnectionToTerraform(struct?: IntegrationIntegrationInstancePrivateEndpointOutboundConnection): any;
export declare function integrationIntegrationInstancePrivateEndpointOutboundConnectionToHclTerraform(struct?: IntegrationIntegrationInstancePrivateEndpointOutboundConnection): any;
export declare class IntegrationIntegrationInstancePrivateEndpointOutboundConnectionOutputReference 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(): IntegrationIntegrationInstancePrivateEndpointOutboundConnection | undefined;
    set internalValue(value: IntegrationIntegrationInstancePrivateEndpointOutboundConnection | undefined);
    get nsgIds(): string[];
    get outboundConnectionType(): string;
    get subnetId(): string;
}
export declare class IntegrationIntegrationInstancePrivateEndpointOutboundConnectionList 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): IntegrationIntegrationInstancePrivateEndpointOutboundConnectionOutputReference;
}
export interface IntegrationIntegrationInstanceAlternateCustomEndpoints {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#certificate_secret_id IntegrationIntegrationInstance#certificate_secret_id}
    */
    readonly certificateSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#hostname IntegrationIntegrationInstance#hostname}
    */
    readonly hostname: string;
}
export declare function integrationIntegrationInstanceAlternateCustomEndpointsToTerraform(struct?: IntegrationIntegrationInstanceAlternateCustomEndpoints | cdktf.IResolvable): any;
export declare function integrationIntegrationInstanceAlternateCustomEndpointsToHclTerraform(struct?: IntegrationIntegrationInstanceAlternateCustomEndpoints | cdktf.IResolvable): any;
export declare class IntegrationIntegrationInstanceAlternateCustomEndpointsOutputReference 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(): IntegrationIntegrationInstanceAlternateCustomEndpoints | cdktf.IResolvable | undefined;
    set internalValue(value: IntegrationIntegrationInstanceAlternateCustomEndpoints | cdktf.IResolvable | undefined);
    get alias(): string;
    private _certificateSecretId?;
    get certificateSecretId(): string;
    set certificateSecretId(value: string);
    resetCertificateSecretId(): void;
    get certificateSecretIdInput(): string | undefined;
    get certificateSecretVersion(): number;
    get dnsType(): string;
    get dnsZoneName(): string;
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    get hostnameInput(): string | undefined;
    get managedType(): string;
}
export declare class IntegrationIntegrationInstanceAlternateCustomEndpointsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IntegrationIntegrationInstanceAlternateCustomEndpoints[] | 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): IntegrationIntegrationInstanceAlternateCustomEndpointsOutputReference;
}
export interface IntegrationIntegrationInstanceCustomEndpoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#certificate_secret_id IntegrationIntegrationInstance#certificate_secret_id}
    */
    readonly certificateSecretId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#dns_type IntegrationIntegrationInstance#dns_type}
    */
    readonly dnsType?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#dns_zone_name IntegrationIntegrationInstance#dns_zone_name}
    */
    readonly dnsZoneName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#hostname IntegrationIntegrationInstance#hostname}
    */
    readonly hostname: string;
}
export declare function integrationIntegrationInstanceCustomEndpointToTerraform(struct?: IntegrationIntegrationInstanceCustomEndpointOutputReference | IntegrationIntegrationInstanceCustomEndpoint): any;
export declare function integrationIntegrationInstanceCustomEndpointToHclTerraform(struct?: IntegrationIntegrationInstanceCustomEndpointOutputReference | IntegrationIntegrationInstanceCustomEndpoint): any;
export declare class IntegrationIntegrationInstanceCustomEndpointOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationIntegrationInstanceCustomEndpoint | undefined;
    set internalValue(value: IntegrationIntegrationInstanceCustomEndpoint | undefined);
    get alias(): string;
    private _certificateSecretId?;
    get certificateSecretId(): string;
    set certificateSecretId(value: string);
    resetCertificateSecretId(): void;
    get certificateSecretIdInput(): string | undefined;
    get certificateSecretVersion(): number;
    private _dnsType?;
    get dnsType(): string;
    set dnsType(value: string);
    resetDnsType(): void;
    get dnsTypeInput(): string | undefined;
    private _dnsZoneName?;
    get dnsZoneName(): string;
    set dnsZoneName(value: string);
    get dnsZoneNameInput(): string | undefined;
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    get hostnameInput(): string | undefined;
    get managedType(): string;
}
export interface IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#allowlisted_ips IntegrationIntegrationInstance#allowlisted_ips}
    */
    readonly allowlistedIps?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#id IntegrationIntegrationInstance#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;
}
export declare function integrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsToTerraform(struct?: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | cdktf.IResolvable): any;
export declare function integrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsToHclTerraform(struct?: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | cdktf.IResolvable): any;
export declare class IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsOutputReference 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(): IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | cdktf.IResolvable | undefined;
    set internalValue(value: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns | cdktf.IResolvable | undefined);
    private _allowlistedIps?;
    get allowlistedIps(): string[];
    set allowlistedIps(value: string[]);
    resetAllowlistedIps(): void;
    get allowlistedIpsInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
}
export declare class IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns[] | 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): IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsOutputReference;
}
export interface IntegrationIntegrationInstanceNetworkEndpointDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#allowlisted_http_ips IntegrationIntegrationInstance#allowlisted_http_ips}
    */
    readonly allowlistedHttpIps?: string[];
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#is_integration_vcn_allowlisted IntegrationIntegrationInstance#is_integration_vcn_allowlisted}
    */
    readonly isIntegrationVcnAllowlisted?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#network_endpoint_type IntegrationIntegrationInstance#network_endpoint_type}
    */
    readonly networkEndpointType: string;
    /**
    * allowlisted_http_vcns block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#allowlisted_http_vcns IntegrationIntegrationInstance#allowlisted_http_vcns}
    */
    readonly allowlistedHttpVcns?: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns[] | cdktf.IResolvable;
}
export declare function integrationIntegrationInstanceNetworkEndpointDetailsToTerraform(struct?: IntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference | IntegrationIntegrationInstanceNetworkEndpointDetails): any;
export declare function integrationIntegrationInstanceNetworkEndpointDetailsToHclTerraform(struct?: IntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference | IntegrationIntegrationInstanceNetworkEndpointDetails): any;
export declare class IntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationIntegrationInstanceNetworkEndpointDetails | undefined;
    set internalValue(value: IntegrationIntegrationInstanceNetworkEndpointDetails | undefined);
    private _allowlistedHttpIps?;
    get allowlistedHttpIps(): string[];
    set allowlistedHttpIps(value: string[]);
    resetAllowlistedHttpIps(): void;
    get allowlistedHttpIpsInput(): string[] | undefined;
    private _isIntegrationVcnAllowlisted?;
    get isIntegrationVcnAllowlisted(): boolean | cdktf.IResolvable;
    set isIntegrationVcnAllowlisted(value: boolean | cdktf.IResolvable);
    resetIsIntegrationVcnAllowlisted(): void;
    get isIntegrationVcnAllowlistedInput(): boolean | cdktf.IResolvable | undefined;
    private _networkEndpointType?;
    get networkEndpointType(): string;
    set networkEndpointType(value: string);
    get networkEndpointTypeInput(): string | undefined;
    private _allowlistedHttpVcns;
    get allowlistedHttpVcns(): IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcnsList;
    putAllowlistedHttpVcns(value: IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns[] | cdktf.IResolvable): void;
    resetAllowlistedHttpVcns(): void;
    get allowlistedHttpVcnsInput(): cdktf.IResolvable | IntegrationIntegrationInstanceNetworkEndpointDetailsAllowlistedHttpVcns[] | undefined;
}
export interface IntegrationIntegrationInstanceTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#create IntegrationIntegrationInstance#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#delete IntegrationIntegrationInstance#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance#update IntegrationIntegrationInstance#update}
    */
    readonly update?: string;
}
export declare function integrationIntegrationInstanceTimeoutsToTerraform(struct?: IntegrationIntegrationInstanceTimeouts | cdktf.IResolvable): any;
export declare function integrationIntegrationInstanceTimeoutsToHclTerraform(struct?: IntegrationIntegrationInstanceTimeouts | cdktf.IResolvable): any;
export declare class IntegrationIntegrationInstanceTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): IntegrationIntegrationInstanceTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: IntegrationIntegrationInstanceTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/integration_integration_instance oci_integration_integration_instance}
*/
export declare class IntegrationIntegrationInstance extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_integration_integration_instance";
    /**
    * Generates CDKTF code for importing a IntegrationIntegrationInstance 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 IntegrationIntegrationInstance to import
    * @param importFromId The id of the existing IntegrationIntegrationInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/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 IntegrationIntegrationInstance 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/resources/integration_integration_instance oci_integration_integration_instance} Resource
    *
    * @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 IntegrationIntegrationInstanceConfig
    */
    constructor(scope: Construct, id: string, config: IntegrationIntegrationInstanceConfig);
    private _attachments;
    get attachments(): IntegrationIntegrationInstanceAttachmentsList;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _consumptionModel?;
    get consumptionModel(): string;
    set consumptionModel(value: string);
    resetConsumptionModel(): void;
    get consumptionModelInput(): string | undefined;
    get dataRetentionPeriod(): string;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _disasterRecoveryDetails;
    get disasterRecoveryDetails(): IntegrationIntegrationInstanceDisasterRecoveryDetailsList;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _domainId?;
    get domainId(): string;
    set domainId(value: string);
    resetDomainId(): void;
    get domainIdInput(): string | undefined;
    private _enableProcessAutomationTrigger?;
    get enableProcessAutomationTrigger(): number;
    set enableProcessAutomationTrigger(value: number);
    resetEnableProcessAutomationTrigger(): void;
    get enableProcessAutomationTriggerInput(): number | undefined;
    private _extendDataRetentionTrigger?;
    get extendDataRetentionTrigger(): number;
    set extendDataRetentionTrigger(value: number);
    resetExtendDataRetentionTrigger(): void;
    get extendDataRetentionTriggerInput(): number | undefined;
    private _failoverTrigger?;
    get failoverTrigger(): number;
    set failoverTrigger(value: number);
    resetFailoverTrigger(): void;
    get failoverTriggerInput(): number | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _idcsAt?;
    get idcsAt(): string;
    set idcsAt(value: string);
    resetIdcsAt(): void;
    get idcsAtInput(): string | undefined;
    private _idcsInfo;
    get idcsInfo(): IntegrationIntegrationInstanceIdcsInfoList;
    get instanceDesignTimeUrl(): string;
    get instanceUrl(): string;
    private _integrationInstanceType?;
    get integrationInstanceType(): string;
    set integrationInstanceType(value: string);
    get integrationInstanceTypeInput(): string | undefined;
    private _isByol?;
    get isByol(): boolean | cdktf.IResolvable;
    set isByol(value: boolean | cdktf.IResolvable);
    get isByolInput(): boolean | cdktf.IResolvable | undefined;
    private _isDisasterRecoveryEnabled?;
    get isDisasterRecoveryEnabled(): boolean | cdktf.IResolvable;
    set isDisasterRecoveryEnabled(value: boolean | cdktf.IResolvable);
    resetIsDisasterRecoveryEnabled(): void;
    get isDisasterRecoveryEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isFileServerEnabled?;
    get isFileServerEnabled(): boolean | cdktf.IResolvable;
    set isFileServerEnabled(value: boolean | cdktf.IResolvable);
    resetIsFileServerEnabled(): void;
    get isFileServerEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _isVisualBuilderEnabled?;
    get isVisualBuilderEnabled(): boolean | cdktf.IResolvable;
    set isVisualBuilderEnabled(value: boolean | cdktf.IResolvable);
    resetIsVisualBuilderEnabled(): void;
    get isVisualBuilderEnabledInput(): boolean | cdktf.IResolvable | undefined;
    get lifecycleDetails(): string;
    private _messagePacks?;
    get messagePacks(): number;
    set messagePacks(value: number);
    get messagePacksInput(): number | undefined;
    private _privateEndpointOutboundConnection;
    get privateEndpointOutboundConnection(): IntegrationIntegrationInstancePrivateEndpointOutboundConnectionList;
    private _shape?;
    get shape(): string;
    set shape(value: string);
    resetShape(): void;
    get shapeInput(): string | undefined;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    get stateMessage(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _alternateCustomEndpoints;
    get alternateCustomEndpoints(): IntegrationIntegrationInstanceAlternateCustomEndpointsList;
    putAlternateCustomEndpoints(value: IntegrationIntegrationInstanceAlternateCustomEndpoints[] | cdktf.IResolvable): void;
    resetAlternateCustomEndpoints(): void;
    get alternateCustomEndpointsInput(): cdktf.IResolvable | IntegrationIntegrationInstanceAlternateCustomEndpoints[] | undefined;
    private _customEndpoint;
    get customEndpoint(): IntegrationIntegrationInstanceCustomEndpointOutputReference;
    putCustomEndpoint(value: IntegrationIntegrationInstanceCustomEndpoint): void;
    resetCustomEndpoint(): void;
    get customEndpointInput(): IntegrationIntegrationInstanceCustomEndpoint | undefined;
    private _networkEndpointDetails;
    get networkEndpointDetails(): IntegrationIntegrationInstanceNetworkEndpointDetailsOutputReference;
    putNetworkEndpointDetails(value: IntegrationIntegrationInstanceNetworkEndpointDetails): void;
    resetNetworkEndpointDetails(): void;
    get networkEndpointDetailsInput(): IntegrationIntegrationInstanceNetworkEndpointDetails | undefined;
    private _timeouts;
    get timeouts(): IntegrationIntegrationInstanceTimeoutsOutputReference;
    putTimeouts(value: IntegrationIntegrationInstanceTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | IntegrationIntegrationInstanceTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
