import { Subscription, TeardownLogic } from "rxjs"; export interface EventBusType { type: string; payload: PayloadEventBus; } export interface PayloadEventBus { type: "resolve" | "reject"; data: any; } export default class EventBus { private static instance; private eventSubject; private subscription; static getInstance(): EventBus; get events(): import("rxjs").Observable; post(event: EventBusType): void; postEvent: (event: string, payload: PayloadEventBus) => void; unsubcribe(): void; add(teardown: TeardownLogic): Subscription; }