"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnRule=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cfn_element_1=()=>{var tmp=require("./cfn-element");return cfn_element_1=()=>tmp,tmp},util_1=()=>{var tmp=require("./util");return util_1=()=>tmp,tmp};class CfnRule extends cfn_element_1().CfnRefElement{constructor(scope,id,props){super(scope,id);try{jsiiDeprecationWarnings().aws_cdk_lib_CfnRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRule),error}this.ruleCondition=props&&props.ruleCondition,this.assertions=props&&props.assertions}addAssertion(condition,description){try{jsiiDeprecationWarnings().aws_cdk_lib_ICfnConditionExpression(condition)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.addAssertion),error}this.assertions||(this.assertions=[]),this.assertions.push({assert:condition,assertDescription:description})}_toCloudFormation(){return{Rules:{[this.logicalId]:{RuleCondition:this.ruleCondition,Assertions:(0,util_1().capitalizePropertyNames)(this,this.assertions)}}}}}exports.CfnRule=CfnRule,_a=JSII_RTTI_SYMBOL_1,CfnRule[_a]={fqn:"aws-cdk-lib.CfnRule",version:"2.159.0"};
