"""willian-search: Full-text search abstraction supporting multiple backends."""

from search.backends.base import SearchBackend
from search.backends.memory import MemoryBackend
from search.config import (
    BackendType,
    SearchConfig,
    close_search,
    get_search,
    init_search,
    set_search,
)
from search.models import (
    IndexConfig,
    SearchDocument,
    SearchQuery,
    SearchResponse,
    SearchResult,
)
from search.service import SearchService

__all__ = [
    "BackendType",
    "IndexConfig",
    "MemoryBackend",
    "SearchBackend",
    "SearchConfig",
    "SearchDocument",
    "SearchQuery",
    "SearchResponse",
    "SearchResult",
    "SearchService",
    "close_search",
    "get_search",
    "init_search",
    "set_search",
]
