sig
  type t = Ecore.animator
  type source = [ `custom | `timer ]
  val frametime_set : float -> unit
  val frametime_get : unit -> float
  val pos_map : float -> Ecore.pos_map -> float -> float -> float
  val pos_map_list : float -> Ecore.pos_map -> float list -> float
  val source_set : Ecore_animator.source -> unit
  val source_get : unit -> Ecore_animator.source
  val custom_source_tick_begin_callback_set : Ecore.cb -> unit
  val custom_source_tick_end_callback_set : Ecore.cb -> unit
  val custom_tick : unit -> unit
  val add : Ecore.task_cb -> Ecore_animator.t
  val timeline_add : float -> Ecore.timeline_cb -> Ecore_animator.t
  val del : Ecore_animator.t -> unit
  val freeze : Ecore_animator.t -> unit
  val thaw : Ecore_animator.t -> unit
end