"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Expiration=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class Expiration{static atDate(d){return new Expiration(d)}static atTimestamp(t){return Expiration.atDate(new Date(t))}static after(t){try{jsiiDeprecationWarnings().aws_cdk_lib_Duration(t)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.after),error}return Expiration.atDate(new Date(Date.now()+t.toMilliseconds()))}static fromString(s){return new Expiration(new Date(s))}constructor(date){this.date=date}toEpoch(){return Math.round(this.date.getTime()/1e3)}isBefore(t){try{jsiiDeprecationWarnings().aws_cdk_lib_Duration(t)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.isBefore),error}return this.date<new Date(Date.now()+t.toMilliseconds())}isAfter(t){try{jsiiDeprecationWarnings().aws_cdk_lib_Duration(t)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.isAfter),error}return this.date>new Date(Date.now()+t.toMilliseconds())}}exports.Expiration=Expiration,_a=JSII_RTTI_SYMBOL_1,Expiration[_a]={fqn:"aws-cdk-lib.Expiration",version:"2.159.0"};
