import {EnumQRCodeErrorCorrectionLevel} from "./EnumQRCodeErrorCorrectionLevel";

export interface QRCodeDetails {
  rows: number;
  columns: number;
  errorCorrectionLevel: number;
  version: number;
  model: number;
  mode: number;
  page: number;
  totalPage: number;
  parityData: number;
  dataMaskPattern: number;
  codewords: number[];
}


export interface DataMatrixDetails {
  rows: number;
  columns: number;
  dataRegionRows: number;
  dataRegionColumns: number;
  dataRegionNumber: number;
}

export interface PDF417Details {
  rows: number;
  columns: number;
  errorCorrectionLevel: EnumQRCodeErrorCorrectionLevel;
  hasLeftRowIndicator: boolean;
  hasRightRowIndicator: boolean;
  codewords: number[];
}

export interface AztecDetails {
  rows: number;
  columns: number;
  layerNumber: number;
}

export interface OneDCodeDetails {
  startCharsBytes: number[];
  stopCharsBytes: number[];
  checkDigitBytes: number[];
  startPatternRange_lower: number;
  startPatternRange_upper: number;
  middlePatternRange_lower: number;
  middlePatternRange_upper: number;
  endPatternRange_lower: number;
  endPatternRange_upper: number;
}
