"""
Resolution module for fuzzy matching user query terms against attribute values.

This module provides term extraction and resolution for handling typos and
variations in natural language queries.

Values are stored in memory per semantic model version and entity.
"""

from semantic_models.resolution.index import (
    IndexMeta,
    IndexStatus,
    SourceIndex,
    SourceKey,
    build_source_index_in_memory,
    clear_source_index,
    clear_value_index_store,
    get_resolvable_columns_for_entity,
    get_source_index_status,
    get_value_index_data,
    get_value_index_meta,
    initialize_value_indices_from_sources,
    is_semantic_index_ready,
    load_indices_for_spec,
    load_source_index,
)
from semantic_models.resolution.resolver import (
    ResolutionResult,
    TermCorrection,
    resolve_glossary_terms,
    resolve_terms,
)

__all__ = [
    "IndexMeta",
    "IndexStatus",
    "ResolutionResult",
    "SourceIndex",
    "SourceKey",
    "TermCorrection",
    "build_source_index_in_memory",
    "clear_source_index",
    "clear_value_index_store",
    "get_resolvable_columns_for_entity",
    "get_source_index_status",
    "get_value_index_data",
    "get_value_index_meta",
    "initialize_value_indices_from_sources",
    "is_semantic_index_ready",
    "load_indices_for_spec",
    "load_source_index",
    "resolve_glossary_terms",
    "resolve_terms",
]
