import type {SimplifiedBarcodeReaderSettings} from "../dbr";
import type {SimplifiedLabelRecognizerSettings} from "../dlr";

/**
 * Specifies the method employed to transform images in grayscale.
 * @see {@link SimplifiedBarcodeReaderSettings.grayscaleEnhancementModes}
 * @see {@link SimplifiedLabelRecognizerSettings.grayscaleEnhancementModes}
 * */
export enum EnumGrayscaleTransformationMode {
    GTM_END = -1,
  /**
   * Bypasses grayscale transformation, leaving the image in its current state without any modification to its grayscale values.
   * This mode is selected when no alteration of the grayscale data is desired, passing the image through to subsequent operations without modification.
   */
  GTM_SKIP = 0x0,

  /**
   * Applies an inversion to the grayscale values of the image, effectively transforming light elements to dark and vice versa.
   * This mode is particularly useful for images with light text on dark backgrounds, enhancing visibility for further processing.
   */
  GTM_INVERTED = 0x1,

  /**
   * Maintains the original grayscale values of the image without any transformation. This mode is suited for images with
   * dark elements on light backgrounds, ensuring the natural contrast and detail are preserved for subsequent analysis.
   */
  GTM_ORIGINAL = 0x2,

  /**
   * Delegates the choice of grayscale transformation to the library's algorithm, which automatically determines the most
   * suitable transformation based on the image's characteristics. This mode is beneficial when the optimal transformation
   * is not known in advance or varies across different images.
   */
  GTM_AUTO = 0x4
}
