/**
* @namespace event
*/
/**
* @memberof event
* @typedef
*/
export type CallbackType<T = any> = (...args: any[]) => T;
/**
* @memberof event
* @typedef
*/
export interface EventParamterInterface {
[name: string]: CallbackType | CallbackType[];
}
/**
* @memberof event
* @typedef
*/
export interface EventInterface {
on(name: string | EventParamterInterface, callback?: CallbackType | CallbackType[]): this;
once(name: string | EventParamterInterface, callback?: CallbackType | CallbackType[]): this;
off(name?: string, callback?: CallbackType): this;
}