"""I/O adapters and persistence contracts for advanced workflows.

The package re-exports file-backed adapters, JSON codecs, in-memory portfolio
storage, SQLite storage, and transport contracts. Storage adapters use
cursor-based pagination and deterministic ordering.
"""

from __future__ import annotations

from .file import (
    CSVBondReferenceSource,
    CSVEtfHoldingsSource,
    CSVEtfQuoteSource,
    CSVIndexFixingSource,
    CSVIssuerReferenceSource,
    CSVQuoteSource,
    CSVRatingSource,
    EmptyBondReferenceSource,
    EmptyEtfHoldingsSource,
    EmptyIssuerReferenceSource,
    EmptyRatingSource,
    JSONCurveInputSource,
    NoOpAlertPublisher,
    NoOpAnalyticsPublisher,
    NoOpCurvePublisher,
    NoOpEtfPublisher,
    NoOpQuotePublisher,
    create_empty_output,
    create_file_market_data,
    create_file_reference_data,
)
from .json_codec import JsonCodec, PrettyJsonCodec
from .portfolio_store import InMemoryPortfolioStore
from .sqlite_storage import (
    SQLiteAuditStore,
    SQLiteBondStore,
    SQLiteConfigStore,
    SQLiteCurveStore,
    SQLiteOverrideStore,
    SQLiteStorageAdapter,
)
from .storage import (
    AuditEntry,
    AuditStore,
    BondStore,
    ConfigStore,
    CurveConfig,
    CurveSnapshot,
    CurveStore,
    OverrideRecord,
    OverrideStore,
    Page,
    Pagination,
    PortfolioFilter,
    PortfolioStore,
    PricingConfig,
    StorageAdapter,
    StoredPortfolio,
    StoredPosition,
)
from .transport import AsyncTransport, CacheTransport, Codec, RemoteStorageTransport, Transport

__all__ = [
    "AsyncTransport",
    "AuditEntry",
    "AuditStore",
    "BondStore",
    "CSVBondReferenceSource",
    "CSVEtfHoldingsSource",
    "CSVEtfQuoteSource",
    "CSVIndexFixingSource",
    "CSVIssuerReferenceSource",
    "CSVQuoteSource",
    "CSVRatingSource",
    "CacheTransport",
    "Codec",
    "ConfigStore",
    "CurveConfig",
    "CurveSnapshot",
    "CurveStore",
    "EmptyBondReferenceSource",
    "EmptyEtfHoldingsSource",
    "EmptyIssuerReferenceSource",
    "EmptyRatingSource",
    "InMemoryPortfolioStore",
    "JSONCurveInputSource",
    "JsonCodec",
    "NoOpAlertPublisher",
    "NoOpAnalyticsPublisher",
    "NoOpCurvePublisher",
    "NoOpEtfPublisher",
    "NoOpQuotePublisher",
    "OverrideRecord",
    "OverrideStore",
    "Page",
    "Pagination",
    "PortfolioFilter",
    "PortfolioStore",
    "PrettyJsonCodec",
    "PricingConfig",
    "RemoteStorageTransport",
    "SQLiteAuditStore",
    "SQLiteBondStore",
    "SQLiteConfigStore",
    "SQLiteCurveStore",
    "SQLiteOverrideStore",
    "SQLiteStorageAdapter",
    "StorageAdapter",
    "StoredPortfolio",
    "StoredPosition",
    "Transport",
    "create_empty_output",
    "create_file_market_data",
    "create_file_reference_data",
]
