from typing import Optional

from ._OperatorState import OperatorState
from ._User import User


class UserSession(object):
    def __init__(
        self,
        user,             # type: User
        state,            # type: OperatorState
        count,            # type: int
        initial_float,    # type: float
        session_id,       # type: str
        open_time,        # type: Optional[datetime]
        close_time,       # type: Optional[datetime]
    ):
        self.user = user
        self.state = state
        self.count = count
        self.initial_float = initial_float
        self.session_id = session_id
        self.open_time = open_time
        self.close_time = close_time
