sig
  type t = Elm.transit
  type tween_mode =
      [ `accelerate
      | `bezier_curve
      | `bounce
      | `decelerate
      | `divisor_interp
      | `linear
      | `sinusoidal
      | `spring ]
  type effect_flip_axis = [ `| `y ]
  type effect_wipe_type = [ `hide | `show ]
  type effect_wipe_dir = [ `down | `left | `right | `up ]
  val add : unit -> Elm_transit.t
  val del : Elm_transit.t -> unit
  val effect_add : Elm_transit.t -> (Elm_transit.t -> float -> unit) -> unit
  val object_add : Elm_transit.t -> Evas.obj -> unit
  val object_remove : Elm_transit.t -> Evas.obj -> unit
  val objects_get : Elm_transit.t -> Evas.obj list
  val objects_final_state_keep_set : Elm_transit.t -> bool -> unit
  val objects_final_state_keep_get : Elm_transit.t -> bool
  val event_enabled_set : Elm_transit.t -> bool -> unit
  val event_enabled_get : Elm_transit.t -> bool
  val del_cb_set : Elm_transit.t -> (Elm_transit.t -> unit) -> unit
  val auto_reverse_set : Elm_transit.t -> bool -> unit
  val auto_reverse_get : Elm_transit.t -> bool
  val repeat_times_set : Elm_transit.t -> int -> unit
  val repeat_times_get : Elm_transit.t -> int
  val tween_mode_set : Elm_transit.t -> Elm_transit.tween_mode -> unit
  val tween_mode_get : Elm_transit.t -> Elm_transit.tween_mode
  val tween_mode_factor_set : Elm_transit.t -> float -> float -> unit
  val tween_mode_factor_get : Elm_transit.t -> float * float
  val tween_mode_factor_n_set : Elm_transit.t -> float array -> unit
  val duration_set : Elm_transit.t -> float -> unit
  val duration_get : Elm_transit.t -> float
  val go : Elm_transit.t -> unit
  val revert : Elm_transit.t -> unit
  val go_in : Elm_transit.t -> float -> unit
  val paused_set : Elm_transit.t -> bool -> unit
  val paused_get : Elm_transit.t -> bool
  val progress_value_get : Elm_transit.t -> float
  val chain_transit_add : Elm_transit.t -> Elm_transit.t -> unit
  val chain_transit_del : Elm_transit.t -> Elm_transit.t -> unit
  val chain_transits_get : Elm_transit.t -> Elm_transit.t list
  val smooth_set : Elm_transit.t -> bool -> unit
  val smooth_get : Elm_transit.t -> bool
  val effect_resizing_add : Elm_transit.t -> int -> int -> int -> int -> unit
  val effect_translation_add :
    Elm_transit.t -> int -> int -> int -> int -> unit
  val effect_zoom_add : Elm_transit.t -> float -> float -> unit
  val effect_flip_add :
    Elm_transit.t -> Elm_transit.effect_flip_axis -> bool -> unit
  val effect_resizable_flip_add :
    Elm_transit.t -> Elm_transit.effect_flip_axis -> bool -> unit
  val effect_wipe_add :
    Elm_transit.t ->
    Elm_transit.effect_wipe_type -> Elm_transit.effect_wipe_dir -> unit
  val effect_color_add :
    Elm_transit.t ->
    int -> int -> int -> int -> int -> int -> int -> int -> unit
  val effect_fade_add : Elm_transit.t -> unit
  val effect_blend_add : Elm_transit.t -> unit
  val effect_rotation_add : Elm_transit.t -> float -> float -> unit
  val effect_image_animation_add : Elm_transit.t -> string list -> unit
end