import type {BarcodeResultItem} from "../dbr";
import type {TextLineResultItem} from "../dlr";
import type {DetectedQuadResultItem, EnhancedImageResultItem, DeskewedImageResultItem} from "../ddn";
import type {ParsedResultItem} from "../dcp";

/**{@link BarcodeResultItem} {@link TextLineResultItem} {@link DetectedQuadResultItem} {@link DeskewedImageResultItem} {@link ParsedResultItem}  {@link EnhancedImageResultItem}* */

/**
 * Defines the various categories of items that can be recognized and captured.
 * */
export enum EnumCapturedResultItemType {
  /**
   * Not use for react-native edition
   * */
  CRIT_ORIGINAL_IMAGE = 0x1,

  /**
   * The type of the CapturedResultItem is "barcode".
   * @see {@link BarcodeResultItem}
   * */
  CRIT_BARCODE = 0x2,

  /**
   * The type of the CapturedResultItem is "text line".
   * @see {@link TextLineResultItem}
   * */
  CRIT_TEXT_LINE = 0x4,

  /**
   * The type of the CapturedResultItem is "detected quad".
   * @see {@link DetectedQuadResultItem}
   * */
  CRIT_DETECTED_QUAD = 0x8,

  /**
   * The type of the CapturedResultItem is "deskewed image".
   * @see {@link DeskewedImageResultItem}
   * */
  CRIT_DESKEWED_IMAGE = 0x10,

  /**
   * The type of the CapturedResultItem is "parsed result".
   * @see {@link ParsedResultItem}
   * */
  CRIT_PARSED_RESULT = 0x20,

  /**
   * The type of the CapturedResultItem is "enhanced image".
   * @see {@link EnhancedImageResultItem}
   * */
  CRIT_ENHANCED_IMAGE = 0x40,
}
