/*
 * 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/DSCapturedResultItem.h>
#import <DynamsoftCaptureVisionBundle/DSBarcodeFormat.h>

@class DSQuadrilateral;
@class DSBarcodeDetails;
@class DSECISegment;

NS_ASSUME_NONNULL_BEGIN

NS_SWIFT_NAME(BarcodeResultItem)
@interface DSBarcodeResultItem : DSCapturedResultItem

@property (nonatomic, readonly, assign) DSBarcodeFormat format;

@property (nonatomic, readonly, copy) NSString *formatString;

@property (nonatomic, readonly, copy) NSString *text;

@property (nonatomic, readonly) NSData *bytes;

@property (nonatomic, readonly) DSQuadrilateral *location;

@property (nonatomic, readonly, assign) NSUInteger confidence;

@property (nonatomic, readonly, assign) NSInteger angle;

@property (nonatomic, readonly, assign) NSUInteger moduleSize;

@property (nonatomic, readonly, nullable) DSBarcodeDetails *details;

@property (nonatomic, readonly, assign) BOOL isDPM;

@property (nonatomic, readonly, assign) BOOL isMirrored;

@property (nonatomic, readonly, copy, nullable) NSArray<DSECISegment *> *eciSegments;

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

@end

NS_ASSUME_NONNULL_END
