export interface GenerationRequest {
  tag: string;
  user_id: number;
  workflow: any; // Структура воркфлоу
}

export interface GenerationResponse {
  message: string;
  Task_ID: string;
  queue_position?: number; // Добавляем позицию в очереди
}

// Для задач в очереди
export interface PendingTask {
  task_id: number;
  prompt_id: string;
  status: string;
  created_at: string;
  queue_position: number | null;
  updated_at: string;
}

export interface ApiError {
  detail: {
    loc: (string | number)[];
    msg: string;
    type: string;
  }[];
}

export interface GeneratedImage {
  id: number;
  link: string; // file_id из Telegram
  prompt_id: string;
  status: string;
  created_at: string;
  sticker_set_id: number | null;
  url?: string; // Проксированный URL для отображения
}

// Интерфейсы для работы со стикерпаками
export interface StickerPack {
  name: string;
  title: string;
  sticker_type: string;
  thumbnail_url: string;
  share_url: string;
  stickers: Sticker[];
}

export interface Sticker {
  file_id: string;
  emoji: string;
  position: number;
  file_url: string;
}

export interface StickerSetResponse {
  id: number;
  set_name: string;
  user_id: number;
}

// Интерфейс для ответа от apiService.generateImage
export interface GenerationResult {
  result?: GenerationResponse;
  usedPrompt?: string;
  translationFailed: boolean;
  errorDetails?: string; // Детали ошибки для отладки
}
