export interface Events { } export type EventTypes = keyof Events; export type EventPayload = { type: Type; sourceID: string; properties: Events[Type]; }; type Subscription = { type: EventTypes; cb: (payload: any) => void; }; export declare const useBus: () => { sourceID: string; publish(type: Type, properties: Events[Type]): void; unsubscribe(sub: Subscription): void; subscribe(type: Type_1, cb: (payload: EventPayload) => void): Subscription; forward(..._types: T): (type: Type_2, cb: (payload: EventPayload) => void) => Subscription; }; export {};