import { Symbology, CompositeFlag } from './sdcBarcodeData.js';
import { Quadrilateral } from './sdcCoreCommonGeometry.js';
import { EncodingRange } from './sdcCoreCommonBuffer.js';

interface Barcode {
    getSymbology(): Symbology;
    getDataEncoding(): Array<EncodingRange>;
    getUtf8String(): string | undefined;
    getLocation(): Quadrilateral;
    isGs1DataCarrier(): boolean;
    getCompositeFlag(): CompositeFlag;
    getFrameId(): number;
    getSymbolCount(): number;
    isColorInverted(): boolean;
    getData(): Uint8Array;
    getAddOnData(): string | undefined;
    getCompositeData(): string | undefined;
    getCompositeRawData(): Uint8Array;
    isStructuredAppend(): boolean;
    getStructuredAppendData(): AbstractStructuredAppendData | undefined;
    getPixelPerElement(): number;
    toJson(): string;
}
interface AbstractStructuredAppendData {
    isComplete(): boolean;
    getBarcodeSetId(): string;
    getScannedSegmentCount(): number;
    getTotalSegmentCount(): number;
    getCompleteDataRaw(): Uint8Array;
    getCompleteDataEncodings(): Array<EncodingRange>;
    getCompleteDataUtf8String(): string | undefined;
}
interface SdcBarcodeInternalSdkData_statics {
}

export type { AbstractStructuredAppendData, Barcode, SdcBarcodeInternalSdkData_statics };
