/**
 * Represents a link in the help topic, typically used for additional resources or documentation.
 * Each link has a text label and a URL.
 */
export interface HelpLink {
  /**
   * Text to display for the link
   */
  text: string
  /**
   * URL to navigate to when the link is clicked
   */
  url: string
}

/**
 * Represents an example in a help topic with optional title and content.
 */
export interface HelpExample {
  /**
   * Optional title for the example
   */
  title?: string
  /**
   * The example content, typically in Markdown format
   */
  value: string
}

/**
 * Represents a help topic with structured content for user assistance.
 * Each topic is categorized and can include examples and related links.
 */
export interface HelpTopic {
  /**
   * Identifier within the category, e.g., "name-input"
   */
  id: string
  /**
   * Category of the help topic, used for grouping and filtering
   */
  category: string
  /**
   * Title for the help panel header
   */
  title: string
  /**
   * Body content for the help topic, typically in Markdown format.
   */
  body: string
  /**
   * Optional examples content. Can be either:
   * - A single string (legacy format for backward compatibility)
   * - An array of objects with optional title and value properties
   */
  examples?: string | HelpExample[]
  /**
   * Optional array of related links, each with text and URL
   */
  links?: HelpLink[]
}
