/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ModelArmorFloorsettingConfig extends cdktf.TerraformMetaArguments {
    /**
    * Floor Settings enforcement status.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#enable_floor_setting_enforcement ModelArmorFloorsetting#enable_floor_setting_enforcement}
    */
    readonly enableFloorSettingEnforcement?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#id ModelArmorFloorsetting#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;
    /**
    * List of integrated services for which the floor setting is applicable.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#integrated_services ModelArmorFloorsetting#integrated_services}
    */
    readonly integratedServices?: string[];
    /**
    * Resource ID segment making up resource 'name'. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#location ModelArmorFloorsetting#location}
    */
    readonly location: string;
    /**
    * Will be any one of these:
    *
    * * 'projects/{project}'
    * * 'folders/{folder}'
    * * 'organizations/{organizationId}'
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#parent ModelArmorFloorsetting#parent}
    */
    readonly parent: string;
    /**
    * ai_platform_floor_setting block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#ai_platform_floor_setting ModelArmorFloorsetting#ai_platform_floor_setting}
    */
    readonly aiPlatformFloorSetting?: ModelArmorFloorsettingAiPlatformFloorSetting;
    /**
    * filter_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#filter_config ModelArmorFloorsetting#filter_config}
    */
    readonly filterConfig: ModelArmorFloorsettingFilterConfig;
    /**
    * floor_setting_metadata block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#floor_setting_metadata ModelArmorFloorsetting#floor_setting_metadata}
    */
    readonly floorSettingMetadata?: ModelArmorFloorsettingFloorSettingMetadata;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#timeouts ModelArmorFloorsetting#timeouts}
    */
    readonly timeouts?: ModelArmorFloorsettingTimeouts;
}
export interface ModelArmorFloorsettingAiPlatformFloorSetting {
    /**
    * If true, log Model Armor filter results to Cloud Logging.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#enable_cloud_logging ModelArmorFloorsetting#enable_cloud_logging}
    */
    readonly enableCloudLogging?: boolean | cdktf.IResolvable;
    /**
    * If true, Model Armor filters will be run in inspect and block mode.
    * Requests that trip Model Armor filters will be blocked.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#inspect_and_block ModelArmorFloorsetting#inspect_and_block}
    */
    readonly inspectAndBlock?: boolean | cdktf.IResolvable;
    /**
    * If true, Model Armor filters will be run in inspect only mode. No action
    * will be taken on the request.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#inspect_only ModelArmorFloorsetting#inspect_only}
    */
    readonly inspectOnly?: boolean | cdktf.IResolvable;
}
export declare function modelArmorFloorsettingAiPlatformFloorSettingToTerraform(struct?: ModelArmorFloorsettingAiPlatformFloorSettingOutputReference | ModelArmorFloorsettingAiPlatformFloorSetting): any;
export declare function modelArmorFloorsettingAiPlatformFloorSettingToHclTerraform(struct?: ModelArmorFloorsettingAiPlatformFloorSettingOutputReference | ModelArmorFloorsettingAiPlatformFloorSetting): any;
export declare class ModelArmorFloorsettingAiPlatformFloorSettingOutputReference 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(): ModelArmorFloorsettingAiPlatformFloorSetting | undefined;
    set internalValue(value: ModelArmorFloorsettingAiPlatformFloorSetting | undefined);
    private _enableCloudLogging?;
    get enableCloudLogging(): boolean | cdktf.IResolvable;
    set enableCloudLogging(value: boolean | cdktf.IResolvable);
    resetEnableCloudLogging(): void;
    get enableCloudLoggingInput(): boolean | cdktf.IResolvable | undefined;
    private _inspectAndBlock?;
    get inspectAndBlock(): boolean | cdktf.IResolvable;
    set inspectAndBlock(value: boolean | cdktf.IResolvable);
    resetInspectAndBlock(): void;
    get inspectAndBlockInput(): boolean | cdktf.IResolvable | undefined;
    private _inspectOnly?;
    get inspectOnly(): boolean | cdktf.IResolvable;
    set inspectOnly(value: boolean | cdktf.IResolvable);
    resetInspectOnly(): void;
    get inspectOnlyInput(): boolean | cdktf.IResolvable | undefined;
}
export interface ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings {
    /**
    * Tells whether the Malicious URI filter is enabled or disabled.
    * Possible values:
    * ENABLED
    * DISABLED
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#filter_enforcement ModelArmorFloorsetting#filter_enforcement}
    */
    readonly filterEnforcement?: string;
}
export declare function modelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsToTerraform(struct?: ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsOutputReference | ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings): any;
export declare function modelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsOutputReference | ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings): any;
export declare class ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsOutputReference 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(): ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings | undefined);
    private _filterEnforcement?;
    get filterEnforcement(): string;
    set filterEnforcement(value: string);
    resetFilterEnforcement(): void;
    get filterEnforcementInput(): string | undefined;
}
export interface ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings {
    /**
    * Possible values:
    * LOW_AND_ABOVE
    * MEDIUM_AND_ABOVE
    * HIGH
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#confidence_level ModelArmorFloorsetting#confidence_level}
    */
    readonly confidenceLevel?: string;
    /**
    * Tells whether Prompt injection and Jailbreak filter is enabled or
    * disabled.
    * Possible values:
    * ENABLED
    * DISABLED
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#filter_enforcement ModelArmorFloorsetting#filter_enforcement}
    */
    readonly filterEnforcement?: string;
}
export declare function modelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsToTerraform(struct?: ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsOutputReference | ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings): any;
export declare function modelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsOutputReference | ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings): any;
export declare class ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsOutputReference 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(): ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings | undefined);
    private _confidenceLevel?;
    get confidenceLevel(): string;
    set confidenceLevel(value: string);
    resetConfidenceLevel(): void;
    get confidenceLevelInput(): string | undefined;
    private _filterEnforcement?;
    get filterEnforcement(): string;
    set filterEnforcement(value: string);
    resetFilterEnforcement(): void;
    get filterEnforcementInput(): string | undefined;
}
export interface ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters {
    /**
    * Possible values:
    * LOW_AND_ABOVE
    * MEDIUM_AND_ABOVE
    * HIGH
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#confidence_level ModelArmorFloorsetting#confidence_level}
    */
    readonly confidenceLevel?: string;
    /**
    * Possible values:
    * SEXUALLY_EXPLICIT
    * HATE_SPEECH
    * HARASSMENT
    * DANGEROUS
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#filter_type ModelArmorFloorsetting#filter_type}
    */
    readonly filterType: string;
}
export declare function modelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersToTerraform(struct?: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters | cdktf.IResolvable): any;
export declare function modelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters | cdktf.IResolvable): any;
export declare class ModelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersOutputReference 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(): ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters | cdktf.IResolvable | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters | cdktf.IResolvable | undefined);
    private _confidenceLevel?;
    get confidenceLevel(): string;
    set confidenceLevel(value: string);
    resetConfidenceLevel(): void;
    get confidenceLevelInput(): string | undefined;
    private _filterType?;
    get filterType(): string;
    set filterType(value: string);
    get filterTypeInput(): string | undefined;
}
export declare class ModelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters[] | 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): ModelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersOutputReference;
}
export interface ModelArmorFloorsettingFilterConfigRaiSettings {
    /**
    * rai_filters block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#rai_filters ModelArmorFloorsetting#rai_filters}
    */
    readonly raiFilters: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters[] | cdktf.IResolvable;
}
export declare function modelArmorFloorsettingFilterConfigRaiSettingsToTerraform(struct?: ModelArmorFloorsettingFilterConfigRaiSettingsOutputReference | ModelArmorFloorsettingFilterConfigRaiSettings): any;
export declare function modelArmorFloorsettingFilterConfigRaiSettingsToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigRaiSettingsOutputReference | ModelArmorFloorsettingFilterConfigRaiSettings): any;
export declare class ModelArmorFloorsettingFilterConfigRaiSettingsOutputReference 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(): ModelArmorFloorsettingFilterConfigRaiSettings | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigRaiSettings | undefined);
    private _raiFilters;
    get raiFilters(): ModelArmorFloorsettingFilterConfigRaiSettingsRaiFiltersList;
    putRaiFilters(value: ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters[] | cdktf.IResolvable): void;
    get raiFiltersInput(): cdktf.IResolvable | ModelArmorFloorsettingFilterConfigRaiSettingsRaiFilters[] | undefined;
}
export interface ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig {
    /**
    * Optional Sensitive Data Protection Deidentify template resource name.
    *
    * If provided then DeidentifyContent action is performed during Sanitization
    * using this template and inspect template. The De-identified data will
    * be returned in SdpDeidentifyResult.
    * Note that all info-types present in the deidentify template must be present
    * in inspect template.
    *
    * e.g.
    * 'projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}'
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#deidentify_template ModelArmorFloorsetting#deidentify_template}
    */
    readonly deidentifyTemplate?: string;
    /**
    * Sensitive Data Protection inspect template resource name
    *
    * If only inspect template is provided (de-identify template not provided),
    * then Sensitive Data Protection InspectContent action is performed during
    * Sanitization. All Sensitive Data Protection findings identified during
    * inspection will be returned as SdpFinding in SdpInsepctionResult.
    *
    * e.g:-
    * 'projects/{project}/locations/{location}/inspectTemplates/{inspect_template}'
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#inspect_template ModelArmorFloorsetting#inspect_template}
    */
    readonly inspectTemplate?: string;
}
export declare function modelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigToTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigOutputReference | ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig): any;
export declare function modelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigOutputReference | ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig): any;
export declare class ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigOutputReference 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(): ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig | undefined);
    private _deidentifyTemplate?;
    get deidentifyTemplate(): string;
    set deidentifyTemplate(value: string);
    resetDeidentifyTemplate(): void;
    get deidentifyTemplateInput(): string | undefined;
    private _inspectTemplate?;
    get inspectTemplate(): string;
    set inspectTemplate(value: string);
    resetInspectTemplate(): void;
    get inspectTemplateInput(): string | undefined;
}
export interface ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig {
    /**
    * Tells whether the Sensitive Data Protection basic config is enabled or
    * disabled.
    * Possible values:
    * ENABLED
    * DISABLED
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#filter_enforcement ModelArmorFloorsetting#filter_enforcement}
    */
    readonly filterEnforcement?: string;
}
export declare function modelArmorFloorsettingFilterConfigSdpSettingsBasicConfigToTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfigOutputReference | ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig): any;
export declare function modelArmorFloorsettingFilterConfigSdpSettingsBasicConfigToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfigOutputReference | ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig): any;
export declare class ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfigOutputReference 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(): ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig | undefined);
    private _filterEnforcement?;
    get filterEnforcement(): string;
    set filterEnforcement(value: string);
    resetFilterEnforcement(): void;
    get filterEnforcementInput(): string | undefined;
}
export interface ModelArmorFloorsettingFilterConfigSdpSettings {
    /**
    * advanced_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#advanced_config ModelArmorFloorsetting#advanced_config}
    */
    readonly advancedConfig?: ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig;
    /**
    * basic_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#basic_config ModelArmorFloorsetting#basic_config}
    */
    readonly basicConfig?: ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig;
}
export declare function modelArmorFloorsettingFilterConfigSdpSettingsToTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsOutputReference | ModelArmorFloorsettingFilterConfigSdpSettings): any;
export declare function modelArmorFloorsettingFilterConfigSdpSettingsToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigSdpSettingsOutputReference | ModelArmorFloorsettingFilterConfigSdpSettings): any;
export declare class ModelArmorFloorsettingFilterConfigSdpSettingsOutputReference 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(): ModelArmorFloorsettingFilterConfigSdpSettings | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfigSdpSettings | undefined);
    private _advancedConfig;
    get advancedConfig(): ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfigOutputReference;
    putAdvancedConfig(value: ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig): void;
    resetAdvancedConfig(): void;
    get advancedConfigInput(): ModelArmorFloorsettingFilterConfigSdpSettingsAdvancedConfig | undefined;
    private _basicConfig;
    get basicConfig(): ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfigOutputReference;
    putBasicConfig(value: ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig): void;
    resetBasicConfig(): void;
    get basicConfigInput(): ModelArmorFloorsettingFilterConfigSdpSettingsBasicConfig | undefined;
}
export interface ModelArmorFloorsettingFilterConfig {
    /**
    * malicious_uri_filter_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#malicious_uri_filter_settings ModelArmorFloorsetting#malicious_uri_filter_settings}
    */
    readonly maliciousUriFilterSettings?: ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings;
    /**
    * pi_and_jailbreak_filter_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#pi_and_jailbreak_filter_settings ModelArmorFloorsetting#pi_and_jailbreak_filter_settings}
    */
    readonly piAndJailbreakFilterSettings?: ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings;
    /**
    * rai_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#rai_settings ModelArmorFloorsetting#rai_settings}
    */
    readonly raiSettings?: ModelArmorFloorsettingFilterConfigRaiSettings;
    /**
    * sdp_settings block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#sdp_settings ModelArmorFloorsetting#sdp_settings}
    */
    readonly sdpSettings?: ModelArmorFloorsettingFilterConfigSdpSettings;
}
export declare function modelArmorFloorsettingFilterConfigToTerraform(struct?: ModelArmorFloorsettingFilterConfigOutputReference | ModelArmorFloorsettingFilterConfig): any;
export declare function modelArmorFloorsettingFilterConfigToHclTerraform(struct?: ModelArmorFloorsettingFilterConfigOutputReference | ModelArmorFloorsettingFilterConfig): any;
export declare class ModelArmorFloorsettingFilterConfigOutputReference 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(): ModelArmorFloorsettingFilterConfig | undefined;
    set internalValue(value: ModelArmorFloorsettingFilterConfig | undefined);
    private _maliciousUriFilterSettings;
    get maliciousUriFilterSettings(): ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettingsOutputReference;
    putMaliciousUriFilterSettings(value: ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings): void;
    resetMaliciousUriFilterSettings(): void;
    get maliciousUriFilterSettingsInput(): ModelArmorFloorsettingFilterConfigMaliciousUriFilterSettings | undefined;
    private _piAndJailbreakFilterSettings;
    get piAndJailbreakFilterSettings(): ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettingsOutputReference;
    putPiAndJailbreakFilterSettings(value: ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings): void;
    resetPiAndJailbreakFilterSettings(): void;
    get piAndJailbreakFilterSettingsInput(): ModelArmorFloorsettingFilterConfigPiAndJailbreakFilterSettings | undefined;
    private _raiSettings;
    get raiSettings(): ModelArmorFloorsettingFilterConfigRaiSettingsOutputReference;
    putRaiSettings(value: ModelArmorFloorsettingFilterConfigRaiSettings): void;
    resetRaiSettings(): void;
    get raiSettingsInput(): ModelArmorFloorsettingFilterConfigRaiSettings | undefined;
    private _sdpSettings;
    get sdpSettings(): ModelArmorFloorsettingFilterConfigSdpSettingsOutputReference;
    putSdpSettings(value: ModelArmorFloorsettingFilterConfigSdpSettings): void;
    resetSdpSettings(): void;
    get sdpSettingsInput(): ModelArmorFloorsettingFilterConfigSdpSettings | undefined;
}
export interface ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection {
    /**
    * If true, multi language detection will be enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#enable_multi_language_detection ModelArmorFloorsetting#enable_multi_language_detection}
    */
    readonly enableMultiLanguageDetection: boolean | cdktf.IResolvable;
}
export declare function modelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionToTerraform(struct?: ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionOutputReference | ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection): any;
export declare function modelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionToHclTerraform(struct?: ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionOutputReference | ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection): any;
export declare class ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionOutputReference 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(): ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection | undefined;
    set internalValue(value: ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection | undefined);
    private _enableMultiLanguageDetection?;
    get enableMultiLanguageDetection(): boolean | cdktf.IResolvable;
    set enableMultiLanguageDetection(value: boolean | cdktf.IResolvable);
    get enableMultiLanguageDetectionInput(): boolean | cdktf.IResolvable | undefined;
}
export interface ModelArmorFloorsettingFloorSettingMetadata {
    /**
    * multi_language_detection block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#multi_language_detection ModelArmorFloorsetting#multi_language_detection}
    */
    readonly multiLanguageDetection?: ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection;
}
export declare function modelArmorFloorsettingFloorSettingMetadataToTerraform(struct?: ModelArmorFloorsettingFloorSettingMetadataOutputReference | ModelArmorFloorsettingFloorSettingMetadata): any;
export declare function modelArmorFloorsettingFloorSettingMetadataToHclTerraform(struct?: ModelArmorFloorsettingFloorSettingMetadataOutputReference | ModelArmorFloorsettingFloorSettingMetadata): any;
export declare class ModelArmorFloorsettingFloorSettingMetadataOutputReference 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(): ModelArmorFloorsettingFloorSettingMetadata | undefined;
    set internalValue(value: ModelArmorFloorsettingFloorSettingMetadata | undefined);
    private _multiLanguageDetection;
    get multiLanguageDetection(): ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetectionOutputReference;
    putMultiLanguageDetection(value: ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection): void;
    resetMultiLanguageDetection(): void;
    get multiLanguageDetectionInput(): ModelArmorFloorsettingFloorSettingMetadataMultiLanguageDetection | undefined;
}
export interface ModelArmorFloorsettingTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#create ModelArmorFloorsetting#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#delete ModelArmorFloorsetting#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#update ModelArmorFloorsetting#update}
    */
    readonly update?: string;
}
export declare function modelArmorFloorsettingTimeoutsToTerraform(struct?: ModelArmorFloorsettingTimeouts | cdktf.IResolvable): any;
export declare function modelArmorFloorsettingTimeoutsToHclTerraform(struct?: ModelArmorFloorsettingTimeouts | cdktf.IResolvable): any;
export declare class ModelArmorFloorsettingTimeoutsOutputReference 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(): ModelArmorFloorsettingTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: ModelArmorFloorsettingTimeouts | 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/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting google_model_armor_floorsetting}
*/
export declare class ModelArmorFloorsetting extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_model_armor_floorsetting";
    /**
    * Generates CDKTF code for importing a ModelArmorFloorsetting 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 ModelArmorFloorsetting to import
    * @param importFromId The id of the existing ModelArmorFloorsetting that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the ModelArmorFloorsetting 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/hashicorp/google/6.50.0/docs/resources/model_armor_floorsetting google_model_armor_floorsetting} 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 ModelArmorFloorsettingConfig
    */
    constructor(scope: Construct, id: string, config: ModelArmorFloorsettingConfig);
    get createTime(): string;
    private _enableFloorSettingEnforcement?;
    get enableFloorSettingEnforcement(): boolean | cdktf.IResolvable;
    set enableFloorSettingEnforcement(value: boolean | cdktf.IResolvable);
    resetEnableFloorSettingEnforcement(): void;
    get enableFloorSettingEnforcementInput(): boolean | cdktf.IResolvable | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _integratedServices?;
    get integratedServices(): string[];
    set integratedServices(value: string[]);
    resetIntegratedServices(): void;
    get integratedServicesInput(): string[] | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    get name(): string;
    private _parent?;
    get parent(): string;
    set parent(value: string);
    get parentInput(): string | undefined;
    get updateTime(): string;
    private _aiPlatformFloorSetting;
    get aiPlatformFloorSetting(): ModelArmorFloorsettingAiPlatformFloorSettingOutputReference;
    putAiPlatformFloorSetting(value: ModelArmorFloorsettingAiPlatformFloorSetting): void;
    resetAiPlatformFloorSetting(): void;
    get aiPlatformFloorSettingInput(): ModelArmorFloorsettingAiPlatformFloorSetting | undefined;
    private _filterConfig;
    get filterConfig(): ModelArmorFloorsettingFilterConfigOutputReference;
    putFilterConfig(value: ModelArmorFloorsettingFilterConfig): void;
    get filterConfigInput(): ModelArmorFloorsettingFilterConfig | undefined;
    private _floorSettingMetadata;
    get floorSettingMetadata(): ModelArmorFloorsettingFloorSettingMetadataOutputReference;
    putFloorSettingMetadata(value: ModelArmorFloorsettingFloorSettingMetadata): void;
    resetFloorSettingMetadata(): void;
    get floorSettingMetadataInput(): ModelArmorFloorsettingFloorSettingMetadata | undefined;
    private _timeouts;
    get timeouts(): ModelArmorFloorsettingTimeoutsOutputReference;
    putTimeouts(value: ModelArmorFloorsettingTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | ModelArmorFloorsettingTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
