"""Core types for full-text search."""

from dataclasses import dataclass
from typing import Any, TypedDict


class SearchResultContent(TypedDict):
    """Standard content structure for search results."""

    title: str
    url: str
    description: str
    keywords: str  # comma-delimited
    content: str


@dataclass
class SearchResult:
    """A single search result."""

    id: str
    score: float
    content: SearchResultContent | dict[str, Any]
