{- This file is part of irc-fun-messages.
 -
 - Written in 2015 by fr33domlover <fr33domlover@rel4tion.org>.
 -
 - ♡ Copying is an act of love. Please copy, reuse and share.
 -
 - The author(s) have dedicated all copyright and related and neighboring
 - rights to this software to the public domain worldwide. This software is
 - distributed without any warranty.
 -
 - You should have received a copy of the CC0 Public Domain Dedication along
 - with this software. If not, see
 - <http://creativecommons.org/publicdomain/zero/1.0/>.
 -}

-- | This module provides datatypes for modeling parts of IRC messages.
module Network.IRC.Fun.Messages.Types
    ( -- * Message Parts
      Prefix (..)
    , UserAddr (..)
    , Target (..)
    , Address (..)
    , Host (..)
    , Command (..)
      -- * Mask
    , MaskPart (..)
    , Mask (..)
    , TargetMask (..)
      -- * Message
    , GenericMessage (..)
    , SpecificMessage (..)
    , MessageTarget (..)
    , Message (..)
      -- * Modes
    , UserMode (..)
    , ChannelMode (..)
    , ChannelModeType (..)
      -- * Reply
    , CommandResponseCode (..)
    , ErrorReplyCode (..)
    , ReservedReplyCode (..)
    , ReservedErrorCode (..)
    , GenericReply (..)
    , Reply (..)
    , SpecificReply (..)
    , Privilege (..)
    , ChannelPrivacy (..)
    )
where

import Network.IRC.Fun.Messages.Internal.Types