import { BigNumber, Contract, ContractTransaction } from 'ethers'; import { Interface } from 'ethers/lib/utils'; export declare function assertAlmostEqual(actual: BigNumber, expected: BigNumber, error: number): void; export declare function assertEvent(tx: ContractTransaction, eventName: string, eventArgs?: {}): Promise; export declare function assertIndirectEvent(tx: ContractTransaction, emitter: Interface, eventName: string, eventArgs?: {}): Promise; export declare function assertNoEvent(tx: ContractTransaction, eventName: string): Promise; export declare function assertNoIndirectEvent(tx: ContractTransaction, emitter: Interface, eventName: string): Promise; export declare type NAry = N | N[]; export declare type PermissionAssertion = { name: string; roles: string[]; account: NAry<{ address: string; } | string>; }; export declare function assertPermissions(target: Contract, assertions: PermissionAssertion[]): Promise;