UNPKG

547 BTypeScriptView Raw
1import { Observable } from 'rxjs';
2declare type O = Record<string, unknown>;
3export declare type Event<P extends O = any> = {
4 type: string;
5 payload: P;
6};
7export declare type FireEvent<E extends Event = Event> = (event: E) => void;
8export declare type EventBus<E extends Event = Event> = {
9 event$: Observable<E>;
10 fire: FireEvent<E>;
11 type<T extends Event>(): EventBus<T>;
12 filter<T extends Event = E>(fn: EventBusFilter<T>): EventBus<T>;
13};
14export declare type EventBusFilter<E extends Event> = (e: E) => boolean;
15export {};