sig
  type filekind = [ `DIR | `FILE ]
  class dialog :
    ?kind:Wfile.filekind ->
    ?title:string ->
    ?select:string ->
    ?parent:GWindow.window ->
    unit ->
    object
      method add_filter : descr:string -> patterns:string list -> unit
      method connect : (string -> unit) -> unit
      method fire : string -> unit
      method lock : (unit -> unit) -> unit
      method on_check : string -> (bool -> unit) -> unit
      method on_event : (unit -> unit) -> unit
      method on_value : string -> (unit -> unit) -> unit
      method select : ?dir:string -> ?file:string -> unit -> unit
      method set_enabled : bool -> unit
    end
  class button :
    ?kind:Wfile.filekind ->
    ?title:string ->
    ?select:string ->
    ?tooltip:string ->
    ?parent:GWindow.window ->
    unit ->
    object
      method add_filter : descr:string -> patterns:string list -> unit
      method coerce : GObj.widget
      method connect : (string -> unit) -> unit
      method fire : string -> unit
      method get : string
      method lock : (unit -> unit) -> unit
      method on_check : string -> (bool -> unit) -> unit
      method on_event : (unit -> unit) -> unit
      method on_value : string -> (unit -> unit) -> unit
      method select : ?dir:string -> ?file:string -> unit -> unit
      method send : (string -> unit) -> unit -> unit
      method set : string -> unit
      method set_display : (string -> string) -> unit
      method set_enabled : bool -> unit
      method set_tooltip : (string -> string) -> unit
      method set_visible : bool -> unit
      method widget : Widget.widget
    end
end