UNPKG

1.2 kBPlain TextView Raw
1/* Autogenerated file. Do not edit manually. */
2/* tslint:disable */
3/* eslint-disable */
4import type { Listener } from "@ethersproject/providers";
5import type { Event, EventFilter } from "ethers";
6
7export interface TypedEvent<
8 TArgsArray extends Array<any> = any,
9 TArgsObject = any
10> extends Event {
11 args: TArgsArray & TArgsObject;
12}
13
14export interface TypedEventFilter<_TEvent extends TypedEvent>
15 extends EventFilter {}
16
17export interface TypedListener<TEvent extends TypedEvent> {
18 (...listenerArg: [...__TypechainArgsArray<TEvent>, TEvent]): void;
19}
20
21type __TypechainArgsArray<T> = T extends TypedEvent<infer U> ? U : never;
22
23export interface OnEvent<TRes> {
24 <TEvent extends TypedEvent>(
25 eventFilter: TypedEventFilter<TEvent>,
26 listener: TypedListener<TEvent>
27 ): TRes;
28 (eventName: string, listener: Listener): TRes;
29}
30
31export type MinEthersFactory<C, ARGS> = {
32 deploy(...a: ARGS[]): Promise<C>;
33};
34
35export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<
36 infer C,
37 any
38>
39 ? C
40 : never;
41
42export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any>
43 ? Parameters<F["deploy"]>
44 : never;
45
46export type PromiseOrValue<T> = T | Promise<T>;