import CppUtils.Terminal.Scrollable;
import CppUtils;
ScrollbarMode
ScrollbarMode;
Scrollable::Scrollable( const Container::Size2<>& viewportSize, const Container::Size2<>& fullContentSize);
Scrollable::~Scrollable() noexcept override;
template <std::derived_from< Widget > T>auto Scrollable::addWidget(std::unique_ptr<T> widget) -> T&;
auto Scrollable::setScroll(this auto&& self, const Container::Size2<>& position) noexcept -> decltype(auto);
[[nodiscard]] auto Scrollable::getScroll() const noexcept -> Container::Size2<>;
[[nodiscard]] auto Scrollable::getContentArea() noexcept -> Area&;
auto Scrollable::showScrollbars(this auto&& self, std::uint8_t mode = ScrollbarMode::Both) noexcept -> decltype(auto);
auto Scrollable::setScrollbarStyle(this auto&& self, const ScrollbarStyle& style) noexcept -> decltype(auto);
[[nodiscard]] auto Scrollable::getScrollbarStyle() const noexcept -> const ScrollbarStyle&;
auto Scrollable::onMouseEvent(const Mouse::Event& event) -> bool override;
auto Scrollable::draw(WritableAreaView& view) noexcept -> void override;