import { DeviceRotation, MonkPicture } from '@monkvision/types'; import { MonkApiConfig } from '@monkvision/network'; /** * Params accepted by the useVideoUploadQueue hook. */ export interface VideoUploadQueueParams extends Pick { /** * The config used to communicate with the API. */ apiConfig: MonkApiConfig; /** * The ID of the current inspection. */ inspectionId: string; /** * The maximum number of retries allowed for failed image uploads. */ maxRetryCount: number; } /** * Handle used to manage the video frame upload queue. */ export interface VideoUploadQueueHandle { /** * The number of frames that have successfully been uploaded to the API. */ uploadedFrames: number; /** * The total number of frames added to the uploading queue. */ totalUploadingFrames: number; /** * Callback called when a frame has been selected by the frame selection hook. */ onFrameSelected: (picture: MonkPicture) => void; /** * Callback called when the video is discarded. Clears the upload queue and deletes all images * associated with the inspection in bulk using the current Monk state. */ discardUploadedImages: () => void; } /** * Hook used to manage the video frame upload queue. */ export declare function useVideoUploadQueue({ apiConfig, inspectionId, maxRetryCount, alpha, }: VideoUploadQueueParams): VideoUploadQueueHandle;