/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport'; import type {UnsafeObject} from 'react-native/Libraries/Types/CodegenTypes'; import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; export type ScreenshotManagerOptions = UnsafeObject; export interface Spec extends TurboModule { +getConstants: () => {||}; takeScreenshot( id: string, options: ScreenshotManagerOptions, ): Promise; } const NativeModule = TurboModuleRegistry.get('ScreenshotManager'); export function takeScreenshot( id: string, options: ScreenshotManagerOptions, ): Promise { if (NativeModule != null) { return NativeModule.takeScreenshot(id, options); } return Promise.reject(); }