import { EventFilter, Event } from "ethers"; import { Result } from "@ethersproject/abi"; export interface TypedEventFilter<_EventArgsArray, _EventArgsObject> extends EventFilter {} export interface TypedEvent extends Event { args: EventArgs; } export declare type TypedListener< EventArgsArray extends Array, EventArgsObject > = ( ...listenerArg: [ ...EventArgsArray, TypedEvent ] ) => void; export declare type MinEthersFactory = { deploy(...a: ARGS[]): Promise; }; export declare type GetContractTypeFromFactory = F extends MinEthersFactory< infer C, any > ? C : never; export declare type GetARGsTypeFromFactory = F extends MinEthersFactory< any, any > ? Parameters : never;