import React from 'react'; import { ViewStyle } from 'react-native'; import { ARTrackingState, ARPlaneEvent, ARObjectEvent, ARTapEvent, ARDepthUpdateEvent, ARObjectModel, ARLightEstimationEvent, ARLightEstimationMode, ARLightConfiguration, ARShadowConfiguration } from './types'; export interface ARViewProps { /** * Style for the AR view */ style?: ViewStyle; /** * Callback for tracking state changes */ onTrackingUpdated?: (state: ARTrackingState) => void; /** * Callback when a new plane is detected */ onPlaneDetected?: (event: ARPlaneEvent) => void; /** * Callback when an object is placed */ onObjectPlaced?: (event: ARObjectEvent) => void; /** * Callback when the user taps */ onTap?: (event: ARTapEvent) => void; /** * Whether to place an object when the user taps */ placeOnTap?: boolean; /** * Scale factor for placed objects */ objectScale?: number; /** * Whether to enable depth-based occlusion */ enableDepthOcclusion?: boolean; /** * Whether to visualize depth information for debugging */ occlusionDebugMode?: boolean; /** * Callback with depth information at the center of the screen */ onDepthUpdated?: (event: ARDepthUpdateEvent) => void; /** * Whether to show AR feature points */ showFeaturePoints?: boolean; /** * Whether to visualize detected planes */ showPlanes?: boolean; /** * Default 3D model to place on tap * If not provided, a default cube model will be used */ defaultModel?: ARObjectModel; /** * Whether to allow model manipulation (rotation, scaling) */ allowModelManipulation?: boolean; /** * Whether to enable model shadows (deprecated, use shadowConfiguration instead) */ enableShadows?: boolean; /** * Advanced shadow configuration for rendering */ shadowConfiguration?: ARShadowConfiguration; /** * Maximum number of models that can be placed * Set to 0 for unlimited */ maxModels?: number; /** * Whether to automatically estimate lighting for realistic rendering * (deprecated, use lightingConfiguration instead) */ enableLightEstimation?: boolean; /** * Advanced lighting configuration for adaptive lighting */ lightingConfiguration?: { /** * Light estimation mode for environmental lighting */ estimationMode?: ARLightEstimationMode; /** * Additional manual lights to add to the scene */ additionalLights?: ARLightConfiguration[]; /** * Whether to debug visualize the lights */ debugVisualization?: boolean; /** * Whether to use environment probes for PBR reflections */ useEnvironmentProbes?: boolean; }; /** * Callback for light estimation updates */ onLightEstimationUpdated?: (event: ARLightEstimationEvent) => void; /** * Callback when model manipulation starts (selection, moving, etc.) */ onModelManipulationStart?: (objectId: string) => void; /** * Callback when model manipulation ends */ onModelManipulationEnd?: (objectId: string) => void; /** * Callback when a model fails to load */ onModelLoadError?: (error: { modelUri: string; message: string; }) => void; } /** * A React Native component that displays AR content */ export declare const ARView: React.FC; //# sourceMappingURL=ARView.d.ts.map