type scrollview; type axis = | Horizontal | Vertical; type source = | Undefined | Touchscreen | Touchpad | Mousewheel | PreciseMousewheel | Passthrough | KineticPassthrough | Previous; external libscroll_push_pan: (scrollview, axis, float) => unit = "libscroll_push_pan"; external libscroll_push_interrupt: scrollview => unit = "libscroll_push_interrupt"; external libscroll_push_fling: scrollview => unit = "libscroll_push_fling"; external libscroll_get_position_absolute: scrollview => (float, float) = "libscroll_get_position_absolute"; external libscroll_set_next_frame_predict: (scrollview, float) => unit = "libscroll_set_next_frame_predict"; external libscroll_set_avg_frametime: (scrollview, float) => unit = "libscroll_set_avg_frametime"; external libscroll_step_frame: scrollview => unit = "libscroll_step_frame"; external libscroll_animating: scrollview => bool = "libscroll_animating"; external libscroll_set_geometry: (scrollview, float, float, float, float) => unit = "libscroll_set_geometry"; external libscroll_new: unit => scrollview = "libscroll_new"; external libscroll_del: scrollview => unit = "libscroll_del"; external libscroll_set_source: (scrollview, source) => unit = "libscroll_set_source";