<?php
/**
 * Option set: Format Styles
 *
 * General-purpose output formats for the prompt builder wizard.
 * Generator-specific variants (title, FAQ, SEO meta, taxonomy) can be added when needed.
 *
 * @package AIPT\Api\PromptBuilder\OptionSets
 */

namespace AIPT\Api\PromptBuilder\OptionSets;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Provides output format style options for the prompt builder wizard.
 */
class FormatStyles {

	/**
	 * Get format style options for the prompt builder wizard.
	 *
	 * @return array<int, array{value: string, label: string, description: string}>
	 */
	public static function get(): array {
		$styles = array(
			array(
				'value'       => 'bullet_points',
				'label'       => __( 'Bullet Points', 'ai-product-tools' ),
				'description' => __( 'Organized list format for easy scanning', 'ai-product-tools' ),
			),
			array(
				'value'       => 'narrative',
				'label'       => __( 'Narrative', 'ai-product-tools' ),
				'description' => __( 'Flowing paragraph-based prose', 'ai-product-tools' ),
			),
			array(
				'value'       => 'mixed',
				'label'       => __( 'Mixed', 'ai-product-tools' ),
				'description' => __( 'Combination of paragraphs, headings, and lists', 'ai-product-tools' ),
			),
			array(
				'value'       => 'headings_paragraphs',
				'label'       => __( 'Headings + Paragraphs', 'ai-product-tools' ),
				'description' => __( 'Structured content with section headings', 'ai-product-tools' ),
			),
		);

		/**
		 * Filter the available format style options for the prompt builder wizard.
		 *
		 * @since 2.6.0
		 * @param array $styles Array of format style option entries.
		 */
		return apply_filters( 'ai_product_tools_format_styles', $styles );
	}
}
