"""Core public contracts for PDFtoMD.

This package intentionally exposes only lightweight internal data contracts at
this stage. Parser adapters and runtime integrations are added in later phases.
"""

from pdftomd.models import (
    Asset,
    AssetKind,
    BlockRole,
    BoundingBox,
    ChunkMetadata,
    DocumentBlock,
    DocumentIdentity,
    Figure,
    Formula,
    PageAnalysis,
    PageRange,
    Table,
)
from pdftomd.options import ConversionOptions, FormulaParser, RuntimeMode
from pdftomd.paths import OutputBundlePaths, document_identity_from_pdf, make_anchor, normalize_pdf_path
from pdftomd.runtime_contracts import ModelCachePolicy, RuntimeArtifactPaths

__all__ = [
    "Asset",
    "AssetKind",
    "BlockRole",
    "BoundingBox",
    "ChunkMetadata",
    "ConversionOptions",
    "DocumentBlock",
    "DocumentIdentity",
    "Figure",
    "FormulaParser",
    "Formula",
    "ModelCachePolicy",
    "OutputBundlePaths",
    "PageAnalysis",
    "PageRange",
    "RuntimeArtifactPaths",
    "RuntimeMode",
    "Table",
    "document_identity_from_pdf",
    "make_anchor",
    "normalize_pdf_path",
]
