sig
  val cast : 'Gobject.obj -> Gtk.entry Gtk.obj
  module P :
    sig
      val text : ([> `entry ], string) Gobject.property
      val text_length : ([> `entry ], int) Gobject.property
      val visibility : ([> `entry ], bool) Gobject.property
      val max_length : ([> `entry ], int) Gobject.property
      val activates_default : ([> `entry ], bool) Gobject.property
      val cursor_position : ([> `entry ], int) Gobject.property
      val editable : ([> `entry ], bool) Gobject.property
      val has_frame : ([> `entry ], bool) Gobject.property
      val invisible_char : ([> `entry ], int) Gobject.property
      val scroll_offset : ([> `entry ], int) Gobject.property
      val selection_bound : ([> `entry ], int) Gobject.property
      val width_chars : ([> `entry ], int) Gobject.property
      val xalign : ([> `entry ], float) Gobject.property
      val overwrite_mode : ([> `entry ], bool) Gobject.property
      val primary_icon_activatable : ([> `entry ], bool) Gobject.property
      val primary_icon_name : ([> `entry ], string option) Gobject.property
      val primary_icon_pixbuf :
        ([> `entry ], GdkPixbuf.pixbuf) Gobject.property
      val primary_icon_sensitive : ([> `entry ], bool) Gobject.property
      val primary_icon_stock : ([> `entry ], GtkStock.id) Gobject.property
      val primary_icon_tooltip_markup :
        ([> `entry ], string) Gobject.property
      val primary_icon_tooltip_text : ([> `entry ], string) Gobject.property
      val secondary_icon_activatable : ([> `entry ], bool) Gobject.property
      val secondary_icon_name : ([> `entry ], string option) Gobject.property
      val secondary_icon_pixbuf :
        ([> `entry ], GdkPixbuf.pixbuf) Gobject.property
      val secondary_icon_sensitive : ([> `entry ], bool) Gobject.property
      val secondary_icon_stock : ([> `entry ], GtkStock.id) Gobject.property
      val secondary_icon_tooltip_markup :
        ([> `entry ], string) Gobject.property
      val secondary_icon_tooltip_text :
        ([> `entry ], string) Gobject.property
      val placeholder_text : ([> `entry ], string) Gobject.property
    end
  module S :
    sig
      val activate : ([> `entry ], unit -> unit) GtkSignal.t
      val backspace : ([> `entry ], unit -> unit) GtkSignal.t
      val copy_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val cut_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val delete_from_cursor :
        ([> `entry ], GtkEnums.delete_type -> int -> unit) GtkSignal.t
      val insert_at_cursor : ([> `entry ], string -> unit) GtkSignal.t
      val move_cursor :
        ([> `entry ], GtkEnums.movement_step -> int -> extend:bool -> unit)
        GtkSignal.t
      val paste_clipboard : ([> `entry ], unit -> unit) GtkSignal.t
      val populate_popup :
        ([> `entry ], Gtk.menu Gtk.obj -> unit) GtkSignal.t
      val toggle_overwrite : ([> `entry ], unit -> unit) GtkSignal.t
      val icon_press :
        ([> `entry ],
         GtkEnums.entry_icon_position -> GdkEvent.Button.t -> unit)
        GtkSignal.t
      val icon_released :
        ([> `entry ],
         GtkEnums.entry_icon_position -> GdkEvent.Button.t -> unit)
        GtkSignal.t
    end
  val create : Gtk.entry Gobject.param list -> Gtk.entry Gtk.obj
  external get_completion :
    [> `entry ] Gtk.obj -> Gtk.entry_completion option
    = "ml_gtk_entry_get_completion"
  external set_completion :
    [> `entry ] Gtk.obj -> Gtk.entry_completion -> unit
    = "ml_gtk_entry_set_completion"
  val make_params :
    cont:(([> `entry ] as 'a) Gobject.param list -> 'b) ->
    'Gobject.param list ->
    ?text:string ->
    ?visibility:bool ->
    ?max_length:int ->
    ?activates_default:bool ->
    ?editable:bool ->
    ?has_frame:bool ->
    ?width_chars:int -> ?xalign:float -> ?placeholder_text:string -> 'b
end