from abc import ABCMeta, abstractmethod
from typing import Optional

from ._Table import Table  # noqa


class TableOrderRetriever(object):
    __metaclass__ = ABCMeta

    @abstractmethod
    def get_table_order(
        self,      # type: TableOrderRetriever
        pos_id,    # type: str
        table_id,  # type: Optional[str]
        order_id,  # type: Optional[str]
    ):
        # type: (...) -> Table

        raise NotImplementedError()
