diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index ab484e1812e7b..b90a2636be774 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -260,14 +260,14 @@ interface Function { * @param thisArg The object to be used as the this object. * @param argArray A set of arguments to be passed to the function. */ - apply(this: Function, thisArg: any, argArray?: any): any; + apply(this: (...args: A) => R, thisArg: any, argArray?: A): R; /** * Calls a method of an object, substituting another object for the current object. * @param thisArg The object to be used as the current object. * @param argArray A list of arguments to be passed to the method. */ - call(this: Function, thisArg: any, ...argArray: any[]): any; + call(this: (...args: A) => R, thisArg: any, ...argArray: A): R; /** * For a given function, creates a bound function that has the same body as the original function. @@ -275,7 +275,7 @@ interface Function { * @param thisArg An object to which the this keyword can refer inside the new function. * @param argArray A list of arguments to be passed to the new function. */ - bind(this: Function, thisArg: any, ...argArray: any[]): any; + bind(this: (...args: A) => R, thisArg: any, ...argArray: A): (...args: A) => R; /** Returns a string representation of a function. */ toString(): string;