text: import { Recognizer, RecognizerResult } from '../recognizer'
  import {
      Date, 
      Point, 
      Quadrilateral,
      MrtdDocumentType, 
      MrzResult, 
      EudlCountry, 
      DocumentFaceDetectorType,
      ImageExtensionFactors,
  } from '../types'
  
  /**
   * Result object for CyprusIdFrontRecognizer.
   */
  export class CyprusIdFrontRecognizerResult extends RecognizerResult {
      constructor(nativeResult) {
          super(nativeResult.resultState);
          
          /** 
           * face image from the document if enabled with returnFaceImage property. 
           */
          this.faceImage = nativeResult.faceImage;
          
          /** 
           * full document image if enabled with returnFullDocumentImage property. 
           */
          this.fullDocumentImage = nativeResult.fullDocumentImage;
          
          /** 
           * The ID number of Cyprus ID card. 
           */
          this.idNumber = nativeResult.idNumber;
          
          /** 
           * image of the signature if enabled with returnSignatureImage property. 
           */
          this.signatureImage = nativeResult.signatureImage;
          
      }
  }
  
  /**
   * Recognizer which can scan front side of Cyprus national ID cards.
   */
  export class CyprusIdFrontRecognizer extends Recognizer {
      constructor() {
          super('CyprusIdFrontRecognizer');
          
          /** 
           * Defines if glare detection should be turned on/off.
           * 
           *  
           */
          this.detectGlare = true;
          
          /** 
           * Property for setting DPI for face images
           * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
           * 
           *  
           */
          this.faceImageDpi = 250;
          
          /** 
           * Property for setting DPI for full document images
           * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
           * 
           *  
           */
          this.fullDocumentImageDpi = 250;
          
          /** 
           * Image extension factors for full document image.
           * 
           * @see ImageExtensionFactors
           *  
           */
          this.fullDocumentImageExtensionFactors = new ImageExtensionFactors();
          
          /** 
           * Sets whether face image from ID card should be extracted
           * 
           *  
           */
          this.returnFaceImage = false;
          
          /** 
           * Sets whether full document image of ID card should be extracted.
           * 
           *  
           */
          this.returnFullDocumentImage = false;
          
          /** 
           * Sets whether signature image from ID card should be extracted.
           * 
           *  
           */
          this.returnSignatureImage = false;
          
          /** 
           * Property for setting DPI for signature images
           * Valid ranges are [100,400]. Setting DPI out of valid ranges throws an exception
           * 
           *  
           */
          this.signatureImageDpi = 250;
          
          this.createResultFromNative = function (nativeResult) { return new CyprusIdFrontRecognizerResult(nativeResult); }
      }
  }