/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface SecurityposturePostureConfig extends cdktf.TerraformMetaArguments {
    /**
    * Description of the posture.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#id SecurityposturePosture#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;
    /**
    * Location of the resource, eg: global.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#location SecurityposturePosture#location}
    */
    readonly location: string;
    /**
    * The parent of the resource, an organization. Format should be 'organizations/{organization_id}'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#parent SecurityposturePosture#parent}
    */
    readonly parent: string;
    /**
    * Id of the posture. It is an immutable field.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#posture_id SecurityposturePosture#posture_id}
    */
    readonly postureId: string;
    /**
    * State of the posture. Update to state field should not be triggered along with
    * with other field updates. Possible values: ["DEPRECATED", "DRAFT", "ACTIVE"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#state SecurityposturePosture#state}
    */
    readonly state: string;
    /**
    * policy_sets block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policy_sets SecurityposturePosture#policy_sets}
    */
    readonly policySets: SecurityposturePosturePolicySets[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#timeouts SecurityposturePosture#timeouts}
    */
    readonly timeouts?: SecurityposturePostureTimeouts;
}
export interface SecurityposturePosturePolicySetsPoliciesComplianceStandards {
    /**
    * Mapping of security controls for the policy.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#control SecurityposturePosture#control}
    */
    readonly control?: string;
    /**
    * Mapping of compliance standards for the policy.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#standard SecurityposturePosture#standard}
    */
    readonly standard?: string;
}
export declare function securityposturePosturePolicySetsPoliciesComplianceStandardsToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesComplianceStandards | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsPoliciesComplianceStandardsToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesComplianceStandards | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsPoliciesComplianceStandardsOutputReference 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(): SecurityposturePosturePolicySetsPoliciesComplianceStandards | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesComplianceStandards | cdktf.IResolvable | undefined);
    private _control?;
    get control(): string;
    set control(value: string);
    resetControl(): void;
    get controlInput(): string | undefined;
    private _standard?;
    get standard(): string;
    set standard(value: string);
    resetStandard(): void;
    get standardInput(): string | undefined;
}
export declare class SecurityposturePosturePolicySetsPoliciesComplianceStandardsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySetsPoliciesComplianceStandards[] | 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): SecurityposturePosturePolicySetsPoliciesComplianceStandardsOutputReference;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition {
    /**
    * Description of the expression
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * Textual representation of an expression in Common Expression Language syntax.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#expression SecurityposturePosture#expression}
    */
    readonly expression: string;
    /**
    * String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#location SecurityposturePosture#location}
    */
    readonly location?: string;
    /**
    * Title for the expression, i.e. a short string describing its purpose.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#title SecurityposturePosture#title}
    */
    readonly title?: string;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _expression?;
    get expression(): string;
    set expression(value: string);
    get expressionInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _title?;
    get title(): string;
    set title(value: string);
    resetTitle(): void;
    get titleInput(): string | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues {
    /**
    * List of values allowed at this resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#allowed_values SecurityposturePosture#allowed_values}
    */
    readonly allowedValues?: string[];
    /**
    * List of values denied at this resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#denied_values SecurityposturePosture#denied_values}
    */
    readonly deniedValues?: string[];
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues | undefined);
    private _allowedValues?;
    get allowedValues(): string[];
    set allowedValues(value: string[]);
    resetAllowedValues(): void;
    get allowedValuesInput(): string[] | undefined;
    private _deniedValues?;
    get deniedValues(): string[];
    set deniedValues(value: string[]);
    resetDeniedValues(): void;
    get deniedValuesInput(): string[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules {
    /**
    * Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#allow_all SecurityposturePosture#allow_all}
    */
    readonly allowAll?: boolean | cdktf.IResolvable;
    /**
    * Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#deny_all SecurityposturePosture#deny_all}
    */
    readonly denyAll?: boolean | cdktf.IResolvable;
    /**
    * If 'true', then the policy is enforced. If 'false', then any configuration is acceptable.
    * This field can be set only in policies for boolean constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#enforce SecurityposturePosture#enforce}
    */
    readonly enforce?: boolean | cdktf.IResolvable;
    /**
    * condition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#condition SecurityposturePosture#condition}
    */
    readonly condition?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition;
    /**
    * values block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#values SecurityposturePosture#values}
    */
    readonly values?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules | cdktf.IResolvable | undefined);
    private _allowAll?;
    get allowAll(): boolean | cdktf.IResolvable;
    set allowAll(value: boolean | cdktf.IResolvable);
    resetAllowAll(): void;
    get allowAllInput(): boolean | cdktf.IResolvable | undefined;
    private _denyAll?;
    get denyAll(): boolean | cdktf.IResolvable;
    set denyAll(value: boolean | cdktf.IResolvable);
    resetDenyAll(): void;
    get denyAllInput(): boolean | cdktf.IResolvable | undefined;
    private _enforce?;
    get enforce(): boolean | cdktf.IResolvable;
    set enforce(value: boolean | cdktf.IResolvable);
    resetEnforce(): void;
    get enforceInput(): boolean | cdktf.IResolvable | undefined;
    private _condition;
    get condition(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesConditionOutputReference;
    putCondition(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition): void;
    resetCondition(): void;
    get conditionInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesCondition | undefined;
    private _values;
    get values(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValuesOutputReference;
    putValues(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues): void;
    resetValues(): void;
    get valuesInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesValues | undefined;
}
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules[] | 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): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesOutputReference;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint {
    /**
    * Organization policy canned constraint Id
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#canned_constraint_id SecurityposturePosture#canned_constraint_id}
    */
    readonly cannedConstraintId: string;
    /**
    * policy_rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policy_rules SecurityposturePosture#policy_rules}
    */
    readonly policyRules: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules[] | cdktf.IResolvable;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint | undefined);
    private _cannedConstraintId?;
    get cannedConstraintId(): string;
    set cannedConstraintId(value: string);
    get cannedConstraintIdInput(): string | undefined;
    private _policyRules;
    get policyRules(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRulesList;
    putPolicyRules(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules[] | cdktf.IResolvable): void;
    get policyRulesInput(): cdktf.IResolvable | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintPolicyRules[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint {
    /**
    * The action to take if the condition is met. Possible values: ["ALLOW", "DENY"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#action_type SecurityposturePosture#action_type}
    */
    readonly actionType: string;
    /**
    * A CEL condition that refers to a supported service resource, for example 'resource.management.autoUpgrade == false'. For details about CEL usage, see [Common Expression Language](https://cloud.google.com/resource-manager/docs/organization-policy/creating-managing-custom-constraints#common_expression_language).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#condition SecurityposturePosture#condition}
    */
    readonly condition: string;
    /**
    * A human-friendly description of the constraint to display as an error message when the policy is violated.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * A human-friendly name for the constraint.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#display_name SecurityposturePosture#display_name}
    */
    readonly displayName?: string;
    /**
    * A list of RESTful methods for which to enforce the constraint. Can be 'CREATE', 'UPDATE', or both. Not all Google Cloud services support both methods. To see supported methods for each service, find the service in [Supported services](https://cloud.google.com/resource-manager/docs/organization-policy/custom-constraint-supported-services).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#method_types SecurityposturePosture#method_types}
    */
    readonly methodTypes: string[];
    /**
    * Immutable. The name of the custom constraint. This is unique within the organization.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#name SecurityposturePosture#name}
    */
    readonly name: string;
    /**
    * Immutable. The fully qualified name of the Google Cloud REST resource containing the object and field you want to restrict. For example, 'container.googleapis.com/NodePool'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#resource_types SecurityposturePosture#resource_types}
    */
    readonly resourceTypes: string[];
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint | undefined);
    private _actionType?;
    get actionType(): string;
    set actionType(value: string);
    get actionTypeInput(): string | undefined;
    private _condition?;
    get condition(): string;
    set condition(value: string);
    get conditionInput(): 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);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    private _methodTypes?;
    get methodTypes(): string[];
    set methodTypes(value: string[]);
    get methodTypesInput(): string[] | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _resourceTypes?;
    get resourceTypes(): string[];
    set resourceTypes(value: string[]);
    get resourceTypesInput(): string[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition {
    /**
    * Description of the expression
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * Textual representation of an expression in Common Expression Language syntax.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#expression SecurityposturePosture#expression}
    */
    readonly expression: string;
    /**
    * String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#location SecurityposturePosture#location}
    */
    readonly location?: string;
    /**
    * Title for the expression, i.e. a short string describing its purpose.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#title SecurityposturePosture#title}
    */
    readonly title?: string;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _expression?;
    get expression(): string;
    set expression(value: string);
    get expressionInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _title?;
    get title(): string;
    set title(value: string);
    resetTitle(): void;
    get titleInput(): string | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues {
    /**
    * List of values allowed at this resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#allowed_values SecurityposturePosture#allowed_values}
    */
    readonly allowedValues?: string[];
    /**
    * List of values denied at this resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#denied_values SecurityposturePosture#denied_values}
    */
    readonly deniedValues?: string[];
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues | undefined);
    private _allowedValues?;
    get allowedValues(): string[];
    set allowedValues(value: string[]);
    resetAllowedValues(): void;
    get allowedValuesInput(): string[] | undefined;
    private _deniedValues?;
    get deniedValues(): string[];
    set deniedValues(value: string[]);
    resetDeniedValues(): void;
    get deniedValuesInput(): string[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules {
    /**
    * Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#allow_all SecurityposturePosture#allow_all}
    */
    readonly allowAll?: boolean | cdktf.IResolvable;
    /**
    * Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#deny_all SecurityposturePosture#deny_all}
    */
    readonly denyAll?: boolean | cdktf.IResolvable;
    /**
    * If 'true', then the policy is enforced. If 'false', then any configuration is acceptable.
    * This field can be set only in policies for boolean constraints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#enforce SecurityposturePosture#enforce}
    */
    readonly enforce?: boolean | cdktf.IResolvable;
    /**
    * condition block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#condition SecurityposturePosture#condition}
    */
    readonly condition?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition;
    /**
    * values block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#values SecurityposturePosture#values}
    */
    readonly values?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules | cdktf.IResolvable | undefined);
    private _allowAll?;
    get allowAll(): boolean | cdktf.IResolvable;
    set allowAll(value: boolean | cdktf.IResolvable);
    resetAllowAll(): void;
    get allowAllInput(): boolean | cdktf.IResolvable | undefined;
    private _denyAll?;
    get denyAll(): boolean | cdktf.IResolvable;
    set denyAll(value: boolean | cdktf.IResolvable);
    resetDenyAll(): void;
    get denyAllInput(): boolean | cdktf.IResolvable | undefined;
    private _enforce?;
    get enforce(): boolean | cdktf.IResolvable;
    set enforce(value: boolean | cdktf.IResolvable);
    resetEnforce(): void;
    get enforceInput(): boolean | cdktf.IResolvable | undefined;
    private _condition;
    get condition(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesConditionOutputReference;
    putCondition(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition): void;
    resetCondition(): void;
    get conditionInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesCondition | undefined;
    private _values;
    get values(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValuesOutputReference;
    putValues(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues): void;
    resetValues(): void;
    get valuesInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesValues | undefined;
}
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules[] | 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): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesOutputReference;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom {
    /**
    * custom_constraint block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#custom_constraint SecurityposturePosture#custom_constraint}
    */
    readonly customConstraint?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint;
    /**
    * policy_rules block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policy_rules SecurityposturePosture#policy_rules}
    */
    readonly policyRules: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules[] | cdktf.IResolvable;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom | undefined);
    private _customConstraint;
    get customConstraint(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraintOutputReference;
    putCustomConstraint(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint): void;
    resetCustomConstraint(): void;
    get customConstraintInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomCustomConstraint | undefined;
    private _policyRules;
    get policyRules(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRulesList;
    putPolicyRules(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules[] | cdktf.IResolvable): void;
    get policyRulesInput(): cdktf.IResolvable | SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomPolicyRules[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression {
    /**
    * Description of the expression
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * Textual representation of an expression in Common Expression Language syntax.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#expression SecurityposturePosture#expression}
    */
    readonly expression: string;
    /**
    * String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#location SecurityposturePosture#location}
    */
    readonly location?: string;
    /**
    * Title for the expression, i.e. a short string describing its purpose.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#title SecurityposturePosture#title}
    */
    readonly title?: string;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _expression?;
    get expression(): string;
    set expression(value: string);
    get expressionInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _title?;
    get title(): string;
    set title(value: string);
    resetTitle(): void;
    get titleInput(): string | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties {
    /**
    * Name of the property for the custom output.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#name SecurityposturePosture#name}
    */
    readonly name: string;
    /**
    * value_expression block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#value_expression SecurityposturePosture#value_expression}
    */
    readonly valueExpression?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _valueExpression;
    get valueExpression(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpressionOutputReference;
    putValueExpression(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression): void;
    resetValueExpression(): void;
    get valueExpressionInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesValueExpression | undefined;
}
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties[] | 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): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesOutputReference;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput {
    /**
    * properties block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#properties SecurityposturePosture#properties}
    */
    readonly properties?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties[] | cdktf.IResolvable;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput | undefined);
    private _properties;
    get properties(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertiesList;
    putProperties(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties[] | cdktf.IResolvable): void;
    resetProperties(): void;
    get propertiesInput(): cdktf.IResolvable | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperties[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate {
    /**
    * Description of the expression
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * Textual representation of an expression in Common Expression Language syntax.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#expression SecurityposturePosture#expression}
    */
    readonly expression: string;
    /**
    * String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#location SecurityposturePosture#location}
    */
    readonly location?: string;
    /**
    * Title for the expression, i.e. a short string describing its purpose.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#title SecurityposturePosture#title}
    */
    readonly title?: string;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _expression?;
    get expression(): string;
    set expression(value: string);
    get expressionInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    resetLocation(): void;
    get locationInput(): string | undefined;
    private _title?;
    get title(): string;
    set title(value: string);
    resetTitle(): void;
    get titleInput(): string | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector {
    /**
    * The resource types to run the detector on.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#resource_types SecurityposturePosture#resource_types}
    */
    readonly resourceTypes: string[];
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector | undefined);
    private _resourceTypes?;
    get resourceTypes(): string[];
    set resourceTypes(value: string[]);
    get resourceTypesInput(): string[] | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig {
    /**
    * Text that describes the vulnerability or misconfiguration that the custom
    * module detects.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * An explanation of the recommended steps that security teams can take to
    * resolve the detected issue
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#recommendation SecurityposturePosture#recommendation}
    */
    readonly recommendation?: string;
    /**
    * The severity to assign to findings generated by the module. Possible values: ["SEVERITY_UNSPECIFIED", "CRITICAL", "HIGH", "MEDIUM", "LOW"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#severity SecurityposturePosture#severity}
    */
    readonly severity: string;
    /**
    * custom_output block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#custom_output SecurityposturePosture#custom_output}
    */
    readonly customOutput?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput;
    /**
    * predicate block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#predicate SecurityposturePosture#predicate}
    */
    readonly predicate: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate;
    /**
    * resource_selector block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#resource_selector SecurityposturePosture#resource_selector}
    */
    readonly resourceSelector: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _recommendation?;
    get recommendation(): string;
    set recommendation(value: string);
    resetRecommendation(): void;
    get recommendationInput(): string | undefined;
    private _severity?;
    get severity(): string;
    set severity(value: string);
    get severityInput(): string | undefined;
    private _customOutput;
    get customOutput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputOutputReference;
    putCustomOutput(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput): void;
    resetCustomOutput(): void;
    get customOutputInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput | undefined;
    private _predicate;
    get predicate(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateOutputReference;
    putPredicate(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate): void;
    get predicateInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate | undefined;
    private _resourceSelector;
    get resourceSelector(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorOutputReference;
    putResourceSelector(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector): void;
    get resourceSelectorInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule {
    /**
    * The display name of the Security Health Analytics custom module. This
    * display name becomes the finding category for all findings that are
    * returned by this custom module.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#display_name SecurityposturePosture#display_name}
    */
    readonly displayName?: string;
    /**
    * The state of enablement for the module at its level of the resource hierarchy. Possible values: ["ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#module_enablement_state SecurityposturePosture#module_enablement_state}
    */
    readonly moduleEnablementState?: string;
    /**
    * config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#config SecurityposturePosture#config}
    */
    readonly config: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule | undefined);
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    resetDisplayName(): void;
    get displayNameInput(): string | undefined;
    get id(): string;
    private _moduleEnablementState?;
    get moduleEnablementState(): string;
    set moduleEnablementState(value: string);
    resetModuleEnablementState(): void;
    get moduleEnablementStateInput(): string | undefined;
    private _config;
    get config(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfigOutputReference;
    putConfig(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig): void;
    get configInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleConfig | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule {
    /**
    * The state of enablement for the module at its level of the resource hierarchy. Possible values: ["ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#module_enablement_state SecurityposturePosture#module_enablement_state}
    */
    readonly moduleEnablementState?: string;
    /**
    * The name of the module eg: BIGQUERY_TABLE_CMEK_DISABLED.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#module_name SecurityposturePosture#module_name}
    */
    readonly moduleName: string;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleOutputReference | SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule | undefined);
    private _moduleEnablementState?;
    get moduleEnablementState(): string;
    set moduleEnablementState(value: string);
    resetModuleEnablementState(): void;
    get moduleEnablementStateInput(): string | undefined;
    private _moduleName?;
    get moduleName(): string;
    set moduleName(value: string);
    get moduleNameInput(): string | undefined;
}
export interface SecurityposturePosturePolicySetsPoliciesConstraint {
    /**
    * org_policy_constraint block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#org_policy_constraint SecurityposturePosture#org_policy_constraint}
    */
    readonly orgPolicyConstraint?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint;
    /**
    * org_policy_constraint_custom block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#org_policy_constraint_custom SecurityposturePosture#org_policy_constraint_custom}
    */
    readonly orgPolicyConstraintCustom?: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom;
    /**
    * security_health_analytics_custom_module block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#security_health_analytics_custom_module SecurityposturePosture#security_health_analytics_custom_module}
    */
    readonly securityHealthAnalyticsCustomModule?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule;
    /**
    * security_health_analytics_module block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#security_health_analytics_module SecurityposturePosture#security_health_analytics_module}
    */
    readonly securityHealthAnalyticsModule?: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule;
}
export declare function securityposturePosturePolicySetsPoliciesConstraintToTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraint): any;
export declare function securityposturePosturePolicySetsPoliciesConstraintToHclTerraform(struct?: SecurityposturePosturePolicySetsPoliciesConstraintOutputReference | SecurityposturePosturePolicySetsPoliciesConstraint): any;
export declare class SecurityposturePosturePolicySetsPoliciesConstraintOutputReference 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(): SecurityposturePosturePolicySetsPoliciesConstraint | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPoliciesConstraint | undefined);
    private _orgPolicyConstraint;
    get orgPolicyConstraint(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintOutputReference;
    putOrgPolicyConstraint(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint): void;
    resetOrgPolicyConstraint(): void;
    get orgPolicyConstraintInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraint | undefined;
    private _orgPolicyConstraintCustom;
    get orgPolicyConstraintCustom(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustomOutputReference;
    putOrgPolicyConstraintCustom(value: SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom): void;
    resetOrgPolicyConstraintCustom(): void;
    get orgPolicyConstraintCustomInput(): SecurityposturePosturePolicySetsPoliciesConstraintOrgPolicyConstraintCustom | undefined;
    private _securityHealthAnalyticsCustomModule;
    get securityHealthAnalyticsCustomModule(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModuleOutputReference;
    putSecurityHealthAnalyticsCustomModule(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule): void;
    resetSecurityHealthAnalyticsCustomModule(): void;
    get securityHealthAnalyticsCustomModuleInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsCustomModule | undefined;
    private _securityHealthAnalyticsModule;
    get securityHealthAnalyticsModule(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModuleOutputReference;
    putSecurityHealthAnalyticsModule(value: SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule): void;
    resetSecurityHealthAnalyticsModule(): void;
    get securityHealthAnalyticsModuleInput(): SecurityposturePosturePolicySetsPoliciesConstraintSecurityHealthAnalyticsModule | undefined;
}
export interface SecurityposturePosturePolicySetsPolicies {
    /**
    * Description of the policy.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * ID of the policy.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policy_id SecurityposturePosture#policy_id}
    */
    readonly policyId: string;
    /**
    * compliance_standards block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#compliance_standards SecurityposturePosture#compliance_standards}
    */
    readonly complianceStandards?: SecurityposturePosturePolicySetsPoliciesComplianceStandards[] | cdktf.IResolvable;
    /**
    * constraint block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#constraint SecurityposturePosture#constraint}
    */
    readonly constraint: SecurityposturePosturePolicySetsPoliciesConstraint;
}
export declare function securityposturePosturePolicySetsPoliciesToTerraform(struct?: SecurityposturePosturePolicySetsPolicies | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsPoliciesToHclTerraform(struct?: SecurityposturePosturePolicySetsPolicies | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsPoliciesOutputReference 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(): SecurityposturePosturePolicySetsPolicies | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySetsPolicies | cdktf.IResolvable | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _policyId?;
    get policyId(): string;
    set policyId(value: string);
    get policyIdInput(): string | undefined;
    private _complianceStandards;
    get complianceStandards(): SecurityposturePosturePolicySetsPoliciesComplianceStandardsList;
    putComplianceStandards(value: SecurityposturePosturePolicySetsPoliciesComplianceStandards[] | cdktf.IResolvable): void;
    resetComplianceStandards(): void;
    get complianceStandardsInput(): cdktf.IResolvable | SecurityposturePosturePolicySetsPoliciesComplianceStandards[] | undefined;
    private _constraint;
    get constraint(): SecurityposturePosturePolicySetsPoliciesConstraintOutputReference;
    putConstraint(value: SecurityposturePosturePolicySetsPoliciesConstraint): void;
    get constraintInput(): SecurityposturePosturePolicySetsPoliciesConstraint | undefined;
}
export declare class SecurityposturePosturePolicySetsPoliciesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySetsPolicies[] | 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): SecurityposturePosturePolicySetsPoliciesOutputReference;
}
export interface SecurityposturePosturePolicySets {
    /**
    * Description of the policy set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#description SecurityposturePosture#description}
    */
    readonly description?: string;
    /**
    * ID of the policy set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policy_set_id SecurityposturePosture#policy_set_id}
    */
    readonly policySetId: string;
    /**
    * policies block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#policies SecurityposturePosture#policies}
    */
    readonly policies: SecurityposturePosturePolicySetsPolicies[] | cdktf.IResolvable;
}
export declare function securityposturePosturePolicySetsToTerraform(struct?: SecurityposturePosturePolicySets | cdktf.IResolvable): any;
export declare function securityposturePosturePolicySetsToHclTerraform(struct?: SecurityposturePosturePolicySets | cdktf.IResolvable): any;
export declare class SecurityposturePosturePolicySetsOutputReference 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(): SecurityposturePosturePolicySets | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePosturePolicySets | cdktf.IResolvable | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _policySetId?;
    get policySetId(): string;
    set policySetId(value: string);
    get policySetIdInput(): string | undefined;
    private _policies;
    get policies(): SecurityposturePosturePolicySetsPoliciesList;
    putPolicies(value: SecurityposturePosturePolicySetsPolicies[] | cdktf.IResolvable): void;
    get policiesInput(): cdktf.IResolvable | SecurityposturePosturePolicySetsPolicies[] | undefined;
}
export declare class SecurityposturePosturePolicySetsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SecurityposturePosturePolicySets[] | 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): SecurityposturePosturePolicySetsOutputReference;
}
export interface SecurityposturePostureTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#create SecurityposturePosture#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#delete SecurityposturePosture#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#update SecurityposturePosture#update}
    */
    readonly update?: string;
}
export declare function securityposturePostureTimeoutsToTerraform(struct?: SecurityposturePostureTimeouts | cdktf.IResolvable): any;
export declare function securityposturePostureTimeoutsToHclTerraform(struct?: SecurityposturePostureTimeouts | cdktf.IResolvable): any;
export declare class SecurityposturePostureTimeoutsOutputReference 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(): SecurityposturePostureTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: SecurityposturePostureTimeouts | 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.36.1/docs/resources/securityposture_posture google_securityposture_posture}
*/
export declare class SecurityposturePosture extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_securityposture_posture";
    /**
    * Generates CDKTF code for importing a SecurityposturePosture 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 SecurityposturePosture to import
    * @param importFromId The id of the existing SecurityposturePosture that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/securityposture_posture#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the SecurityposturePosture 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.36.1/docs/resources/securityposture_posture google_securityposture_posture} 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 SecurityposturePostureConfig
    */
    constructor(scope: Construct, id: string, config: SecurityposturePostureConfig);
    get createTime(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    get etag(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): 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;
    private _postureId?;
    get postureId(): string;
    set postureId(value: string);
    get postureIdInput(): string | undefined;
    get reconciling(): cdktf.IResolvable;
    get revisionId(): string;
    private _state?;
    get state(): string;
    set state(value: string);
    get stateInput(): string | undefined;
    get updateTime(): string;
    private _policySets;
    get policySets(): SecurityposturePosturePolicySetsList;
    putPolicySets(value: SecurityposturePosturePolicySets[] | cdktf.IResolvable): void;
    get policySetsInput(): cdktf.IResolvable | SecurityposturePosturePolicySets[] | undefined;
    private _timeouts;
    get timeouts(): SecurityposturePostureTimeoutsOutputReference;
    putTimeouts(value: SecurityposturePostureTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | SecurityposturePostureTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
