import { E as LabelFieldDefinition } from "../../../sdcLabelInternalModuleCapture-B6-1Wjzn.js"; import { c as NativeProxyHandle, s as NativeProxyAdapter } from "../../../AdaptiveRecognitionResult-Clnk-SP8.js"; //#region src/main/worker/proxies/base/LabelFieldDefinitionBaseProxy.d.ts /** * Abstract base class for all label field definition proxies (text and barcode fields). * Provides common methods inherited from LabelFieldDefinition in the C++ implementation. * * Common methods: * - getName(), isOptional(), setOptional() * - getValueRegexes(), setValueRegexes() (delegates to getPatterns/setPatterns) * - getAnchorRegexes(), setAnchorRegexes() (delegates to getDataTypePatterns/setDataTypePatterns) * - getHiddenProperties(), setHiddenProperties() * - getLocation(), setLocation() (optional, overridden in subclasses that support it) * - asLabelFieldDefinition() (polymorphic conversion) * * Direct concrete implementations: * - Text fields: CustomTextProxy, DateTextProxy, ExpiryDateTextProxy, etc. * * Subclasses with specialized methods: * - BarcodeFieldProxyBase (provides barcode-specific methods: getSymbologies, setSymbologies) * * Generic parameter T: The native type being proxied (e.g., DateText, CustomText, BarcodeField). * Location methods are optional and throw notImplementedError() if not overridden. */ declare abstract class LabelFieldDefinitionBaseProxy> extends NativeProxyAdapter { getName(handle: NativeProxyHandle): Promise; isOptional(handle: NativeProxyHandle): Promise; setOptional(handle: NativeProxyHandle, optional: boolean): Promise; getValueRegexes(handle: NativeProxyHandle): Promise; setValueRegexes(handle: NativeProxyHandle, valueRegexes: string[]): Promise; getAnchorRegexes(handle: NativeProxyHandle): Promise; setAnchorRegexes(handle: NativeProxyHandle, anchorRegexes: string[]): Promise; getNumberOfMandatoryInstances(handle: NativeProxyHandle): Promise; setNumberOfMandatoryInstances(handle: NativeProxyHandle, numberOfMandatoryInstances: number | undefined): Promise; getHiddenProperties(handle: NativeProxyHandle): Promise; setHiddenProperties(handle: NativeProxyHandle, jsonString: string): Promise; /** * Get the field location (if supported by this field type). * Override in subclasses that support location-based extraction. * * @throws Error if location extraction is not supported by this field type */ getLocation(_handle: NativeProxyHandle): Promise; /** * Set the field location (if supported by this field type). * Override in subclasses that support location-based extraction. * * @throws Error if location extraction is not supported by this field type */ setLocation(_handle: NativeProxyHandle, _locationHandle: NativeProxyHandle): Promise; /** * Helper method to generate a consistent error message for unsupported asLabelFieldDefinition(). * Subclasses should call this from their asLabelFieldDefinition() implementation. * * @returns Error with a descriptive message including the proxy class name */ protected notImplementedError(): Error; abstract asLabelFieldDefinition(_handle: NativeProxyHandle): Promise; } //#endregion export { LabelFieldDefinitionBaseProxy };