import { Barcode, BarcodeJSON } from '@scandit/web-datacapture-barcode';
import { Quadrilateral, AnchorPositions, QuadrilateralJSON } from '@scandit/web-datacapture-core';
import { LabelFieldState } from './LabelFieldState.js';
import { LabelFieldType } from './LabelFieldType.js';
import { LabelFieldValueType } from './LabelFieldValueType.js';
import { LabelDateResult, LabelDateResultJSON } from './LabelDateResult.js';

interface LabelFieldJSON {
    name: string;
    type: string;
    valueType: string;
    location: QuadrilateralJSON;
    state: LabelFieldState;
    isRequired: boolean;
    barcode: BarcodeJSON | null;
    text: string | null;
    date: LabelDateResultJSON | null;
}
declare class LabelField {
    private _name;
    private _type;
    private _predictedLocation;
    private _state;
    private _isRequired;
    private _barcode;
    private _text;
    private _date;
    private _valueType;
    get name(): string;
    get type(): LabelFieldType;
    get predictedLocation(): Quadrilateral;
    get state(): LabelFieldState;
    get isRequired(): boolean;
    get barcode(): Barcode | null;
    get text(): string | null;
    get valueType(): LabelFieldValueType;
    protected get anchorPositions(): AnchorPositions;
    get date(): LabelDateResult | null;
    private static fromJSON;
    private toJSONObject;
}

export { LabelField, type LabelFieldJSON };
