@msom/common
Version:
@msom/common
13 lines • 763 B
TypeScript
export interface IEvent<E extends object = object> {
on<T extends keyof E>(type: T, handler: (event: E[T], type: T, self: Event<E>) => void): this;
un<T extends keyof E>(type: T, handler: (event: E[T], type: T, self: Event<E>) => void): this;
emit<T extends keyof E>(type: T, event: E[T]): void;
}
export declare class Event<E extends object = object> implements IEvent<E> {
constructor();
on<T extends keyof E>(type: T, handler: (event: E[T], type: T, self: Event<E>) => void): this;
un<T extends keyof E>(type: T, handler: (event: E[T], type: T, self: Event<E>) => void): this;
emit<T extends keyof E>(type: T, event: E[T]): void;
}
export declare function clearEvent(target: Event<any>): boolean;
//# sourceMappingURL=Event.d.ts.map