---@module 'evergarden.types'

---@alias evergarden.types.variant
---|'winter'
---|'fall'
---|'spring'
---|'summer'

---@alias evergarden.types.colors.enum
---|'red'
---|'orange'
---|'yellow'
---|'lime'
---|'green'
---|'aqua'
---|'skye'
---|'snow'
---|'blue'
---|'purple'
---|'pink'
---|'cherry'
---|'text'
---|'subtext1'
---|'subtext0'
---|'overlay2'
---|'overlay1'
---|'overlay0'
---|'surface2'
---|'surface1'
---|'surface0'
---|'base'
---|'mantle'
---|'crust'
---@alias evergarden.types.colors { [evergarden.types.colors.enum]: string }

---@class evergarden.types.colorspec
---@field fg? string
---@field bg? string
---@field link? string
---@field blend? integer
---@field style? evergarden.types.styleopt
---@field [1]? string
---@field [2]? string

---@alias evergarden.types.styleopt evergarden.types.styleopt.enum[]
---@alias evergarden.types.styleopt.enum
---|'bold'
---|'standout'
---|'underline'
---|'undercurl'
---|'underdouble'
---|'underdotted'
---|'underdashed'
---|'strikethrough'
---|'italic'
---|'reverse'
---|'nocombine'

---@alias evergarden.types.hlgroups { [string]: evergarden.types.colorspec }
---@alias evergarden.types.hlgroups.OL { [integer]: evergarden.types.hlgroups.OL, [string]: evergarden.types.colorspec }
