"""
parsing — Provider-chain parsing layer for nterm.

Usage:
    from parsing import load_parse_config, ParseBroker

    config = load_parse_config("parsers_config.yaml")
    broker = ParseBroker(config)

    # In a FastAPI route:
    result = await broker.parse(
        command="show ip bgp summary",
        output=block_output,
        vendor_hint="arista_eos",
    )
    return result.to_dict()
"""

from .broker import ParseBroker, ParseOptions, ParseResponse
from .config import ParseConfig, load_parse_config
from .providers import (
    OllamaProvider,
    ParseProvider,
    ProviderResult,
    TextFSMProvider,
    TTPProvider,
)

__all__ = [
    # Config
    "ParseConfig",
    "load_parse_config",
    # Broker
    "ParseBroker",
    "ParseOptions",
    "ParseResponse",
    # Providers
    "ParseProvider",
    "ProviderResult",
    "TextFSMProvider",
    "TTPProvider",
    "OllamaProvider",
]