For anyone getting here, a bit better than casting to any might be casting as jest.Mock
const callback = (foo.addListener as jest.Mock).mock.calls[0][0];
Update Sep 2021
To get a mocked function that both fulfills the mocked function type and the jest mock type jest.MockedFunction can be used:
const addListenerMock = addListener as jest.MockedFunction<typeof addListener>;