"""
Data models for table extraction and processing.
"""

from dataclasses import dataclass
from typing import List, Optional


@dataclass
class TableMetadata:
    """Metadata for an extracted table with enhanced context."""

    table_index: int
    page_number: int
    headers: List[str]
    consolidated_header: Optional[str] = None
    descriptive_text: Optional[str] = None
    table_markdown: Optional[str] = None
    preceding_text: Optional[str] = None
    rows: int = 0
    cols: int = 0
    first_cell_content: Optional[str] = None
