from typing import TypeVar, Generic, Union, Optional, Protocol, Tuple, List, Any, Self, Callable
from types import TracebackType
from enum import Flag, Enum, auto
from dataclasses import dataclass
from abc import abstractmethod
import weakref
from componentize_py_types import Result, Ok, Err, Some
from .imports import app
class WitWorld(Protocol):
@abstractmethod
def spin_cube(self, query: app.Query) -> None:
raise NotImplementedError
@abstractmethod
def my_system(self, commands: app.Commands, query: app.Query) -> None:
raise NotImplementedError
@abstractmethod
def setup(self, app: app.App) -> None:
raise NotImplementedError