sig
  val cast : 'Gobject.obj -> Gtk.file_chooser Gobject.obj
  module P = GtkFileProps.FileChooser.P
  module S = GtkFileProps.FileChooser.S
  type error = ERROR_NONEXISTENT | ERROR_BAD_FILENAME
  exception Error of GtkFile.FileChooser.error * string
  external set_current_name : [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_set_current_name"
  external get_filename : [> Gtk.file_chooser ] Gtk.obj -> string option
    = "ml_gtk_file_chooser_get_filename"
  external set_filename : [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_set_filename"
  external select_filename : [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_select_filename"
  external unselect_filename :
    [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_unselect_filename"
  external select_all : [> Gtk.file_chooser ] Gtk.obj -> unit
    = "ml_gtk_file_chooser_select_all"
  external unselect_all : [> Gtk.file_chooser ] Gtk.obj -> unit
    = "ml_gtk_file_chooser_unselect_all"
  external get_filenames : [> Gtk.file_chooser ] Gtk.obj -> string list
    = "ml_gtk_file_chooser_get_filenames"
  external get_current_folder :
    [> Gtk.file_chooser ] Gtk.obj -> string option
    = "ml_gtk_file_chooser_get_current_folder"
  external set_current_folder :
    [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_set_current_folder"
  external get_uri : [> Gtk.file_chooser ] Gtk.obj -> string option
    = "ml_gtk_file_chooser_get_uri"
  external set_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_set_uri"
  external select_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_select_uri"
  external unselect_uri : [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_unselect_uri"
  external get_uris : [> Gtk.file_chooser ] Gtk.obj -> string list
    = "ml_gtk_file_chooser_get_uris"
  external get_current_folder_uri : [> Gtk.file_chooser ] Gtk.obj -> string
    = "ml_gtk_file_chooser_get_current_folder_uri"
  external set_current_folder_uri :
    [> Gtk.file_chooser ] Gtk.obj -> string -> bool
    = "ml_gtk_file_chooser_set_current_folder_uri"
  external get_preview_filename :
    [> Gtk.file_chooser ] Gtk.obj -> string option
    = "ml_gtk_file_chooser_get_preview_filename"
  external get_preview_uri : [> Gtk.file_chooser ] Gtk.obj -> string option
    = "ml_gtk_file_chooser_get_preview_uri"
  external add_filter :
    [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit
    = "ml_gtk_file_chooser_add_filter"
  external remove_filter :
    [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj -> unit
    = "ml_gtk_file_chooser_remove_filter"
  external list_filters :
    [> Gtk.file_chooser ] Gtk.obj -> Gtk.file_filter Gtk.obj list
    = "ml_gtk_file_chooser_list_filters"
  external add_shortcut_folder :
    [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_add_shortcut_folder"
  external remove_shortcut_folder :
    [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_remove_shortcut_folder"
  external list_shortcut_folders :
    [> Gtk.file_chooser ] Gtk.obj -> string list
    = "ml_gtk_file_chooser_list_shortcut_folders"
  external add_shortcut_folder_uri :
    [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_add_shortcut_folder_uri"
  external remove_shortcut_folder_uri :
    [> Gtk.file_chooser ] Gtk.obj -> string -> unit
    = "ml_gtk_file_chooser_remove_shortcut_folder_uri"
  external list_shortcut_folder_uris :
    [> Gtk.file_chooser ] Gtk.obj -> string list
    = "ml_gtk_file_chooser_list_shortcut_folder_uris"
  val dialog_create :
    [ `bin | `container | `dialog | `filechooser | `giu | `widget | `window ]
    Gobject.param list ->
    [ `bin | `container | `dialog | `filechooser | `giu | `widget | `window ]
    Gtk.obj
  val widget_create :
    [ `filechooser | `giu | `widget ] Gobject.param list ->
    [ `filechooser | `giu | `widget ] Gtk.obj
end