import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciWafWebAppFirewallPolicyConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/waf_web_app_firewall_policy#web_app_firewall_policy_id DataOciWafWebAppFirewallPolicy#web_app_firewall_policy_id}
    */
    readonly webAppFirewallPolicyId: string;
}
export interface DataOciWafWebAppFirewallPolicyActionsBody {
}
export declare function dataOciWafWebAppFirewallPolicyActionsBodyToTerraform(struct?: DataOciWafWebAppFirewallPolicyActionsBody): any;
export declare function dataOciWafWebAppFirewallPolicyActionsBodyToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyActionsBody): any;
export declare class DataOciWafWebAppFirewallPolicyActionsBodyOutputReference 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(): DataOciWafWebAppFirewallPolicyActionsBody | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyActionsBody | undefined);
    get template(): string;
    get text(): string;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyActionsBodyList 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): DataOciWafWebAppFirewallPolicyActionsBodyOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyActionsHeaders {
}
export declare function dataOciWafWebAppFirewallPolicyActionsHeadersToTerraform(struct?: DataOciWafWebAppFirewallPolicyActionsHeaders): any;
export declare function dataOciWafWebAppFirewallPolicyActionsHeadersToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyActionsHeaders): any;
export declare class DataOciWafWebAppFirewallPolicyActionsHeadersOutputReference 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(): DataOciWafWebAppFirewallPolicyActionsHeaders | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyActionsHeaders | undefined);
    get name(): string;
    get value(): string;
}
export declare class DataOciWafWebAppFirewallPolicyActionsHeadersList 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): DataOciWafWebAppFirewallPolicyActionsHeadersOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyActions {
}
export declare function dataOciWafWebAppFirewallPolicyActionsToTerraform(struct?: DataOciWafWebAppFirewallPolicyActions): any;
export declare function dataOciWafWebAppFirewallPolicyActionsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyActions): any;
export declare class DataOciWafWebAppFirewallPolicyActionsOutputReference 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(): DataOciWafWebAppFirewallPolicyActions | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyActions | undefined);
    private _body;
    get body(): DataOciWafWebAppFirewallPolicyActionsBodyList;
    get code(): number;
    private _headers;
    get headers(): DataOciWafWebAppFirewallPolicyActionsHeadersList;
    get name(): string;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyActionsList 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): DataOciWafWebAppFirewallPolicyActionsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestAccessControlRules {
}
export declare function dataOciWafWebAppFirewallPolicyRequestAccessControlRulesToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestAccessControlRules): any;
export declare function dataOciWafWebAppFirewallPolicyRequestAccessControlRulesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestAccessControlRules): any;
export declare class DataOciWafWebAppFirewallPolicyRequestAccessControlRulesOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestAccessControlRules | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestAccessControlRules | undefined);
    get actionName(): string;
    get condition(): string;
    get conditionLanguage(): string;
    get name(): string;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyRequestAccessControlRulesList 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): DataOciWafWebAppFirewallPolicyRequestAccessControlRulesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestAccessControl {
}
export declare function dataOciWafWebAppFirewallPolicyRequestAccessControlToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestAccessControl): any;
export declare function dataOciWafWebAppFirewallPolicyRequestAccessControlToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestAccessControl): any;
export declare class DataOciWafWebAppFirewallPolicyRequestAccessControlOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestAccessControl | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestAccessControl | undefined);
    get defaultActionName(): string;
    private _rules;
    get rules(): DataOciWafWebAppFirewallPolicyRequestAccessControlRulesList;
}
export declare class DataOciWafWebAppFirewallPolicyRequestAccessControlList 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): DataOciWafWebAppFirewallPolicyRequestAccessControlOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeights {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeights): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeights): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeights | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeights | undefined);
    get key(): string;
    get weight(): number;
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsList 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): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusions {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusions): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusions): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusions | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusions | undefined);
    get args(): string[];
    get requestCookies(): string[];
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsList 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): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilities {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilities): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilities): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilities | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilities | undefined);
    get actionName(): string;
    get collaborativeActionThreshold(): number;
    private _collaborativeWeights;
    get collaborativeWeights(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesCollaborativeWeightsList;
    private _exclusions;
    get exclusions(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesExclusionsList;
    get key(): string;
    get version(): number;
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesList 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): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettings {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettings): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettings): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettings | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettings | undefined);
    get allowedHttpMethods(): string[];
    get maxHttpRequestHeaderLength(): number;
    get maxHttpRequestHeaders(): number;
    get maxNumberOfArguments(): number;
    get maxSingleArgumentLength(): number;
    get maxTotalArgumentLength(): number;
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsList 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): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtectionRules {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRules): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionRulesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtectionRules): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtectionRules | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtectionRules | undefined);
    get actionName(): string;
    get condition(): string;
    get conditionLanguage(): string;
    get isBodyInspectionEnabled(): cdktf.IResolvable;
    get name(): string;
    private _protectionCapabilities;
    get protectionCapabilities(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitiesList;
    private _protectionCapabilitySettings;
    get protectionCapabilitySettings(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesProtectionCapabilitySettingsList;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionRulesList 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): DataOciWafWebAppFirewallPolicyRequestProtectionRulesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestProtection {
}
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtection): any;
export declare function dataOciWafWebAppFirewallPolicyRequestProtectionToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestProtection): any;
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestProtection | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestProtection | undefined);
    get bodyInspectionSizeLimitExceededActionName(): string;
    get bodyInspectionSizeLimitInBytes(): number;
    private _rules;
    get rules(): DataOciWafWebAppFirewallPolicyRequestProtectionRulesList;
}
export declare class DataOciWafWebAppFirewallPolicyRequestProtectionList 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): DataOciWafWebAppFirewallPolicyRequestProtectionOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurations {
}
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurations): any;
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurations): any;
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurations | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurations | undefined);
    get actionDurationInSeconds(): number;
    get periodInSeconds(): number;
    get requestsLimit(): number;
}
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsList 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): DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestRateLimitingRules {
}
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingRulesToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimitingRules): any;
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingRulesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimitingRules): any;
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestRateLimitingRules | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestRateLimitingRules | undefined);
    get actionName(): string;
    get condition(): string;
    get conditionLanguage(): string;
    private _configurations;
    get configurations(): DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesConfigurationsList;
    get name(): string;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesList 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): DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyRequestRateLimiting {
}
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingToTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimiting): any;
export declare function dataOciWafWebAppFirewallPolicyRequestRateLimitingToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyRequestRateLimiting): any;
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingOutputReference 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(): DataOciWafWebAppFirewallPolicyRequestRateLimiting | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyRequestRateLimiting | undefined);
    private _rules;
    get rules(): DataOciWafWebAppFirewallPolicyRequestRateLimitingRulesList;
}
export declare class DataOciWafWebAppFirewallPolicyRequestRateLimitingList 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): DataOciWafWebAppFirewallPolicyRequestRateLimitingOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseAccessControlRules {
}
export declare function dataOciWafWebAppFirewallPolicyResponseAccessControlRulesToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseAccessControlRules): any;
export declare function dataOciWafWebAppFirewallPolicyResponseAccessControlRulesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseAccessControlRules): any;
export declare class DataOciWafWebAppFirewallPolicyResponseAccessControlRulesOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseAccessControlRules | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseAccessControlRules | undefined);
    get actionName(): string;
    get condition(): string;
    get conditionLanguage(): string;
    get name(): string;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyResponseAccessControlRulesList 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): DataOciWafWebAppFirewallPolicyResponseAccessControlRulesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseAccessControl {
}
export declare function dataOciWafWebAppFirewallPolicyResponseAccessControlToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseAccessControl): any;
export declare function dataOciWafWebAppFirewallPolicyResponseAccessControlToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseAccessControl): any;
export declare class DataOciWafWebAppFirewallPolicyResponseAccessControlOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseAccessControl | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseAccessControl | undefined);
    private _rules;
    get rules(): DataOciWafWebAppFirewallPolicyResponseAccessControlRulesList;
}
export declare class DataOciWafWebAppFirewallPolicyResponseAccessControlList 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): DataOciWafWebAppFirewallPolicyResponseAccessControlOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeights {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeights): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeights): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeights | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeights | undefined);
    get key(): string;
    get weight(): number;
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsList 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): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusions {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusions): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusions): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusions | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusions | undefined);
    get args(): string[];
    get requestCookies(): string[];
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsList 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): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilities {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilities): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilities): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilities | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilities | undefined);
    get actionName(): string;
    get collaborativeActionThreshold(): number;
    private _collaborativeWeights;
    get collaborativeWeights(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesCollaborativeWeightsList;
    private _exclusions;
    get exclusions(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesExclusionsList;
    get key(): string;
    get version(): number;
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesList 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): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettings {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettings): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettings): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettings | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettings | undefined);
    get allowedHttpMethods(): string[];
    get maxHttpRequestHeaderLength(): number;
    get maxHttpRequestHeaders(): number;
    get maxNumberOfArguments(): number;
    get maxSingleArgumentLength(): number;
    get maxTotalArgumentLength(): number;
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsList 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): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtectionRules {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRules): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionRulesToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtectionRules): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtectionRules | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtectionRules | undefined);
    get actionName(): string;
    get condition(): string;
    get conditionLanguage(): string;
    get isBodyInspectionEnabled(): cdktf.IResolvable;
    get name(): string;
    private _protectionCapabilities;
    get protectionCapabilities(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitiesList;
    private _protectionCapabilitySettings;
    get protectionCapabilitySettings(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesProtectionCapabilitySettingsList;
    get type(): string;
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionRulesList 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): DataOciWafWebAppFirewallPolicyResponseProtectionRulesOutputReference;
}
export interface DataOciWafWebAppFirewallPolicyResponseProtection {
}
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionToTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtection): any;
export declare function dataOciWafWebAppFirewallPolicyResponseProtectionToHclTerraform(struct?: DataOciWafWebAppFirewallPolicyResponseProtection): any;
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionOutputReference 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(): DataOciWafWebAppFirewallPolicyResponseProtection | undefined;
    set internalValue(value: DataOciWafWebAppFirewallPolicyResponseProtection | undefined);
    private _rules;
    get rules(): DataOciWafWebAppFirewallPolicyResponseProtectionRulesList;
}
export declare class DataOciWafWebAppFirewallPolicyResponseProtectionList 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): DataOciWafWebAppFirewallPolicyResponseProtectionOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/waf_web_app_firewall_policy oci_waf_web_app_firewall_policy}
*/
export declare class DataOciWafWebAppFirewallPolicy extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_waf_web_app_firewall_policy";
    /**
    * Generates CDKTF code for importing a DataOciWafWebAppFirewallPolicy 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 DataOciWafWebAppFirewallPolicy to import
    * @param importFromId The id of the existing DataOciWafWebAppFirewallPolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/waf_web_app_firewall_policy#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciWafWebAppFirewallPolicy to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/waf_web_app_firewall_policy oci_waf_web_app_firewall_policy} Data Source
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options DataOciWafWebAppFirewallPolicyConfig
    */
    constructor(scope: Construct, id: string, config: DataOciWafWebAppFirewallPolicyConfig);
    private _actions;
    get actions(): DataOciWafWebAppFirewallPolicyActionsList;
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    get displayName(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get lifecycleDetails(): string;
    private _requestAccessControl;
    get requestAccessControl(): DataOciWafWebAppFirewallPolicyRequestAccessControlList;
    private _requestProtection;
    get requestProtection(): DataOciWafWebAppFirewallPolicyRequestProtectionList;
    private _requestRateLimiting;
    get requestRateLimiting(): DataOciWafWebAppFirewallPolicyRequestRateLimitingList;
    private _responseAccessControl;
    get responseAccessControl(): DataOciWafWebAppFirewallPolicyResponseAccessControlList;
    private _responseProtection;
    get responseProtection(): DataOciWafWebAppFirewallPolicyResponseProtectionList;
    get state(): string;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _webAppFirewallPolicyId?;
    get webAppFirewallPolicyId(): string;
    set webAppFirewallPolicyId(value: string);
    get webAppFirewallPolicyIdInput(): string | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
