return{fn=function(...)return mock:fn(...)end,clearAllMocks=function()return mock:clearAllMocks()end,resetAllMocks=function()return mock:resetAllMocks()end,_mock=mock;useFakeTimers=function()return fakeTimers:useFakeTimers()end;useRealTimers=function()return fakeTimers:useRealTimers()end;runAllTicks=function()return fakeTimers:runAllTicks()end;runAllTimers=function()return fakeTimers:runAllTimers()end;advanceTimersByTime=function(U)fakeTimers:advanceTimersByTime(U)end,runTimersToTime=function(U)fakeTimers:advanceTimersByTime(U)end;runOnlyPendingTimers=function()fakeTimers:runOnlyPendingTimers()end;advanceTimerstoNextTimer=function(U)fakeTimers:advanceTimerstoNextTimer(U)end;clearAllTimers=function()fakeTimers:clearAllTimers()end,getTimerCount=function()fakeTimers:getTimerCount()end,setSystemTime=function(U)fakeTimers:setSystemTime(U)end,getRealSystemTime=function()fakeTimers:getRealSystemTime()end,testEnv={delay=fakeTimers.delayOverride;tick=fakeTimers.tickOverride;DateTime=fakeTimers.dateTimeOverride,os=fakeTimers.osOverride},_fakeTimers=fakeTimers}
-- 	return moduleResult
-- end

return {
	-- Mock functions
	fn = function(...)
		return mock:fn(...)
	end,
	clearAllMocks = function()
		return mock:clearAllMocks()
	end,
	resetAllMocks = function()
		return mock:resetAllMocks()
	end,
	_mock = mock,
	-- Mock timers
	useFakeTimers = function()
		return fakeTimers:useFakeTimers()
	end,
	useRealTimers = function()
		return fakeTimers:useRealTimers()
	end,
	runAllTicks = function()
		return fakeTimers:runAllTicks()
	end,
	runAllTimers = function()
		return fakeTimers:runAllTimers()
	end,
	advanceTimersByTime = function(msToRun)
		fakeTimers:advanceTimersByTime(msToRun)
	end,
	runTimersToTime = function(msToRun)
		fakeTimers:advanceTimersByTime(msToRun)
	end,
	runOnlyPendingTimers = function()
		fakeTimers:runOnlyPendingTimers()
	end,
	advanceTimerstoNextTimer = function(steps)
		fakeTimers:advanceTimerstoNextTimer(steps)
	end,
	clearAllTimers = function()
		fakeTimers:clearAllTimers()
	end,
	getTimerCount = function()
		fakeTimers:getTimerCount()
	end,
	setSystemTime = function(now)
		fakeTimers:setSystemTime(now)
	end,
	getRealSystemTime = function()
		fakeTimers:getRealSystemTime()
	end,
	testEnv = {
		delay = fakeTimers.delayOverride,
		tick = fakeTimers.tickOverride,
		DateTime = fakeTimers.dateTimeOverride,
		os = fakeTimers.osOverride,
		-- require = requireOverride,
	},
	_fakeTimers = fakeTimers,
}
