sig
  type parameter = {
    param_name : JavaString.t;
    param_type : JavaString.t;
    param_desc : JavaString.t;
  }
  type parameter_info
  val parameter_info_of_list :
    JavaApplet.parameter list -> JavaApplet.parameter_info
  type awt = java'applet'Applet java_instance
  module type AWT =
    sig
      val applet_info : JavaString.t
      val parameter_info : JavaApplet.parameter_info
      val init : JavaApplet.awt -> unit
      val start : JavaApplet.awt -> unit
      val stop : JavaApplet.awt -> unit
      val destroy : JavaApplet.awt -> unit
    end
  module Default_AWT : AWT
  type swing = javax'swing'JApplet java_instance
  module type Swing =
    sig
      val applet_info : JavaString.t
      val parameter_info : JavaApplet.parameter_info
      val init : JavaApplet.swing -> unit
      val start : JavaApplet.swing -> unit
      val stop : JavaApplet.swing -> unit
      val destroy : JavaApplet.swing -> unit
    end
  module Default_Swing : Swing
  type graphics_event = {
    mouse_x : int;
    mouse_y : int;
    button : bool;
    keypressed : bool;
    key : char;
  }
  module type Graphics =
    sig
      val applet_info : JavaString.t
      val parameter_info : JavaApplet.parameter_info
      val init : unit -> unit
      val start : unit -> unit
      val run : JavaApplet.graphics_event -> unit
      val stop : unit -> unit
      val destroy : unit -> unit
    end
  module Default_Graphics : Graphics
end