/*
 * This is one of the header files of Dynamsoft Capture Vision SDK - Document Normalizer module.
 *
 * Copyright © Dynamsoft Corporation. All rights reserved.
 */

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSInteger, DSImageColourMode) {
/**
    * Output colour image.
    */
    DSImageColourModeColour = 0,
/**
    * Output grayscale image.
    */
    DSImageColourModeGrayscale = 1,
/**
    * Output binary image.
    */
    DSImageColourModeBinary = 2

} NS_SWIFT_NAME(ImageColourMode);

NS_ASSUME_NONNULL_BEGIN

NS_SWIFT_NAME(SimplifiedDocumentNormalizerSettings)
@interface DSSimplifiedDocumentNormalizerSettings : NSObject

@property (nonatomic, copy, nullable) NSArray *grayscaleTransformationModes;

@property (nonatomic, copy, nullable) NSArray *grayscaleEnhancementModes;

@property (nonatomic, assign) DSImageColourMode colourMode;

@property (nonatomic, assign) CGSize pageSize;

@property (nonatomic, assign) NSInteger brightness;

@property (nonatomic, assign) NSInteger contrast;

@property (nonatomic, assign) NSUInteger maxThreadsInOneTask;

@property (nonatomic, assign) NSInteger scaleDownThreshold;
/**
 * The minimum ratio between the target quadrilateral area and the total image area. Only those exceeding this value (measured in percentages) will be output.
 */
@property (nonatomic, assign) NSInteger minQuadrilateralAreaRatio;
/**
 * Set the number of documents expected to be detected.
 */
@property (nonatomic, assign) NSInteger expectedDocumentsCount;

+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;

@end

NS_ASSUME_NONNULL_END
