"""tecjustica-ocr — Extração OCR de processos judiciais."""

__version__ = "0.1.0"

from .config import OcrConfig
from .engine import process_pdf, process_pdf_structure, process_pdf_text

__all__ = [
    "OcrConfig",
    "process_pdf",
    "process_pdf_structure",
    "process_pdf_text",
]


def extract_text(path: str, config: OcrConfig | None = None) -> str:
    """API simplificada: extrai texto de um PDF e retorna como string.

    Args:
        path: Caminho do PDF.
        config: Configuração opcional (usa defaults se None).

    Returns:
        Texto extraído concatenado.
    """
    if config is None:
        config = OcrConfig(mode="text")
    result = process_pdf_text(path, config)
    lines = []
    for page in result.pages:
        lines.extend(page.texts)
    return "\n".join(lines)


def extract_structure(path: str, config: OcrConfig | None = None) -> str:
    """API simplificada: extrai estrutura de um PDF e retorna markdown.

    Args:
        path: Caminho do PDF.
        config: Configuração opcional (usa defaults se None).

    Returns:
        Markdown gerado pelo PP-StructureV3.
    """
    if config is None:
        config = OcrConfig(mode="structure")
    result = process_pdf_structure(path, config)
    return getattr(result, "_structure_markdown", "")
