import { ReturnValue } from '../define'; interface Action { } declare abstract class AbstractBus { protected bus: Map; constructor(bus: Map); abstract on(name: string, callback: Function): void; abstract emit(name: string, ...args: any[]): void; abstract off(name: string): void; abstract destory(): void; } declare class Bus extends AbstractBus { protected bus: Map; constructor(bus: Map); on(name: string, callback: Function): void; emit(name: string, ...args: any[]): void; off(name: string): void; destory(): void; } declare function useBus(): ReturnValue; export { useBus, Bus };