import { formatForInkCli } from "./format-output.js";
class CommandOutputHelper {
  /**
   * Format success message for ink-cli to display
   */
  static success(message) {
    return formatForInkCli(message);
  }
  /**
   * Format info message for ink-cli to display
   */
  static info(message) {
    return formatForInkCli(message);
  }
  /**
   * Format warning message for ink-cli to display
   */
  static warning(message) {
    return formatForInkCli(`\u26A0\uFE0F ${message}`);
  }
  /**
   * Format error message for ink-cli to display
   */
  static error(error, context) {
    const errorMessage = error instanceof Error ? error.message : String(error);
    const fullMessage = context ? `\u274C ${context}: ${errorMessage}` : `\u274C ${errorMessage}`;
    return formatForInkCli(fullMessage);
  }
  /**
   * Format multi-line output for ink-cli to display
   */
  static output(lines) {
    return formatForInkCli(lines.join("\n"));
  }
  /**
   * Create styled output for rich rendering in ink-cli
   * @param styledType - The type of styled rendering
   * @param styledData - The structured data for rendering
   * @param fallbackText - Plain text fallback for logging/non-ink environments
   */
  static styled(styledType, styledData, fallbackText) {
    return {
      styledType,
      styledData,
      fallbackText: formatForInkCli(fallbackText)
    };
  }
}
export {
  CommandOutputHelper
};
