from typing import Any

from ....core.interfaces.dto import Dto
from ....core.interfaces.core import Core
from ....enums.domain.clients.service import ClientServiceType, ClientServiceProvider


class ClientService[T: Any, Properties: Any](Core[Properties]):
  type: ClientServiceType
  provider: ClientServiceProvider

  config: T  # any type


# ----------------------------------------
# Data Transfer Object Interface
# ----------------------------------------


class ClientServiceDto[T: Any, Properties: Any](Dto[Properties]):
  type: ClientServiceType
  provider: ClientServiceProvider

  config: T  # any type
