"""Deterministic matching core.

CRITICAL: this package must import with **only** ``openpyxl`` + the Python
standard library. Do not import ``strands``, ``boto3``, ``httpx``, ``pydantic``
or any DB driver at module top level here — the package is kept pure so it is
unit-testable offline and reusable by the later Pi-track build.
"""

from .models import (
    Candidate,
    Invoice,
    MatchResult,
    MatchSettings,
    MemoryRule,
    NameMapEntry,
    PlannedLine,
)
from .variance import variance, within_tolerance
from .candidates import get_candidates
from .sheet_parser import parse_planned_lines
from .classifier import classify

__all__ = [
    "Candidate",
    "Invoice",
    "MatchResult",
    "MatchSettings",
    "MemoryRule",
    "NameMapEntry",
    "PlannedLine",
    "variance",
    "within_tolerance",
    "get_candidates",
    "parse_planned_lines",
    "classify",
]
