# This file was auto-generated by Fern from our API Definition.

import typing_extensions
from ..core.serialization import FieldMetadata
from ..types.parse_config_block_options_tables_target_format import ParseConfigBlockOptionsTablesTargetFormat
from .parse_config_block_options_tables_agentic import ParseConfigBlockOptionsTablesAgenticParams


class ParseConfigBlockOptionsTablesParams(typing_extensions.TypedDict):
    """
    Options for table blocks.
    """

    enabled: typing_extensions.NotRequired[bool]
    """
    This option is deprecated and will have no effect. It will be removed in the next API version.
    """

    target_format: typing_extensions.NotRequired[
        typing_extensions.Annotated[ParseConfigBlockOptionsTablesTargetFormat, FieldMetadata(alias="targetFormat")]
    ]
    """
    The target format for the table blocks. Supported values:
    * `markdown`: Convert table to Markdown format
    * `html`: Convert table to HTML format
    """

    table_header_continuation_enabled: typing_extensions.NotRequired[
        typing_extensions.Annotated[bool, FieldMetadata(alias="tableHeaderContinuationEnabled")]
    ]
    """
    Whether to automatically copy table headers to headerless tables on subsequent pages when they have matching column counts. Useful for multi-page tables.
    """

    cell_blocks_enabled: typing_extensions.NotRequired[
        typing_extensions.Annotated[bool, FieldMetadata(alias="cellBlocksEnabled")]
    ]
    """
    Whether to include individual table cell blocks in the output. When enabled, each cell in a table will be represented as a separate block with its own bounding box and content and will be `children` of the table block.
    """

    agentic: typing_extensions.NotRequired[ParseConfigBlockOptionsTablesAgenticParams]
    """
    Options for agentic table processing using VLM-based review and correction.
    """
