"""Artwork module — iPod album art pipeline.

Public API:
  process_artwork_for_track(source_path) -> bytes | None
  extract_cover(file_path) -> bytes | None
  encode_for_ipod(art_bytes, format_id) -> EncodedFormatPayload
  write_artwork_to_ipod(ipod_path, entries, formats_map)
  get_local_cover(cache_key) -> str | None
  cache_cover(cache_key, art_bytes) -> str
"""

from .presets import ArtworkFormat, NANO_7G_COVER_ART_FORMATS
from .types import ArtworkEntry, IthmbLocation, EncodedFormatPayload
from .extractor import extract_cover
from .codecs import encode_for_ipod, decode_from_ipod
from .writer import write_artworkdb, prepare_artwork_for_track

__all__ = [
    "ArtworkFormat",
    "ArtworkEntry",
    "IthmbLocation",
    "EncodedFormatPayload",
    "NANO_7G_COVER_ART_FORMATS",
    "extract_cover",
    "encode_for_ipod",
    "decode_from_ipod",
    "write_artworkdb",
    "prepare_artwork_for_track",
]
