import type { NitroBackgroundTimer as NitroBackgroundTimerSpec } from './specs/NitroBackgroundTimer.nitro' import { type NativeTimerLike, resolveNativeHybrid, setNitroBackgroundTimerForTests, } from './nitro-native-registry' export type { NativeTimerLike } export { setNitroBackgroundTimerForTests } /** Thin façade so benchmarks can import Nitro wrappers without RN bootstrap. */ export const NitroBackgroundTimer = { schedule: (...args: Parameters) => resolveNativeHybrid().schedule(...args), cancel: (...args: Parameters) => resolveNativeHybrid().cancel(...args), pauseGroup: (...args: Parameters) => resolveNativeHybrid().pauseGroup(...args), resumeGroup: (...args: Parameters) => resolveNativeHybrid().resumeGroup(...args), cancelGroup: (...args: Parameters) => resolveNativeHybrid().cancelGroup(...args), listActiveTimerIds: ( ...args: Parameters ) => resolveNativeHybrid().listActiveTimerIds(...args), getStatsJson: ( ...args: Parameters ) => resolveNativeHybrid().getStatsJson(...args), getPersistWireJson: ( ...args: Parameters ) => resolveNativeHybrid().getPersistWireJson(...args), restorePersistWireJson: ( ...args: Parameters ) => resolveNativeHybrid().restorePersistWireJson(...args), setTimeout: (...args: Parameters) => resolveNativeHybrid().setTimeout(...args), clearTimeout: ( ...args: Parameters ) => resolveNativeHybrid().clearTimeout(...args), setInterval: (...args: Parameters) => resolveNativeHybrid().setInterval(...args), clearInterval: ( ...args: Parameters ) => resolveNativeHybrid().clearInterval(...args), }