# Copyright (c) PARRRATE T&V 2021. All rights reserved. from bu4.evaluation.av.envtype import envtype from bu4.evaluation.constructs.evaluable import Evaluable __all__ = ('Linked', 'Parsed',) from bu4.linking.states.linkingstate import LinkingState class Linked: future: set[bytes] def link(self) -> LinkingState: raise NotImplementedError def evaluable(self, env: envtype) -> Evaluable: raise NotImplementedError def unlink(self) -> 'Parsed': raise NotImplementedError def __bytes__(self): return bytes(self.unlink()) class Parsed: def link(self, promise: set[bytes]) -> Linked: raise NotImplementedError def __bytes__(self): raise NotImplementedError