/* eslint-disable @typescript-eslint/no-namespace */
/* eslint-disable @typescript-eslint/no-unused-vars */
/* eslint-disable no-use-before-define */
/* eslint-disable @typescript-eslint/method-signature-style */
// maybe import chai types here
declare namespace Chai {
interface Assertion
extends LanguageChains, NumericComparison, TypeComparison {
reverted(): AsyncAssertion
revertedWith(revertReason: string): AsyncAssertion
respondWith(responseMessage: any): AsyncAssertion // eslint-disable-line @typescript-eslint/no-explicit-any
properHex(length: number): void
properAddress(): void
properSecretAddress(): void
changeScrtBalance(
account: string, balanceChange: number, includeFee?: boolean, logResponse?: boolean
): AsyncAssertion
changeTokenBalance(
account: string, token: string, balanceChange: number, logResponse?: boolean
): AsyncAssertion
changeTokenBalances(
accounts: string[], token: string, balanceChanges: number[], logResponse?: boolean
): AsyncAssertion
}
interface AsyncAssertion extends Assertion, Promise {}
interface EmitAssertion extends AsyncAssertion {
withArgs(...args: any[]): AsyncAssertion // eslint-disable-line @typescript-eslint/no-explicit-any
}
}