diff --git a/src/immer.d.ts b/src/immer.d.ts
index fba72534..03ea8faf 100644
--- a/src/immer.d.ts
+++ b/src/immer.d.ts
@@ -65,26 +65,22 @@ export interface IProduce {
* @param {Function} patchListener - optional function that will be called with all the patches produced here
* @returns {any} a new state, or the initial state if nothing was modified
*/
- (
+ , Result = any>(
base: Base,
- recipe: (this: Draft, draft: Draft) => Result,
+ recipe: (this: Proxy, draft: Proxy) => Result,
listener?: PatchListener
): void extends Result ? Base : Result
/** Curried producer with an initial state */
- (
+ (
recipe: (this: Draft, draft: Draft) => Result,
defaultBase: Default
): (base: Base | undefined) => void extends Result ? Base : Result
/** Curried producer with no initial state */
- (
- recipe: (
- this: Draft,
- draft: Draft,
- ...extraArgs: Args
- ) => Result
- ): (base: Base, ...extraArgs: Args) => void extends Result ? Base : Result
+ (
+ recipe: (this: Draft, draft: Draft, ...rest: Rest) => Result
+ ): (base: Base, ...rest: Rest) => void extends Result ? Base : Result
}
export const produce: IProduce