type BoundMethods = { [Key in keyof Object & string as Object[Key] extends (...args: any[]) => any ? Key : never]: Object[Key]; }; declare function boundMethods(obj: Object): BoundMethods; declare class _EmptyClass { } export { type BoundMethods, boundMethods };