import CppUtils.Terminal.Canvas;
import CppUtils;
explicit Canvas::Canvas( const Container::Size2<>& size = getTerminalSize(), const std::optional<Viewport>& optionalViewport = std::nullopt, bool clearOnClose = false);
Canvas::~Canvas() noexcept override;
auto Canvas::applyDifferences() noexcept -> void;
auto Canvas::print() noexcept -> void;
auto Canvas::wait() noexcept -> void;
auto Canvas::close() noexcept -> void;
[[nodiscard]] auto Canvas::toString() const -> std::string;
[[nodiscard]] auto Canvas::getAbsolutePosition() const noexcept -> Container::Size2<>;
auto Canvas::onMouseEvent(const Mouse::Event& event) -> bool override;