"""
spectral defines the canonical, instrument-agnostic data model for
spectral measurements used across the system.
It provides the structural types, typestate markers, and taxonomy primitives required
to represent Earth observation bands in a consistent and type-safe way.

This component contains no IO, no satellite-specific logic, and no transformation algorithms.
It encodes structure and invariants only.
"""

from aer.spectral.core import (
    ChannelType,
    Instrument,
    Satellite,
    create_channel,
    BaseChannel,
    OpticalChannel,
    MicrowaveChannel,
    SARChannel,
    SpectrometerChannel,
)

__all__ = [
    "ChannelType",
    "Instrument",
    "Satellite",
    "create_channel",
    "BaseChannel",
    "OpticalChannel",
    "MicrowaveChannel",
    "SARChannel",
    "SpectrometerChannel",
]
