import { PhotoCaptureAppConfig, VehiclePart } from '@monkvision/types'; import { CaptureMode, CaptureScreen } from '../types'; /** * Parameters of the useAddDamageMode hook. */ export interface AddDamageModeParams extends Pick { /** * The current screen of the Capture component. */ currentScreen?: CaptureScreen; /** * Boolean indicating if the capture is in Damage Disclosure mode. */ damageDisclosure?: boolean; /** * Callback called when the user clicks on the 'close` button in Damage Diclosure mode. */ handleOpenGallery: () => void; } /** * Handle used to modify the current CaptureMode of the PhotoCapture or DamageDisclosure component. */ export interface AddDamageHandle { /** * The current mode of the component. */ mode: CaptureMode; /** * Parts selected to take a picture of. */ vehicleParts: VehiclePart[]; /** * Callback to be called when the user clicks on the "Add Damage" button. */ handleAddDamage: () => void; /** * Callback to be called when the user selects the parts to take a picture of. */ handleAddDamagePartsSelected: (parts: VehiclePart[]) => void; /** * Callback to be called everytime the user takes a picture to update the mode after it. */ updatePhotoCaptureModeAfterPictureTaken: () => void; /** * Callback to be called when the user clicks on the "Cancel" button of the Add Damage mode. */ handleCancelAddDamage: () => void; /** * Callback called when the user clicks on the "Validate" button of the Add Damage mode. */ handleValidateVehicleParts: () => void; } /** * Custom hook used to switch between sight picture taking and add damage picture taking. */ export declare function useAddDamageMode({ addDamage, currentScreen, handleOpenGallery, damageDisclosure, }: AddDamageModeParams): AddDamageHandle;