sig
  type t
  external create : paused:bool -> SFPausableClock.t
    = "caml_sfPausableClock_create"
  external destroy : clock:SFPausableClock.t -> unit
    = "caml_sfPausableClock_destroy"
  external isPaused : clock:SFPausableClock.t -> bool
    = "caml_sfPausableClock_isPaused"
  external getElapsedTime : clock:SFPausableClock.t -> SFTime.t
    = "caml_sfPausableClock_getElapsedTime"
  external restart : clock:SFPausableClock.t -> paused:bool -> SFTime.t
    = "caml_sfPausableClock_restart"
  external pause : clock:SFPausableClock.t -> unit
    = "caml_sfPausableClock_pause"
  external start : clock:SFPausableClock.t -> unit
    = "caml_sfPausableClock_start"
  external getElapsedTime_asSeconds : clock:SFPausableClock.t -> float
    = "caml_sfPausableClock_getElapsedTime_asSeconds"
end