using AIImages.Models;

namespace AIImages.Services
{
    /// <summary>
    /// Интерфейс сервиса для генерации промптов Stable Diffusion
    /// </summary>
    public interface IPromptGeneratorService
    {
        /// <summary>
        /// Генерирует позитивный промпт на основе данных о персонаже
        /// </summary>
        string GeneratePositivePrompt(
            PawnAppearanceData appearanceData,
            StableDiffusionSettings settings
        );

        /// <summary>
        /// Генерирует негативный промпт на основе настроек
        /// </summary>
        string GenerateNegativePrompt(StableDiffusionSettings settings);

        /// <summary>
        /// Получает полное описание промпта (позитивный + негативный) для отображения
        /// </summary>
        string GetFullPromptDescription(
            PawnAppearanceData appearanceData,
            StableDiffusionSettings settings
        );
    }
}
