declare namespace Chai { interface Assertion extends LanguageChains , NumericComparison , TypeComparison { reverted : AsyncAssertion ; revertedWith ( reason ) : AsyncAssertion ; emit ( contract , eventName ) : EmitAssertion ; properHex : void ; properAddress : void ; changeBalance ( account , balance , options ? ) : AsyncAssertion ; changeBalances ( accounts , balances , options ? ) : AsyncAssertion ; changeTokenBalance ( token , account , balance ) : AsyncAssertion ; changeTokenBalances ( token , accounts , balances ) : AsyncAssertion ; calledOnContract ( contract ) : void ; calledOnContractWith ( contract , parameters ) : void ; } interface NumberComparer { ( value , message ? ) : Assertion ; } interface AsyncAssertion extends Assertion , Promise < void > { } interface EmitAssertion extends AsyncAssertion { withArgs ( ... args ) : AsyncAssertion ; } }