#ifdef RCT_NEW_ARCH_ENABLED
#pragma once
#import <react/renderer/components/RNScanbotScannerViewSpec/Props.h>

inline bool operator!=(facebook::react::ScanbotDocumentScannerViewFinderAspectRatioStruct const &i,
                       facebook::react::ScanbotDocumentScannerViewFinderAspectRatioStruct const &j){
    return !(i.width == j.width && i.height == j.height);
}

inline bool operator!=(facebook::react::ScanbotDocumentScannerViewRequiredAspectRatiosStruct const &i,
                       facebook::react::ScanbotDocumentScannerViewRequiredAspectRatiosStruct const &j){
    return !(i.width == j.width && i.height == j.height);
}

inline bool operator!=(std::vector<facebook::react::ScanbotDocumentScannerViewRequiredAspectRatiosStruct> const &v1,
                       std::vector<facebook::react::ScanbotDocumentScannerViewRequiredAspectRatiosStruct> const &v2){
    
    if(v1.size() != v2.size()) return true;
    
    for(int i = 0; i< v1.size(); i++){
        if(v1[i] != v2[i]){
            return true;
        }
    }
    
    return false;
}

inline bool operator!=(facebook::react::ScanbotDocumentScannerViewPartiallyVisibleDocumentConfigurationStruct const &i,
                       facebook::react::ScanbotDocumentScannerViewPartiallyVisibleDocumentConfigurationStruct const &j){
    return !(i.allowPartiallyVisibleDocuments == j.allowPartiallyVisibleDocuments &&
             i.accumulationDuration == j.accumulationDuration &&
             i.retentionTime == j.retentionTime &&
             i.minimumBrightness == j.minimumBrightness);
}

#endif
