import { PhotoCaptureAppConfig, Image, VehiclePart, VehicleType } from '@monkvision/types'; import { CameraHUDProps } from '@monkvision/camera-web'; import { LoadingState } from '@monkvision/common'; import { CaptureMode } from '../../types'; /** * Props of the DamageDisclosureHUD component. */ export interface DamageDisclosureHUDProps extends CameraHUDProps, Pick { /** * The inspection ID. */ inspectionId: string; /** * The current mode of the component. */ mode: CaptureMode; /** * Global loading state of the DamageDisclosure component. */ loading: LoadingState; /** * Current vehicle parts selected to take a picture of. */ vehicleParts: VehiclePart[]; /** * Value storing the last picture taken by the user. If no picture has been taken yet, this value is null. */ lastPictureTakenUri: string | null; /** * Callback called when the user clicks on the "Add Damage" button. */ onAddDamage: () => void; /** * Callback called when the user selects the parts to take a picture of. */ onAddDamagePartsSelected?: (parts: VehiclePart[]) => void; /** * Callback called when the user clicks on the "Cancel" button of the Add Damage mode. */ onCancelAddDamage: () => void; /** * Callback that can be used to retry fetching this state object from the API in case the previous fetch failed. */ onRetry: () => void; /** * Callback called when the user clicks on the gallery icon. */ onOpenGallery: () => void; /** * Callback called when the user clicks on the "Validate" button of the Add Damage mode. */ onValidateVehicleParts: () => void; /** * Callback called when the user clicks on the close button. If this callback is not provided, the close button is not * displayed. */ onClose?: () => void; /** * The current images taken by the user (ignoring retaken pictures etc.). */ images: Image[]; /** * The vehicle type of the inspection. */ vehicleType: VehicleType; } /** * This component implements the Camera HUD (head-up display) displayed in the DamageDisclosure component * over the Camera preview. It implements elements such as buttons to interact with * the camera, DamageDisclosure indicators, error messages, loaders etc. */ export declare function DamageDisclosureHUD({ inspectionId, lastPictureTakenUri, mode, vehicleParts, addDamage, onAddDamage, onAddDamagePartsSelected, onValidateVehicleParts, onCancelAddDamage, onOpenGallery, onClose, onRetry, showCloseButton, loading, handle, cameraPreview, enforceOrientation, images, vehicleType, }: DamageDisclosureHUDProps): import("react").JSX.Element;