onix-core
Version:
Onix library core
23 lines (22 loc) • 905 B
TypeScript
import { IEventArgs, IEventArgs1 } from './IEventArgs';
import { IEventHandler, IEventHandler1 } from './IEventHandler';
export interface IEvent {
OnHandlerAttached: () => void;
OnHandlerAttachedContext: any;
OnHandlerDettached: () => void;
OnHandlerDettachedContext: any;
bind(handler: IEventHandler): void;
bindFor(handler: IEventHandler, triggerCount: number): void;
unbind(handler: IEventHandler): void;
hasBindings(handler: IEventHandler): boolean;
trigger(args: IEventArgs): void;
fire(sender: any, data?: any): void;
}
export interface IEvent1<T> extends IEvent {
bind(handler: IEventHandler1<T>): void;
bindFor(handler: IEventHandler1<T>, triggerCount: number): void;
unbind(handler: IEventHandler1<T>): void;
hasBindings(handler: IEventHandler1<T>): boolean;
trigger(args: IEventArgs1<T>): void;
fire(sender: any, data: T): void;
}