import {
    BarcodeResultField,
    DetectBarcodesOnImagesField,
    LicenseStatus,
} from './types';

export interface BarcodeScannerResult {
    /** The array of detected barcodes */
    barcodes?: BarcodeResultField[];
}

export interface BatchBarcodeScannerResult extends BarcodeScannerResult {}

export interface DetectBarcodesOnImageResult {
    /** The detected barcodes */
    barcodes: BarcodeResultField[];
}

export interface DetectBarcodesOnImagesResult {
    /** An array for which each element has a imageUri and the list of detected barcodes */
    results: DetectBarcodesOnImagesField[];
}

export interface ExtractImagesFromPdfResult {
    /** The URIs of the extracted images */
    imageFilesUrls: string[];
}

export interface LicenseInfo {
    /** True if the license is valid, false otherwise */
    isLicenseValid: boolean;
    /** The license status */
    licenseStatus: LicenseStatus;
    /** Detailed license status message for development and debug purposes */
    licenseStatusMessage?: string;
    /** The license expiration date in milliseconds */
    licenseExpirationDate?: number;
}
