{-# LANGUAGE NoImplicitPrelude #-}

module Codec.QRCode.Data.QRIntermediate.Internal
  ( QRIntermediate(..)
  ) where

import           Codec.QRCode.Base

import qualified Codec.QRCode.Data.ByteStreamBuilder as BSB
import           Codec.QRCode.Data.ErrorLevel
import           Codec.QRCode.Data.Mask
import           Codec.QRCode.Data.Version

data QRIntermediate
  = QRIntermediate
    { QRIntermediate -> Version
qrIntermediateVersion_    :: !Version
    , QRIntermediate -> ErrorLevel
qrIntermediateErrorLevel_ :: !ErrorLevel
    , QRIntermediate -> Int
qrIntermediateDataSize_   :: !Int
    , QRIntermediate -> ByteStreamBuilder
qrIntermediateData_       :: !BSB.ByteStreamBuilder
    , QRIntermediate -> Maybe Mask
qrIntermediateMask_       :: !(Maybe Mask)
    }