sig
  val t : string
  type properties = (string * string) list
  type name = string
  type alias = string
  type color = float * float * float
  type container_type
  type state_type
  type event_type
  type variable_type
  type link_type
  type entity_value_type
  val create_container :
    name:Paje.S.name ->
    typ:Paje.S.container_type ->
    ?container:Paje.S.name ->
    ?alias:Paje.S.alias -> Paje.S.properties -> Paje.S.properties
  val destroy_container :
    name:Paje.S.name ->
    typ:Paje.S.container_type -> Paje.S.properties -> Paje.S.properties
  val set_state :
    typ:Paje.S.state_type ->
    container:Paje.S.name ->
    value:string -> Paje.S.properties -> Paje.S.properties
  val push_state :
    typ:Paje.S.state_type ->
    container:Paje.S.name ->
    value:string -> Paje.S.properties -> Paje.S.properties
  val pop_state :
    typ:Paje.S.state_type ->
    container:Paje.S.name -> Paje.S.properties -> Paje.S.properties
  val reset_state :
    typ:Paje.S.state_type ->
    container:Paje.S.name -> Paje.S.properties -> Paje.S.properties
  val new_event :
    typ:Paje.S.event_type ->
    container:Paje.S.name ->
    value:string -> Paje.S.properties -> Paje.S.properties
  val set_variable :
    typ:Paje.S.variable_type ->
    container:Paje.S.name ->
    value:float -> Paje.S.properties -> Paje.S.properties
  val add_variable :
    typ:Paje.S.variable_type ->
    container:Paje.S.name ->
    value:float -> Paje.S.properties -> Paje.S.properties
  val sub_variable :
    typ:Paje.S.variable_type ->
    container:Paje.S.name ->
    value:float -> Paje.S.properties -> Paje.S.properties
  val start_link :
    typ:Paje.S.link_type ->
    container:Paje.S.name ->
    start_container:Paje.S.name ->
    value:string -> key:string -> Paje.S.properties -> Paje.S.properties
  val end_link :
    typ:Paje.S.link_type ->
    container:Paje.S.name ->
    end_container:Paje.S.name ->
    value:string -> key:string -> Paje.S.properties -> Paje.S.properties
end