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

#import <Foundation/Foundation.h>
#import <DynamsoftCaptureVisionBundle/DSIntermediateResultUnit.h>

@class DSCandidateBarcodeZone;

NS_ASSUME_NONNULL_BEGIN

NS_SWIFT_NAME(CandidateBarcodeZonesUnit)
@interface DSCandidateBarcodeZonesUnit : DSIntermediateResultUnit

- (nullable NSArray<DSCandidateBarcodeZone *> *)getCandidateBarcodeZones;

- (NSInteger)getCount;

- (nullable DSCandidateBarcodeZone *)getCandidateBarcodeZone:(NSInteger)index;

- (void)removeAllCandidateBarcodeZones;

- (NSInteger)removeCandidateBarcodeZone:(NSInteger)index;

- (NSInteger)addCandidateBarcodeZone:(DSCandidateBarcodeZone *)barcodeZone
               matrixToOriginalImage:(CGAffineTransform)matrixToOriginalImage NS_SWIFT_NAME(addCandidateBarcodeZone(_:matrixToOriginalImage:));

- (NSInteger)setCandidateBarcodeZone:(NSInteger)index
                         barcodeZone:(DSCandidateBarcodeZone*)barcodeZone
               matrixToOriginalImage:(CGAffineTransform)matrixToOriginalImage;

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

@end

NS_ASSUME_NONNULL_END
