export interface IEditorCodeSuggestionGroup {
  /** Label for the suggestion group */
  label: string;
  /** List of suggestions for the group */
  suggestions: IEditorCodeSuggestion[];
}

/** Defines a code suggestion */
export interface IEditorCodeSuggestion {
  /** A short label for the suggestion. Can be thought as a title */
  label: string;
  /** A short description that will be showed below the label in the list of suggestions panel */
  description?: string;
  /** Markdown string that will be rendered along with the code in the detail panel */
  documentation?: string;
  /** The code for the suggestion. Will be injected in the editor is selected */
  code: string;
}

/** @param item */
export function isSuggestionGroups(item: unknown): item is IEditorCodeSuggestionGroup[];