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

import typing

import typing_extensions
from ..core.serialization import FieldMetadata
from .edit_root_json import EditRootJsonParams
from .edit_schema_generation_mapping_result import EditSchemaGenerationMappingResultParams


class EditSchemaGenerationResponseParams(typing_extensions.TypedDict):
    """
    The generated schema and optional mapping metadata.
    """

    schema: EditRootJsonParams
    """
    The final generated schema after mapping. If no input schema was provided this will be the same as the annotatedSchema.
    """

    annotated_schema: typing_extensions.Annotated[
        typing.Optional[EditRootJsonParams], FieldMetadata(alias="annotatedSchema")
    ]
    """
    The original schema that was detected and annotated from the file.
    """

    mapping_result: typing_extensions.Annotated[
        typing.Optional[EditSchemaGenerationMappingResultParams], FieldMetadata(alias="mappingResult")
    ]
    """
    Mapping information between `inputSchema` paths and detected form fields when an input schema was provided.
    """
