sig
  val cast : 'Gobject.obj -> Gtk.viewport Gtk.obj
  module P :
    sig
      val hadjustment :
        ([> `viewport ], Gtk.adjustment Gtk.obj) Gobject.property
      val vadjustment :
        ([> `viewport ], Gtk.adjustment Gtk.obj) Gobject.property
      val shadow_type :
        ([> `viewport ], GtkEnums.shadow_type) Gobject.property
    end
  module S :
    sig
      val set_scroll_adjustments :
        ([> `viewport ],
         Gtk.adjustment Gtk.obj option ->
         Gtk.adjustment Gtk.obj option -> unit)
        GtkSignal.t
    end
  val create : Gtk.viewport Gobject.param list -> Gtk.viewport Gtk.obj
  val make_params :
    cont:(([> `viewport ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?hadjustment:Gtk.adjustment Gtk.obj ->
    ?vadjustment:Gtk.adjustment Gtk.obj ->
    ?shadow_type:GtkEnums.shadow_type -> 'b
end