Keeping mocks and tests in general up to date with reality can be tricky for sure. One thing that works very well for me, since you're using Typescript, is to use the ReturnType [0] generic to make sure the mock matches up to the actual implementation.
[0] https://www.typescriptlang.org/docs/handbook/utility-types.h...