sig
  external get : Gdk.atom -> Gtk.clipboard = "ml_gtk_clipboard_get"
  external clear : Gtk.clipboard -> unit = "ml_gtk_clipboard_clear"
  external set_text : Gtk.clipboard -> string -> unit
    = "ml_gtk_clipboard_set_text"
  external set_image : Gtk.clipboard -> GdkPixbuf.pixbuf -> unit
    = "ml_gtk_clipboard_set_image"
  external wait_for_contents :
    Gtk.clipboard -> target:Gdk.atom -> Gtk.selection_data
    = "ml_gtk_clipboard_wait_for_contents"
  external wait_for_text : Gtk.clipboard -> string option
    = "ml_gtk_clipboard_wait_for_text"
  external wait_for_image : Gtk.clipboard -> GdkPixbuf.pixbuf option
    = "ml_gtk_clipboard_wait_for_image"
  external wait_for_targets : Gtk.clipboard -> Gdk.atom list
    = "ml_gtk_clipboard_wait_for_targets"
  external request_contents :
    Gtk.clipboard ->
    target:Gdk.atom -> callback:(Gtk.selection_data -> unit) -> unit
    = "ml_gtk_clipboard_request_contents"
  external request_text :
    Gtk.clipboard -> callback:(string option -> unit) -> unit
    = "ml_gtk_clipboard_request_text"
end