* * @throws \Error If the prior promise returned from this method has not resolved. * @throws \Throwable The exception used to fail the stream. */ public function advance(): Promise; /** * Gets the last emitted value or throws an exception if the stream has completed. * * @return mixed Value emitted from the stream. * * @throws \Error If the stream has resolved or advance() was not called before calling this method. * @throws \Throwable The exception used to fail the stream. */ public function getCurrent(); }