import abc
from typing import Union
import lunzi.nn as nn


class BasePolicy(abc.ABC):
    @abc.abstractmethod
    def get_actions(self, states):
        pass


BaseNNPolicy = Union[BasePolicy, nn.Module]  # should be Intersection, see PEP544

import abc
from typing import Union
import lunzi.nn as nn


class BasePolicy(abc.ABC):
    @abc.abstractmethod
    def get_actions(self, states):
        pass


BaseNNPolicy = Union[BasePolicy, nn.Module]  # should be Intersection, see PEP544

# should be Intersection, see PEP544