from typing import Any
from typing import Dict


def _adjust_estimator_options(estimator: Any, est_options: Dict[str, Any], **kwargs) -> Dict[str, Any]:
    """
    Adds specific required classifier options to the `clf_options` dictionary.

    Parameters
    ----------
    classifier : Any
        The classifier object for which the options have to be added
    clf_options : Dict[str, Any]
        Dictionary, where the additional classifier options should be added to
    kwargs :
        Additional classifier options as keyword arguments

    Returns
    -------
    Dict[str, Any]
        The input `clf_options` dictionary containing the additional classifier options
    """

    if estimator.__name__ == 'XGBClassifier':
        est_options['num_class'] = kwargs['n_categories']
    elif estimator.__name__ == 'DNNClassifier':
        est_options['n_classes'] = kwargs['n_categories']
        est_options['n_features'] = kwargs['n_features']
    est_options['random_state'] = kwargs['random_seed']
    return est_options