"""C13 FDR Writer component — Public API."""

from gps_denied_onboard.components.c13_fdr.cap_policy import CapacityCapPolicy
from gps_denied_onboard.components.c13_fdr.errors import (
    FdrAlreadyClosedError,
    FdrCloseWithoutOpenError,
    FdrConcurrentWriterError,
    FdrOpenError,
    FdrWriterError,
    RawFrameWriteForbiddenError,
    TileSnapshotInvalidIdError,
    TileSnapshotTooLargeError,
)
from gps_denied_onboard.components.c13_fdr.headers import FlightFooter, FlightHeader
from gps_denied_onboard.components.c13_fdr.interface import FdrWriter
from gps_denied_onboard.components.c13_fdr.record_kind_policy import (
    GateDecision,
    RecordKindPolicy,
    make_record_kind_policy,
)
from gps_denied_onboard.components.c13_fdr.tile_snapshot_sink import (
    MidFlightTileSnapshotSink,
)
from gps_denied_onboard.components.c13_fdr.writer import FileFdrWriter

__all__ = [
    "CapacityCapPolicy",
    "FdrAlreadyClosedError",
    "FdrCloseWithoutOpenError",
    "FdrConcurrentWriterError",
    "FdrOpenError",
    "FdrWriter",
    "FdrWriterError",
    "FileFdrWriter",
    "FlightFooter",
    "FlightHeader",
    "GateDecision",
    "MidFlightTileSnapshotSink",
    "RawFrameWriteForbiddenError",
    "RecordKindPolicy",
    "TileSnapshotInvalidIdError",
    "TileSnapshotTooLargeError",
    "make_record_kind_policy",
]
