/** * 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 * @format */ 'use strict'; import {TurboModuleRegistry, type TurboModule} from 'react-native'; export type GenericObject = Object; type AnotherGenericObject = GenericObject; export interface Spec extends TurboModule { +getGenericObject: (arg: Object) => Object; +getGenericObjectReadOnly: (arg: Object) => $ReadOnly<{|a: string|}>; +getGenericObjectWithAlias: (arg: GenericObject) => AnotherGenericObject; +difficultObject: (A: {| D: boolean, E: {| D: boolean, E: number, F: string, |}, F: string, |}) => {| D: boolean, E: {| D: boolean, E: {| D: boolean, E: number, F: string, |}, F: string, |}, F: string, |}; +getConstants: () => {| D: boolean, E: {| D: boolean, E: {| D: boolean, E: {| D: boolean, E: number, F: string, |}, F: string, |}, F: string, |}, F: string, |}; } export default (TurboModuleRegistry.getEnforcing( 'SampleTurboModule', ): Spec);