sig
  val create :
    ?name:string ->
    ?activebackground:Tk.color ->
    ?activeborderwidth:int ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?borderwidth:int ->
    ?cursor:Tk.cursor ->
    ?disabledforeground:Tk.color ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?postcommand:(unit -> unit) ->
    ?relief:Tk.relief ->
    ?selectcolor:Tk.color ->
    ?takefocus:bool ->
    ?tearoff:bool ->
    ?tearoffcommand:(menu:Widget.any Widget.widget ->
                     tornoff:Widget.any Widget.widget -> unit) ->
    ?title:string ->
    ?typ:Tk.menuType -> 'Widget.widget -> Widget.menu Widget.widget
  val activate : Widget.menu Widget.widget -> index:Tk.menu_index -> unit
  val add_cascade :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?hidemargin:bool ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?menu:Widget.menu Widget.widget ->
    ?state:Tk.state -> ?underline:int -> Widget.menu Widget.widget -> unit
  val add_checkbutton :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?offvalue:string ->
    ?onvalue:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?variable:Textvariable.textVariable -> Widget.menu Widget.widget -> unit
  val add_command :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?label:string ->
    ?state:Tk.state -> ?underline:int -> Widget.menu Widget.widget -> unit
  val add_radiobutton :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?value:string ->
    ?variable:Textvariable.textVariable -> Widget.menu Widget.widget -> unit
  val add_separator : Widget.menu Widget.widget -> unit
  val configure :
    ?activebackground:Tk.color ->
    ?activeborderwidth:int ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?borderwidth:int ->
    ?cursor:Tk.cursor ->
    ?disabledforeground:Tk.color ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?postcommand:(unit -> unit) ->
    ?relief:Tk.relief ->
    ?selectcolor:Tk.color ->
    ?takefocus:bool ->
    ?tearoff:bool ->
    ?tearoffcommand:(menu:Widget.any Widget.widget ->
                     tornoff:Widget.any Widget.widget -> unit) ->
    ?title:string -> ?typ:Tk.menuType -> Widget.menu Widget.widget -> unit
  val configure_cascade :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?hidemargin:bool ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?menu:Widget.menu Widget.widget ->
    ?state:Tk.state ->
    ?underline:int -> Widget.menu Widget.widget -> Tk.menu_index -> unit
  val configure_checkbutton :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?offvalue:string ->
    ?onvalue:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?variable:Textvariable.textVariable ->
    Widget.menu Widget.widget -> Tk.menu_index -> unit
  val configure_command :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?label:string ->
    ?state:Tk.state ->
    ?underline:int -> Widget.menu Widget.widget -> Tk.menu_index -> unit
  val configure_get : Widget.menu Widget.widget -> string
  val configure_radiobutton :
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?value:string ->
    ?variable:Textvariable.textVariable ->
    Widget.menu Widget.widget -> Tk.menu_index -> unit
  val delete :
    Widget.menu Widget.widget ->
    first:Tk.menu_index -> last:Tk.menu_index -> unit
  val entryconfigure_get :
    Widget.menu Widget.widget -> Tk.menu_index -> string
  val index : Widget.menu Widget.widget -> Tk.menu_index -> int
  val insert_cascade :
    index:Tk.menu_index ->
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?hidemargin:bool ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?menu:Widget.menu Widget.widget ->
    ?state:Tk.state -> ?underline:int -> Widget.menu Widget.widget -> unit
  val insert_checkbutton :
    index:Tk.menu_index ->
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?offvalue:string ->
    ?onvalue:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?variable:Textvariable.textVariable -> Widget.menu Widget.widget -> unit
  val insert_command :
    index:Tk.menu_index ->
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?label:string ->
    ?state:Tk.state -> ?underline:int -> Widget.menu Widget.widget -> unit
  val insert_radiobutton :
    index:Tk.menu_index ->
    ?accelerator:string ->
    ?activebackground:Tk.color ->
    ?activeforeground:Tk.color ->
    ?background:Tk.color ->
    ?bitmap:Tk.bitmap ->
    ?columnbreak:bool ->
    ?command:(unit -> unit) ->
    ?font:string ->
    ?foreground:Tk.color ->
    ?image:[< Tk.image ] ->
    ?indicatoron:bool ->
    ?label:string ->
    ?selectcolor:Tk.color ->
    ?selectimage:[< Tk.image ] ->
    ?state:Tk.state ->
    ?underline:int ->
    ?value:string ->
    ?variable:Textvariable.textVariable -> Widget.menu Widget.widget -> unit
  val insert_separator :
    Widget.menu Widget.widget -> index:Tk.menu_index -> unit
  val invoke : Widget.menu Widget.widget -> index:Tk.menu_index -> string
  val popup :
    x:int ->
    y:int -> ?entry:Tk.menu_index -> Widget.menu Widget.widget -> unit
  val post : Widget.menu Widget.widget -> x:int -> y:int -> unit
  val postcascade : Widget.menu Widget.widget -> index:Tk.menu_index -> unit
  val typeof :
    Widget.menu Widget.widget -> index:Tk.menu_index -> Tk.menuItem
  val unpost : Widget.menu Widget.widget -> unit
  val yposition : Widget.menu Widget.widget -> index:Tk.menu_index -> int
end