from .resource import Collection, Model

class Node(Model):
    id_attribute: str
    @property
    def version(self): ...
    def update(self, node_spec): ...
    def remove(self, force: bool = False): ...

class NodeCollection(Collection[Node]):
    model: type[Node]
    def get(self, node_id): ...
    def list(self, *args, **kwargs): ...
