"""BCE Codes to Label - Belgian Crossroads Bank for Enterprises code lookup library.

Usage:
    from bce_codes_to_label import lookup, joint_committees, nace, countries

    # Type-specific lookup (accepts full code, suffix, or value)
    joint_committees("jcc:m100")
    joint_committees("m100")
    joint_committees("100")

    # With language filter
    countries("BE", lang="fr")

    # Global lookup (returns result only if unique across all registries)
    lookup("BE")
"""

from bce_codes_to_label._registry import CodeRegistry, lookup

joint_committees = CodeRegistry("joint_committees.json", "joint_committees")
nace = CodeRegistry("nace.json", "nace")
currencies = CodeRegistry("currencies.json", "currencies")
countries = CodeRegistry("countries.json", "countries")
data_types = CodeRegistry("data_types.json", "data_types")
address_types = CodeRegistry("address_types.json", "address_types")
commercial_courts = CodeRegistry("commercial_courts.json", "commercial_courts")
mandate_functions = CodeRegistry("mandate_functions.json", "mandate_functions")
legal_forms = CodeRegistry("legal_forms.json", "legal_forms")
identifier_kinds = CodeRegistry("identifier_kinds.json", "identifier_kinds")
sectors = CodeRegistry("sectors.json", "sectors")
postal_codes = CodeRegistry("postal_codes.json", "postal_codes")
msca = CodeRegistry("msca.json", "msca")
rejection = CodeRegistry("rejection.json", "rejection")
models = CodeRegistry("models.json", "models")

__all__ = [
    "lookup",
    "joint_committees",
    "nace",
    "currencies",
    "countries",
    "data_types",
    "address_types",
    "commercial_courts",
    "mandate_functions",
    "legal_forms",
    "identifier_kinds",
    "sectors",
    "postal_codes",
    "msca",
    "rejection",
    "models",
]
