import { Web3EventCallback, Web3EventEmitter, Web3EventKey, Web3EventMap } from "./promiEventEmitter"; export type PromiseExecutor = (resolve: (data: T) => void, reject: (reason: unknown) => void) => void; export declare class Web3PromiEvent extends Web3EventEmitter implements Promise { private readonly _promise; constructor(executor: PromiseExecutor); [Symbol.toStringTag]: "Promise"; then(onfulfilled?: ((value: ResolveType) => TResult1 | PromiseLike) | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike) | undefined): Promise; catch(onrejected?: ((reason: unknown) => TResult | PromiseLike) | undefined): Promise; finally(onfinally?: (() => void) | undefined): Promise; on>(eventName: K, fn: Web3EventCallback): this; once>(eventName: K, fn: Web3EventCallback): this; }