# autogenerated file, do not modify

from os import PathLike, curdir
from typing import Union

from flopy.mf6.data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator
from flopy.mf6.mfpackage import MFChildPackages, MFPackage


class ModflowEms(MFPackage):
    """
    ModflowEms defines a EMS package.

    Parameters
    ----------
    simulation
        Simulation that this package is a part of. Package is automatically
        added to simulation when it is initialized.
    loading_package : bool, default False
        Do not set this parameter. It is intended for debugging and internal
        processing purposes only.

    filename : str or PathLike, optional
        Name or path of file where this package is stored.
    pname : str, optional
        Package name.
    **kwargs
        Extra keywords for :class:`flopy.mf6.mfpackage.MFPackage`.

    """

    package_abbr = "ems"
    _package_type = "ems"
    dfn_file_name = "sln-ems.dfn"
    dfn = [["header", ["solution_package", "*"]]]

    def __init__(
        self,
        simulation,
        loading_package=False,
        filename=None,
        pname=None,
        **kwargs,
    ):
        """Initialize ModflowEms."""
        super().__init__(
            parent=simulation,
            package_type="ems",
            filename=filename,
            pname=pname,
            loading_package=loading_package,
            **kwargs,
        )

        self._init_complete = True
