@baking-bad/tezos-etherlink-bridge-sdk
Version:
SDK designed for building token bridge applications between Tezos (L1) and Etherlink (L2)
15 lines (14 loc) • 751 B
TypeScript
export interface PublicEventEmitter<T extends readonly unknown[]> {
addListener(listener: (...args: T) => void): this;
removeListener(listener: (...args: T) => void): this;
removeAllListeners(): this;
}
export declare class EventEmitter<T extends readonly unknown[]> implements PublicEventEmitter<T> {
private listeners;
addListener(listener: (...args: T) => void): this;
removeListener(listener: (...args: T) => void): this;
removeAllListeners(): this;
emit(...args: T): void;
}
export type ToEventEmitter<T> = T extends PublicEventEmitter<infer TArgs> ? EventEmitter<TArgs> : never;
export type ToEventEmitters<T> = T extends Record<infer K, PublicEventEmitter<infer TArgs>> ? Record<K, EventEmitter<TArgs>> : never;