---@class LspOverloadsKeymaps
---@field next_signature string
---@field previous_signature string
---@field next_parameter string
---@field previous_parameter string
---@field close_signature string

---@class LspOverloadsUiOpts
---@field border '"none"'|'"single"'|'"double"'|'"rounded"'|'"solid"'|'"shadow"'
---@field height number | nil Height of the signature window
---@field width number | nil Width of the signature window
---@field wrap boolean Wrap long lines
---@field silent boolean if 'true', shows lsp signature diagnostic messages using vim.notify() (default = true)
---@field wrap_at string | nil Character to wrap at for computing height when wrap enabled
---@field max_width number | nil maximal width of floating window
---@field max_height number | nil maximal height of floating window
---@field close_events table list of events that closes the floating window
---@field focusable boolean Make float focusable
---@field focus boolean If `true`, and if {focusable}
---             is also `true`, focus an existing floating window with the same
---             {focus_id}
---@field offset_x number Horizontal offset of the floating window relative to the cursor position
---@field offset_y number Vertical offset of the floating window relative to the cursor position
---@field floating_window_above_cur_line boolean If `true`, the floating window will be above the current line
---@field highlight table | nil Highlight options for the "LspSignatureActiveParameter" highlight

---@class LspOverloadsSettings
---@field keymaps LspOverloadsKeymaps
---@field ui LspOverloadsUiOpts
---@field display_automatically boolean if 'false' requires manual call of LspOverloadsSignature
---@field silent boolean if 'true', shows lsp signature diagnostic messages using vim.notify() (default = true)
