There is an issue with the type definition of jest.fn() in the jest-mock package. The types T... and Y... are being flipped from arguments to return values!
export type JestFuncFn = <T..., Y...>(implementation: ((Y...) -> T...)?) -> (MockFn, (T...) -> Y...)
-- should be
export type JestFuncFn = <T..., Y...>(implementation: ((T...) -> Y...)?) -> (MockFn, (T...) -> Y...)