export declare type Methods = { [M in keyof T]: T[M] extends (...a: any) => any ? M : never; }[keyof T]; export declare type AddPostfix = `${T}${P}`; export interface Type extends Function { new (...args: any[]): T; }