# Source code for draugr.writers.mixins.instantiation_writer_mixin

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    from abc import ABC, abstractmethod

    __author__ = "Christian Heider Nielsen"
    __doc__ = r"""

               Created on 09/10/2019
               """
    __all__ = ["InstantiationWriterMixin"]

    from typing import Mapping

    from warg import drop_unused_kws

    class InstantiationWriterMixin(ABC):
        """
        Writer mixin that provides an interface for 'writing' instantiation"""

        @drop_unused_kws
        @abstractmethod
        def instance(self, instance: Mapping, metrics: Mapping) -> None:
            """description"""
            raise NotImplementedError