raas-core
Version:
29 lines (28 loc) • 680 B
TypeScript
export declare enum RhamtEventType {
STARTING = 0,
STARTING_ERROR = 1,
STARTED = 2,
STOPPED = 3,
MESSAGE = 4
}
export interface RhamtEvent {
type: RhamtEventType;
data: any;
}
export declare namespace rhamtEvents {
interface Listener<T> {
(event: T): any;
}
interface Disposable {
dispose(): void;
}
class TypedEvent<T> {
private listeners;
private listenersOncer;
on: (listener: Listener<T>) => Disposable;
once: (listener: Listener<T>) => void;
off: (listener: Listener<T>) => void;
emit: (event: T) => void;
pipe: (te: TypedEvent<T>) => Disposable;
}
}