/* eslint-disable */ import { Contract, ContractTransaction } from "ethers" export type Falsy = false | 0 | '' | null | undefined export type TypedContract = Contract & { functions: Record any>, filters: Record any> } export type ContractFunctionNames = keyof { [P in keyof T['functions'] as ReturnType extends Promise ? P : never] : void } & string export type ContractMethodNames = keyof { [P in keyof T['functions'] as ReturnType extends Promise ? P : never]: void } & string export type ContractEventNames = keyof { [P in keyof T['filters']]: void } & string export type Params | ContractMethodNames> = Parameters export type EventParams> = Parameters export type EventRecord> = { [P in keyof EventParams as string]: any } export type DetailedEventRecord> = { data: EventRecord, blockNumber: number, blockHash: string, transactionIndex: number, transactionHash: string, removed: boolean, } export type Awaited = T extends PromiseLike ? U : T