"""NMEA 0183 parsing and AIS decoding for fishinfo SDK."""

from .ais import (
    AISDecoder,
    AISMessage,
    AISMessageType,
    AISPositionReport,
    AISStaticData,
    NavigationStatus,
)
from .checksum import add_checksum, calculate_checksum, extract_checksum, validate_checksum
from .converter import NMEAConverter
from .parser import NMEAParser
from .sentences import (
    DBTSentence,
    DPTSentence,
    FixQuality,
    GGASentence,
    HDGSentence,
    HDTSentence,
    MTWSentence,
    MWVSentence,
    NMEASentence,
    RMCSentence,
    VTGSentence,
)
from .serial import NMEASerialBatcher, NMEASerialReader

__all__ = [
    # Parser
    "NMEAParser",
    # Sentence types
    "NMEASentence",
    "GGASentence",
    "RMCSentence",
    "VTGSentence",
    "HDTSentence",
    "HDGSentence",
    "DBTSentence",
    "DPTSentence",
    "MWVSentence",
    "MTWSentence",
    "FixQuality",
    # AIS decoder
    "AISDecoder",
    "AISMessage",
    "AISMessageType",
    "AISPositionReport",
    "AISStaticData",
    "NavigationStatus",
    # Converter
    "NMEAConverter",
    # Serial reader
    "NMEASerialReader",
    "NMEASerialBatcher",
    # Checksum utilities
    "calculate_checksum",
    "validate_checksum",
    "extract_checksum",
    "add_checksum",
]
