import type { NativeDfuNitro, DfuOptions, DfuStateCallback, DfuProgressCallback, DfuErrorCallback } from '../specs/NativeDfuNitro.nitro'; export interface MockNativeDfu { startDfu: jest.Mock; pauseDfu: jest.Mock; resumeDfu: jest.Mock; abortDfu: jest.Mock; } export function createMockNative(): MockNativeDfu { return { startDfu: jest.fn(), pauseDfu: jest.fn(), resumeDfu: jest.fn(), abortDfu: jest.fn(), }; } let mockNative: MockNativeDfu = createMockNative(); export function setMockNative(mock: MockNativeDfu) { mockNative = mock; } export function getMockNative(): MockNativeDfu { return mockNative; } jest.mock('react-native-nitro-modules', () => ({ NitroModules: { createHybridObject: jest.fn(() => mockNative), }, }));