type HandlerFunction = (error: any, ctx: T) => void; type CatchDecorator = (object: T, key: string, desc: PropertyDescriptor) => PropertyDescriptor; export interface CatchOptions { log: boolean; } export declare function Catch(handler: HandlerFunction, options?: Partial): CatchDecorator; export declare function Catch(errorClass: any, handler: HandlerFunction, options?: Partial): CatchDecorator; export declare namespace Catch { var logger: (e: Error) => void; var invokeHandler: (handler: any, err: any, ctx: any) => any; } export {};