import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface CloudGuardTargetConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#compartment_id CloudGuardTarget#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#defined_tags CloudGuardTarget#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#description CloudGuardTarget#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#display_name CloudGuardTarget#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#freeform_tags CloudGuardTarget#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#id CloudGuardTarget#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/cloud_guard_target#state CloudGuardTarget#state}
    */
    readonly state?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#target_resource_id CloudGuardTarget#target_resource_id}
    */
    readonly targetResourceId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#target_resource_type CloudGuardTarget#target_resource_type}
    */
    readonly targetResourceType: string;
    /**
    * target_detector_recipes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#target_detector_recipes CloudGuardTarget#target_detector_recipes}
    */
    readonly targetDetectorRecipes?: CloudGuardTargetTargetDetectorRecipes[] | cdktf.IResolvable;
    /**
    * target_responder_recipes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#target_responder_recipes CloudGuardTarget#target_responder_recipes}
    */
    readonly targetResponderRecipes?: CloudGuardTargetTargetResponderRecipes[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#timeouts CloudGuardTarget#timeouts}
    */
    readonly timeouts?: CloudGuardTargetTimeouts;
}
export interface CloudGuardTargetTargetDetailsTargetSecurityZoneRecipes {
}
export declare function cloudGuardTargetTargetDetailsTargetSecurityZoneRecipesToTerraform(struct?: CloudGuardTargetTargetDetailsTargetSecurityZoneRecipes): any;
export declare function cloudGuardTargetTargetDetailsTargetSecurityZoneRecipesToHclTerraform(struct?: CloudGuardTargetTargetDetailsTargetSecurityZoneRecipes): any;
export declare class CloudGuardTargetTargetDetailsTargetSecurityZoneRecipesOutputReference 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(): CloudGuardTargetTargetDetailsTargetSecurityZoneRecipes | undefined;
    set internalValue(value: CloudGuardTargetTargetDetailsTargetSecurityZoneRecipes | undefined);
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get description(): string;
    get displayName(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get lifecycleDetails(): string;
    get owner(): string;
    get securityPolicies(): string[];
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
}
export declare class CloudGuardTargetTargetDetailsTargetSecurityZoneRecipesList 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): CloudGuardTargetTargetDetailsTargetSecurityZoneRecipesOutputReference;
}
export interface CloudGuardTargetTargetDetails {
}
export declare function cloudGuardTargetTargetDetailsToTerraform(struct?: CloudGuardTargetTargetDetails): any;
export declare function cloudGuardTargetTargetDetailsToHclTerraform(struct?: CloudGuardTargetTargetDetails): any;
export declare class CloudGuardTargetTargetDetailsOutputReference 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(): CloudGuardTargetTargetDetails | undefined;
    set internalValue(value: CloudGuardTargetTargetDetails | undefined);
    get securityZoneDisplayName(): string;
    get securityZoneId(): string;
    get targetResourceType(): string;
    private _targetSecurityZoneRecipes;
    get targetSecurityZoneRecipes(): CloudGuardTargetTargetDetailsTargetSecurityZoneRecipesList;
}
export declare class CloudGuardTargetTargetDetailsList 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): CloudGuardTargetTargetDetailsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroups {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroups): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroups): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroups | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroups | undefined);
    get compartmentId(): string;
    get condition(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValues {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValues): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValues): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValues | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValues | undefined);
    get listType(): string;
    get managedListType(): string;
    get value(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurations {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurations): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurations): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurations | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurations | undefined);
    get configKey(): string;
    get dataType(): string;
    get name(): string;
    get value(): string;
    private _values;
    get values(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsValuesList;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetails {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetails): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetails): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetails | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetails | undefined);
    private _conditionGroups;
    get conditionGroups(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConditionGroupsList;
    private _configurations;
    get configurations(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsConfigurationsList;
    get isConfigurationAllowed(): cdktf.IResolvable;
    get isEnabled(): cdktf.IResolvable;
    get labels(): string[];
    get riskLevel(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappings {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappings): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappings): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappings | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappings | undefined);
    get displayName(): string;
    get entityType(): string;
    get queryField(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRules {
}
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRules): any;
export declare function cloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRules): any;
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesOutputReference 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(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRules | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRules | undefined);
    get dataSourceId(): string;
    get description(): string;
    private _details;
    get details(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesDetailsList;
    get detector(): string;
    get detectorRuleId(): string;
    get displayName(): string;
    private _entitiesMappings;
    get entitiesMappings(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesEntitiesMappingsList;
    get lifecycleDetails(): string;
    get managedListTypes(): string[];
    get recommendation(): string;
    get resourceType(): string;
    get serviceType(): string;
    get state(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesList 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): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappings {
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappings): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappings): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappings | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappings | undefined);
    get displayName(): string;
    get entityType(): string;
    get queryField(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsList 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): CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValues {
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValues): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValues): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValues | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValues | undefined);
    get listType(): string;
    get managedListType(): string;
    get value(): string;
}
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesList 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): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurations {
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurations): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurations): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurations | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurations | undefined);
    get configKey(): string;
    get dataType(): string;
    get name(): string;
    get value(): string;
    private _values;
    get values(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsValuesList;
}
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsList 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): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#compartment_id CloudGuardTarget#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#condition CloudGuardTarget#condition}
    */
    readonly condition: string;
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups | cdktf.IResolvable | undefined);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _condition?;
    get condition(): string;
    set condition(value: string);
    get conditionInput(): string | undefined;
}
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups[] | 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): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails {
    /**
    * condition_groups block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#condition_groups CloudGuardTarget#condition_groups}
    */
    readonly conditionGroups?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups[] | cdktf.IResolvable;
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsOutputReference | CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsOutputReference | CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails | undefined);
    private _configurations;
    get configurations(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConfigurationsList;
    get isConfigurationAllowed(): cdktf.IResolvable;
    get isEnabled(): cdktf.IResolvable;
    get labels(): string[];
    get riskLevel(): string;
    private _conditionGroups;
    get conditionGroups(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroupsList;
    putConditionGroups(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups[] | cdktf.IResolvable): void;
    resetConditionGroups(): void;
    get conditionGroupsInput(): cdktf.IResolvable | CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsConditionGroups[] | undefined;
}
export interface CloudGuardTargetTargetDetectorRecipesDetectorRules {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#detector_rule_id CloudGuardTarget#detector_rule_id}
    */
    readonly detectorRuleId: string;
    /**
    * details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#details CloudGuardTarget#details}
    */
    readonly details: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails;
}
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesToTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRules | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetDetectorRecipesDetectorRulesToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipesDetectorRules | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesOutputReference 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(): CloudGuardTargetTargetDetectorRecipesDetectorRules | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipesDetectorRules | cdktf.IResolvable | undefined);
    get dataSourceId(): string;
    get description(): string;
    get detector(): string;
    private _detectorRuleId?;
    get detectorRuleId(): string;
    set detectorRuleId(value: string);
    get detectorRuleIdInput(): string | undefined;
    get displayName(): string;
    private _entitiesMappings;
    get entitiesMappings(): CloudGuardTargetTargetDetectorRecipesDetectorRulesEntitiesMappingsList;
    get lifecycleDetails(): string;
    get managedListTypes(): string[];
    get recommendation(): string;
    get resourceType(): string;
    get serviceType(): string;
    get state(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _details;
    get details(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetailsOutputReference;
    putDetails(value: CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails): void;
    get detailsInput(): CloudGuardTargetTargetDetectorRecipesDetectorRulesDetails | undefined;
}
export declare class CloudGuardTargetTargetDetectorRecipesDetectorRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetDetectorRecipesDetectorRules[] | 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): CloudGuardTargetTargetDetectorRecipesDetectorRulesOutputReference;
}
export interface CloudGuardTargetTargetDetectorRecipes {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#detector_recipe_id CloudGuardTarget#detector_recipe_id}
    */
    readonly detectorRecipeId: string;
    /**
    * detector_rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#detector_rules CloudGuardTarget#detector_rules}
    */
    readonly detectorRules?: CloudGuardTargetTargetDetectorRecipesDetectorRules[] | cdktf.IResolvable;
}
export declare function cloudGuardTargetTargetDetectorRecipesToTerraform(struct?: CloudGuardTargetTargetDetectorRecipes | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetDetectorRecipesToHclTerraform(struct?: CloudGuardTargetTargetDetectorRecipes | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetDetectorRecipesOutputReference 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(): CloudGuardTargetTargetDetectorRecipes | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetDetectorRecipes | cdktf.IResolvable | undefined);
    get compartmentId(): string;
    get description(): string;
    get detector(): string;
    private _detectorRecipeId?;
    get detectorRecipeId(): string;
    set detectorRecipeId(value: string);
    get detectorRecipeIdInput(): string | undefined;
    get detectorRecipeType(): string;
    get displayName(): string;
    private _effectiveDetectorRules;
    get effectiveDetectorRules(): CloudGuardTargetTargetDetectorRecipesEffectiveDetectorRulesList;
    get id(): string;
    get owner(): string;
    get state(): string;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _detectorRules;
    get detectorRules(): CloudGuardTargetTargetDetectorRecipesDetectorRulesList;
    putDetectorRules(value: CloudGuardTargetTargetDetectorRecipesDetectorRules[] | cdktf.IResolvable): void;
    resetDetectorRules(): void;
    get detectorRulesInput(): cdktf.IResolvable | CloudGuardTargetTargetDetectorRecipesDetectorRules[] | undefined;
}
export declare class CloudGuardTargetTargetDetectorRecipesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetDetectorRecipes[] | 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): CloudGuardTargetTargetDetectorRecipesOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurations {
}
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsToTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurations): any;
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurations): any;
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsOutputReference 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(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurations | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurations | undefined);
    get configKey(): string;
    get name(): string;
    get value(): string;
}
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsList 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): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetails {
}
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsToTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetails): any;
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetails): any;
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsOutputReference 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(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetails | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetails | undefined);
    get condition(): string;
    private _configurations;
    get configurations(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsConfigurationsList;
    get isEnabled(): cdktf.IResolvable;
    get mode(): string;
}
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsList 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): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipesEffectiveResponderRules {
}
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesToTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRules): any;
export declare function cloudGuardTargetTargetResponderRecipesEffectiveResponderRulesToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesEffectiveResponderRules): any;
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesOutputReference 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(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRules | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesEffectiveResponderRules | undefined);
    get compartmentId(): string;
    get description(): string;
    private _details;
    get details(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesDetailsList;
    get displayName(): string;
    get lifecycleDetails(): string;
    get policies(): string[];
    get responderRuleId(): string;
    get state(): string;
    get supportedModes(): string[];
    get timeCreated(): string;
    get timeUpdated(): string;
    get type(): string;
}
export declare class CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesList 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): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#config_key CloudGuardTarget#config_key}
    */
    readonly configKey: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#name CloudGuardTarget#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#value CloudGuardTarget#value}
    */
    readonly value: string;
}
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsToTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsOutputReference 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(): CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations | cdktf.IResolvable | undefined);
    private _configKey?;
    get configKey(): string;
    set configKey(value: string);
    get configKeyInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations[] | 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): CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipesResponderRulesDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#condition CloudGuardTarget#condition}
    */
    readonly condition?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#mode CloudGuardTarget#mode}
    */
    readonly mode?: string;
    /**
    * configurations block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#configurations CloudGuardTarget#configurations}
    */
    readonly configurations?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations[] | cdktf.IResolvable;
}
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesDetailsToTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsOutputReference | CloudGuardTargetTargetResponderRecipesResponderRulesDetails): any;
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesDetailsToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsOutputReference | CloudGuardTargetTargetResponderRecipesResponderRulesDetails): any;
export declare class CloudGuardTargetTargetResponderRecipesResponderRulesDetailsOutputReference 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(): CloudGuardTargetTargetResponderRecipesResponderRulesDetails | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesResponderRulesDetails | undefined);
    private _condition?;
    get condition(): string;
    set condition(value: string);
    resetCondition(): void;
    get conditionInput(): string | undefined;
    get isEnabled(): cdktf.IResolvable;
    private _mode?;
    get mode(): string;
    set mode(value: string);
    resetMode(): void;
    get modeInput(): string | undefined;
    private _configurations;
    get configurations(): CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurationsList;
    putConfigurations(value: CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations[] | cdktf.IResolvable): void;
    resetConfigurations(): void;
    get configurationsInput(): cdktf.IResolvable | CloudGuardTargetTargetResponderRecipesResponderRulesDetailsConfigurations[] | undefined;
}
export interface CloudGuardTargetTargetResponderRecipesResponderRules {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#responder_rule_id CloudGuardTarget#responder_rule_id}
    */
    readonly responderRuleId: string;
    /**
    * details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#details CloudGuardTarget#details}
    */
    readonly details: CloudGuardTargetTargetResponderRecipesResponderRulesDetails;
}
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesToTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRules | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetResponderRecipesResponderRulesToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipesResponderRules | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetResponderRecipesResponderRulesOutputReference 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(): CloudGuardTargetTargetResponderRecipesResponderRules | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipesResponderRules | cdktf.IResolvable | undefined);
    get compartmentId(): string;
    get description(): string;
    get displayName(): string;
    get lifecycleDetails(): string;
    get policies(): string[];
    private _responderRuleId?;
    get responderRuleId(): string;
    set responderRuleId(value: string);
    get responderRuleIdInput(): string | undefined;
    get state(): string;
    get supportedModes(): string[];
    get timeCreated(): string;
    get timeUpdated(): string;
    get type(): string;
    private _details;
    get details(): CloudGuardTargetTargetResponderRecipesResponderRulesDetailsOutputReference;
    putDetails(value: CloudGuardTargetTargetResponderRecipesResponderRulesDetails): void;
    get detailsInput(): CloudGuardTargetTargetResponderRecipesResponderRulesDetails | undefined;
}
export declare class CloudGuardTargetTargetResponderRecipesResponderRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetResponderRecipesResponderRules[] | 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): CloudGuardTargetTargetResponderRecipesResponderRulesOutputReference;
}
export interface CloudGuardTargetTargetResponderRecipes {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#responder_recipe_id CloudGuardTarget#responder_recipe_id}
    */
    readonly responderRecipeId: string;
    /**
    * responder_rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#responder_rules CloudGuardTarget#responder_rules}
    */
    readonly responderRules?: CloudGuardTargetTargetResponderRecipesResponderRules[] | cdktf.IResolvable;
}
export declare function cloudGuardTargetTargetResponderRecipesToTerraform(struct?: CloudGuardTargetTargetResponderRecipes | cdktf.IResolvable): any;
export declare function cloudGuardTargetTargetResponderRecipesToHclTerraform(struct?: CloudGuardTargetTargetResponderRecipes | cdktf.IResolvable): any;
export declare class CloudGuardTargetTargetResponderRecipesOutputReference 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(): CloudGuardTargetTargetResponderRecipes | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTargetResponderRecipes | cdktf.IResolvable | undefined);
    get compartmentId(): string;
    get description(): string;
    get displayName(): string;
    private _effectiveResponderRules;
    get effectiveResponderRules(): CloudGuardTargetTargetResponderRecipesEffectiveResponderRulesList;
    get id(): string;
    get owner(): string;
    private _responderRecipeId?;
    get responderRecipeId(): string;
    set responderRecipeId(value: string);
    get responderRecipeIdInput(): string | undefined;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _responderRules;
    get responderRules(): CloudGuardTargetTargetResponderRecipesResponderRulesList;
    putResponderRules(value: CloudGuardTargetTargetResponderRecipesResponderRules[] | cdktf.IResolvable): void;
    resetResponderRules(): void;
    get responderRulesInput(): cdktf.IResolvable | CloudGuardTargetTargetResponderRecipesResponderRules[] | undefined;
}
export declare class CloudGuardTargetTargetResponderRecipesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: CloudGuardTargetTargetResponderRecipes[] | 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): CloudGuardTargetTargetResponderRecipesOutputReference;
}
export interface CloudGuardTargetTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#create CloudGuardTarget#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#delete CloudGuardTarget#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#update CloudGuardTarget#update}
    */
    readonly update?: string;
}
export declare function cloudGuardTargetTimeoutsToTerraform(struct?: CloudGuardTargetTimeouts | cdktf.IResolvable): any;
export declare function cloudGuardTargetTimeoutsToHclTerraform(struct?: CloudGuardTargetTimeouts | cdktf.IResolvable): any;
export declare class CloudGuardTargetTimeoutsOutputReference 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(): CloudGuardTargetTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: CloudGuardTargetTimeouts | 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/cloud_guard_target oci_cloud_guard_target}
*/
export declare class CloudGuardTarget extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_cloud_guard_target";
    /**
    * Generates CDKTF code for importing a CloudGuardTarget 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 CloudGuardTarget to import
    * @param importFromId The id of the existing CloudGuardTarget that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/cloud_guard_target#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the CloudGuardTarget 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/cloud_guard_target oci_cloud_guard_target} 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 CloudGuardTargetConfig
    */
    constructor(scope: Construct, id: string, config: CloudGuardTargetConfig);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | 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;
    get inheritedByCompartments(): string[];
    get lifecyleDetails(): string;
    get recipeCount(): number;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    private _targetDetails;
    get targetDetails(): CloudGuardTargetTargetDetailsList;
    private _targetResourceId?;
    get targetResourceId(): string;
    set targetResourceId(value: string);
    get targetResourceIdInput(): string | undefined;
    private _targetResourceType?;
    get targetResourceType(): string;
    set targetResourceType(value: string);
    get targetResourceTypeInput(): string | undefined;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _targetDetectorRecipes;
    get targetDetectorRecipes(): CloudGuardTargetTargetDetectorRecipesList;
    putTargetDetectorRecipes(value: CloudGuardTargetTargetDetectorRecipes[] | cdktf.IResolvable): void;
    resetTargetDetectorRecipes(): void;
    get targetDetectorRecipesInput(): cdktf.IResolvable | CloudGuardTargetTargetDetectorRecipes[] | undefined;
    private _targetResponderRecipes;
    get targetResponderRecipes(): CloudGuardTargetTargetResponderRecipesList;
    putTargetResponderRecipes(value: CloudGuardTargetTargetResponderRecipes[] | cdktf.IResolvable): void;
    resetTargetResponderRecipes(): void;
    get targetResponderRecipesInput(): cdktf.IResolvable | CloudGuardTargetTargetResponderRecipes[] | undefined;
    private _timeouts;
    get timeouts(): CloudGuardTargetTimeoutsOutputReference;
    putTimeouts(value: CloudGuardTargetTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | CloudGuardTargetTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
