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

import typing

import typing_extensions
from ..core.serialization import FieldMetadata
from .edit_json import EditJsonParams


class EditRootJsonParams(typing_extensions.TypedDict):
    """
    JSON Schema definition for editing PDF documents. The schema defines the structure and placement of fields to edit.
    """

    type: typing.Literal["object"]
    """
    Must be "object" for the root schema
    """

    properties: typing.Dict[str, EditJsonParams]
    """
    Map of field names to their schema definitions
    """

    required: typing_extensions.NotRequired[typing.Sequence[str]]
    """
    List of required field names
    """

    additional_properties: typing_extensions.NotRequired[
        typing_extensions.Annotated[bool, FieldMetadata(alias="additionalProperties")]
    ]
    """
    Whether additional properties are allowed
    """
