import type {TurboModule} from "react-native"; import {TurboModuleRegistry, NativeModules} from "react-native"; import {Int32, WithDefault} from "react-native/Libraries/Types/CodegenTypes"; export interface Spec extends TurboModule { releaseCapture: (uri: string) => void; captureRef: ( target: WithDefault, withOptions: Object, ) => Promise; captureScreen: (options: Object) => Promise; } // Support both old and new architecture const isTurboModuleEnabled = global.__turboModuleProxy != null; const RNViewShotModule = isTurboModuleEnabled ? TurboModuleRegistry.getEnforcing("RNViewShot") : NativeModules.RNViewShot; export default RNViewShotModule as Spec;