movex-core-util
Version:
Movex Core Util is the library of utilities for Movex
13 lines (12 loc) • 888 B
TypeScript
import type { EventMap } from 'typed-emitter';
import type { EmptyFn } from '../core-types';
export declare const emptyFn: EmptyFn;
export interface EventEmitter<TEventMap extends EventMap> {
on<E extends keyof TEventMap>(event: E, listener: (p: Parameters<TEventMap[E]>[0], ack?: (r: ReturnType<TEventMap[E]>) => void) => void): this;
off<E extends keyof TEventMap>(event: E, listener: (p: Parameters<TEventMap[E]>[0], ack?: (r: ReturnType<TEventMap[E]>) => void) => void): this;
emit<E extends keyof TEventMap>(event: E, request: Parameters<TEventMap[E]>[0], acknowledgeCb?: (response: ReturnType<TEventMap[E]>) => void): boolean;
emitAndAcknowledge<E extends keyof TEventMap>(event: E, request: Parameters<TEventMap[E]>[0]): Promise<ReturnType<TEventMap[E]>>;
disconnect(): void;
onConnect(fn: () => void): EmptyFn;
onDisconnect(fn: () => void): EmptyFn;
}