export interface IErrorManager { register(handler: IErrorHandler | IErrorHandler[]): any; trigger(err: Error): any; currentError: Error; onError(e: any): void; onUnhandledRejection(e: any): void; } export interface IErrorHandler { priority?: number; match(data: T): boolean; action(data: T): any; } export interface ICustomError extends Error { data?: T; }