diff --git a/lodash-decorators/lodash-decorators.d.ts b/lodash-decorators/lodash-decorators.d.ts index ca22dadd89..daa06627c5 100644 --- a/lodash-decorators/lodash-decorators.d.ts +++ b/lodash-decorators/lodash-decorators.d.ts @@ -21,6 +21,10 @@ declare module "lodash-decorators" { (target: Object, propertyKey: string | symbol, parameterIndex: number): void; } + export interface TypedMethodDecorator { + (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor | void; + } + export interface MethodDecoratorWithAccessor extends MethodDecorator, Accessor { } @@ -73,7 +77,19 @@ declare module "lodash-decorators" { (...args: any[]): MethodDecorator; } export interface BindDecorator { - (...args: any[]): MethodDecorator; + (): TypedMethodDecorator<(() => R)>; + (param1?: T1): + TypedMethodDecorator<((param1: T1) => R)>; + (param1?: T1, param2?: T2): + TypedMethodDecorator<((param1: T1, param2: T2) => R)>; + (param1?: T1, param2?: T2, param3?: T3): + TypedMethodDecorator<((param1: T1, param2: T2, param3: T3) => R)>; + (param1?: T1, param2?: T2, param3?: T3, param4?: T4): + TypedMethodDecorator<((param1: T1, param2: T2, param3: T3, param4: T4) => R)>; + (param1?: T1, param2?: T2, param3?: T3, param4?: T4, param5?: T5): + TypedMethodDecorator<((param1: T1, param2: T2, param3: T3, param4: T4, param5: T5) => R)>; + (param1?: T1, param2?: T2, param3?: T3, param4?: T4, param5?: T5, param6?: T6): + TypedMethodDecorator<((param1: T1, param2: T2, param3: T3, param4: T4, param5: T5, param6: T6) => R)>; } export interface BindAllDecorator { (...methodNames: string[]): ClassDecorator;