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

import typing

import typing_extensions
from ..types.doc_digitization_job_detail_state import DocDigitizationJobDetailState
from .doc_digitization_page_error import DocDigitizationPageErrorParams
from .task_file_details import TaskFileDetailsParams


class DocDigitizationJobDetailParams(typing_extensions.TypedDict):
    """
    Processing details for a single input file with page-level metrics.
    """

    inputs: typing.Sequence[TaskFileDetailsParams]
    """
    Input file(s) for this task
    """

    outputs: typing.Sequence[TaskFileDetailsParams]
    """
    Output file(s) produced
    """

    state: DocDigitizationJobDetailState
    """
    Processing state for this file
    """

    total_pages: typing_extensions.NotRequired[int]
    """
    Total pages/images in the input file
    """

    pages_processed: typing_extensions.NotRequired[int]
    """
    Number of pages processed so far
    """

    pages_succeeded: typing_extensions.NotRequired[int]
    """
    Number of pages successfully processed
    """

    pages_failed: typing_extensions.NotRequired[int]
    """
    Number of pages that failed processing
    """

    error_message: typing_extensions.NotRequired[str]
    """
    Error message if processing failed
    """

    error_code: typing_extensions.NotRequired[str]
    """
    Standardized error code if failed
    """

    page_errors: typing_extensions.NotRequired[typing.Sequence[DocDigitizationPageErrorParams]]
    """
    Detailed errors for each failed page
    """
