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

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

NS_ASSUME_NONNULL_BEGIN

/**
 * Represents an auxiliary region element that contains additional region information
 * detected during processing (e.g., portrait zones, specific document areas).
 *
 * This class extends DSRegionObjectElement to provide named regions with confidence scores.
 */
NS_SWIFT_NAME(AuxiliaryRegionElement)
@interface DSAuxiliaryRegionElement : DSRegionObjectElement

/**
 * Gets the name of this auxiliary region.
 *
 * @return A string representing the region name (e.g., "PortraitZone", "SignatureArea").
 */
- (NSString *)getName;
/**
 * Gets the confidence level of this auxiliary region detection.
 *
 * @return The confidence value, typically in the range [0, 100].
 */
- (NSInteger)getConfidence;
/**
 * Sets the name/type of this auxiliary region.
 *
 * @param name The region name to set (e.g., "PortraitZone", "SignatureArea").
 */
- (void)setName:(NSString *)name;
/**
 * Sets the location of this auxiliary region.
 *
 * @param location A quadrilateral defining the region boundaries.
 * @return Returns 0 if successful, otherwise returns an error code.
 */
- (NSInteger)setLocation:(DSQuadrilateral *)location;
/**
 * Sets the confidence level of this auxiliary region detection.
 *
 * @param confidence The confidence value to set, typically in the range [0, 100].
 */
- (void)setConfidence:(NSInteger)confidence;

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

@end

NS_ASSUME_NONNULL_END
