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

import typing_extensions
from ..core.serialization import FieldMetadata
from ..types.classify_base_processor import ClassifyBaseProcessor
from .classifications import ClassificationsParams
from .classify_advanced_options import ClassifyAdvancedOptionsParams
from .parse_config import ParseConfigParams


class ClassifyOverrideConfigParams(typing_extensions.TypedDict):
    """
    Partial configuration override for an existing classifier. All fields are optional — only the fields you provide will override the classifier's saved configuration.
    For example, you can pass only `classificationRules` without providing `classifications`.
    """

    base_processor: typing_extensions.NotRequired[
        typing_extensions.Annotated[ClassifyBaseProcessor, FieldMetadata(alias="baseProcessor")]
    ]
    base_version: typing_extensions.NotRequired[typing_extensions.Annotated[str, FieldMetadata(alias="baseVersion")]]
    """
    The version of the `"classification_performance"` or `"classification_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details.
    """

    classifications: typing_extensions.NotRequired[ClassificationsParams]
    classification_rules: typing_extensions.NotRequired[
        typing_extensions.Annotated[str, FieldMetadata(alias="classificationRules")]
    ]
    """
    Custom rules to guide the classification process in natural language.
    """

    advanced_options: typing_extensions.NotRequired[
        typing_extensions.Annotated[ClassifyAdvancedOptionsParams, FieldMetadata(alias="advancedOptions")]
    ]
    """
    Advanced configuration options.
    """

    parse_config: typing_extensions.NotRequired[
        typing_extensions.Annotated[ParseConfigParams, FieldMetadata(alias="parseConfig")]
    ]
    """
    Configuration options for the parsing process.
    """
