import type {CapturedResultItem, Quadrilateral, EnumCapturedResultItemType, EnumCrossVerificationStatus} from "../core"; import {MultiFrameResultCrossFilter} from "../utility"; import {CaptureVisionRouter} from "../cvr"; import { type ProcessedDocumentResult } from "./ProcessedDocumentResult"; /** * The DetectedQuadResultItem interface extends the {@link CapturedResultItem} interface and represents a detected quadrilateral result item. * @see {@link EnumCapturedResultItemType.CRIT_DETECTED_QUAD} * @see {@link ProcessedDocumentResult.detectedQuadResultItems} * */ export interface DetectedQuadResultItem extends CapturedResultItem { /** * The location of the detected quadrilateral within the original image, represented as a quadrilateral shape. * @see {@link Quadrilateral} * */ location: Quadrilateral; /**A confidence score measuring the certainty that the detected quadrilateral represents the boundary of a document.*/ confidenceAsDocumentBoundary: number; /** * The cross verification status of type {@link EnumCrossVerificationStatus}. * * @remarks If {@link CaptureVisionRouter} doesn't add {@link MultiFrameResultCrossFilter} via {@link CaptureVisionRouter.addFilter} * or added {@link MultiFrameResultCrossFilter} doesn't enable verification for the corresponding type, * the crossVerificationStatus property of the item for that type will always remain {@link EnumCrossVerificationStatus.CVS_NOT_VERIFIED}. * * @see {@link EnumCrossVerificationStatus} * @see {@link MultiFrameResultCrossFilter.enableResultCrossVerification} * */ crossVerificationStatus: EnumCrossVerificationStatus | number }