import { codegenNativeComponent, type CodegenTypes, type HostComponent, type ViewProps, } from "react-native"; import type { UnsafeMixed } from "../../types/codegen/UnsafeMixed"; // START: NativeCameraStop type NativeViewPadding = { top?: CodegenTypes.WithDefault; right?: CodegenTypes.WithDefault; bottom?: CodegenTypes.WithDefault; left?: CodegenTypes.WithDefault; }; type NativeViewState = { center?: CodegenTypes.Double[]; bounds?: CodegenTypes.Double[]; padding?: NativeViewPadding; zoom?: CodegenTypes.WithDefault; bearing?: CodegenTypes.WithDefault; pitch?: CodegenTypes.WithDefault; }; type NativeEasingMode = "none" | "linear" | "ease" | "fly"; type NativeCameraStop = NativeViewState & { duration?: CodegenTypes.WithDefault; easing?: CodegenTypes.WithDefault; }; // END: NativeCameraStop type NativeTrackUserLocationMode = "none" | "default" | "heading" | "course"; type TrackUserLocationChangeEvent = { trackUserLocation: UnsafeMixed | null>; }; export interface NativeProps extends ViewProps { stop?: NativeCameraStop; initialViewState?: NativeViewState; minZoom?: CodegenTypes.WithDefault; maxZoom?: CodegenTypes.WithDefault; maxBounds?: CodegenTypes.Double[]; trackUserLocation?: CodegenTypes.WithDefault< NativeTrackUserLocationMode, "none" >; onTrackUserLocationChange?: CodegenTypes.DirectEventHandler; } export default codegenNativeComponent( "MLRNCamera", ) as HostComponent;