import type { Style } from '@simon_he/vue-tui'

type TextRange = Readonly<{ start: number; end: number }>
type TextAccentSegment = Readonly<{
  start: number
  end: number
  style?: Style
  highlightStyle?: Style
}>

export type CommandPaletteOption = Readonly<{
  kind?: 'separator'
  label: string
  detail?: string
  keywords?: readonly string[]
  style?: Style
  highlightStyle?: Style
  detailStyle?: Style
  highlightDetailStyle?: Style
  labelAccentRanges?: readonly TextRange[]
  detailAccentRanges?: readonly TextRange[]
  detailAccentSegments?: readonly TextAccentSegment[]
  accentStyle?: Style
  highlightAccentStyle?: Style
}>
