sig
  type policy = [ `auto | `last | `off | `on ]
  type single_direction = [ `hard | `last | `none | `soft ]
  type movement_block = [ `block_horizontal | `block_vertical | `no_block ]
  type movement_block_ = { vertical : bool; horizontal : bool; }
  val add : Evas.obj -> Evas.obj
  val content_min_limit : Evas.obj -> bool -> bool -> unit
  val region_show : Evas.obj -> int -> int -> int -> int -> unit
  val policy_set :
    Evas.obj -> Elm_scroller.policy -> Elm_scroller.policy -> unit
  val policy_get : Evas.obj -> Elm_scroller.policy * Elm_scroller.policy
  val single_direction_set :
    Evas.obj -> Elm_scroller.single_direction -> unit
  val single_direction_get : Evas.obj -> Elm_scroller.single_direction
  val region_get : Evas.obj -> int * int * int * int
  val child_size_get : Evas.obj -> int * int
  val page_snap_set : Evas.obj -> bool -> bool -> unit
  val page_snap_get : Evas.obj -> bool * bool
  val bounce_set : Evas.obj -> bool -> bool -> unit
  val bounce_get : Evas.obj -> bool * bool
  val page_relative_set : Evas.obj -> float -> float -> unit
  val page_relative_get : Evas.obj -> float * float
  val page_size_set : Evas.obj -> int -> int -> unit
  val page_size_get : Evas.obj -> int * int
  val page_scroll_limit_set : Evas.obj -> int -> int -> unit
  val page_scroll_limit_get : Evas.obj -> int * int
  val current_page_get : Evas.obj -> int * int
  val last_page_get : Evas.obj -> int * int
  val page_show : Evas.obj -> int -> int -> unit
  val page_bring_in : Evas.obj -> int -> int -> unit
  val region_bring_in : Evas.obj -> int -> int -> int -> int -> unit
  val propagate_events_set : Evas.obj -> bool -> unit
  val propagate_events_get : Evas.obj -> bool
  val gravity_set : Evas.obj -> float -> float -> unit
  val gravity_get : Evas.obj -> float * float
  val movement_block_set :
    Evas.obj -> Elm_scroller.movement_block list -> unit
  val movement_block_get : Evas.obj -> Elm_scroller.movement_block_
  val step_size_set : Evas.obj -> int -> int -> unit
  val step_size_get : Evas.obj -> int * int
  val loop_set : Evas.obj -> bool -> bool -> unit
  val loop_get : Evas.obj -> bool * bool
  val wheel_disabled_set : Evas.obj -> bool -> unit
  val wheel_disabled_get : Evas.obj -> bool
end