/** * Copyright (c) Facebook, Inc. and its 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 */ 'use strict'; import type {TurboModule} from '../TurboModule/RCTExport'; import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry'; import Platform from '../Utilities/Platform'; export interface Spec extends TurboModule { // Common interface +getInitialURL: () => Promise; +canOpenURL: (url: string) => Promise; +openURL: (url: string) => Promise; +openSettings: () => Promise; // Android only +sendIntent: ( action: string, extras: ?Array<{ key: string, value: string | number | boolean, ... }>, ) => Promise; // Events +addListener: (eventName: string) => void; +removeListeners: (count: number) => void; } export default ((Platform.OS === 'android' ? TurboModuleRegistry.getEnforcing('IntentAndroid') : TurboModuleRegistry.getEnforcing('LinkingManager')): Spec);