/**
 * @fileoverview Utility module for useTour.js
 * 
 * @module hooks.useTour
 */

// TODO: Tour desativado temporariamente. Shepherd.js será removido quando o sistema
// de onboarding for reimplementado. Ver TODO de remoção do Shepherd.
// import Shepherd from "shepherd.js";

/**
 * Hook para gerenciar tours interativos usando Shepherd.js.
 * Controla ciclo de vida do tour: criar, mostrar, salvar conclusão em localStorage.
 * 
 * Características:
 * - Executa uma única vez (verifica localStorage)
 * - Delay configurável antes de iniciar
 * - Overlay modal com highlight de elementos
 * - Integração com localStorage para rastrear conclusão
 *
 * @hook useTour
 * @param {Object} [options={}] - Configuração do hook
 * @param {Array<Object>} [options.steps=[]] - Array de passos do tour (Shepherd steps)
 * @param {Object} [options.options={}] - Opções do tour Shepherd (mergeadas com defaults)
 * @param {string} [options.storageKey='tour-completed'] - Chave localStorage para rastrear conclusão
 * @param {boolean} [options.autoStart=true] - Inicia tour automaticamente se não completado
 * @param {number} [options.startDelay=1000] - Delay (ms) antes de auto-iniciar o tour
 * 
 * @returns {Object} Objeto com métodos do tour:
 *   - start() - Inicia o tour
 *   - end() - Encerra o tour
 *   - cancel() - Cancela o tour
 *   - markCompleted() - Marca como concluído e salva em localStorage
 *   - getCurrentStep() - Retorna passo atual
 *   - next() - Próximo passo
 *   - back() - Passo anterior
 *
 * @example
 * const tour = useTour({
 *   steps: [
 *     { element: '.button-start', title: '...', text: '...' },
 *     { element: '.result-area', title: '...', text: '...' }
 *   ],
 *   storageKey: 'game-intro-tour',
 *   startDelay: 500
 * });
 * 
 * return <div>Tour iniciará automaticamente após 500ms</div>;
 */
export const useTour = ({
  // eslint-disable-next-line no-unused-vars
  steps = [],
  // eslint-disable-next-line no-unused-vars
  options = {},
  // eslint-disable-next-line no-unused-vars
  storageKey = "tour-completed",
  // eslint-disable-next-line no-unused-vars
  autoStart = true,
  // eslint-disable-next-line no-unused-vars
  startDelay = 1000,
} = {}) => {
  const startTour = () => {};
  const completeTour = () => {};
  const resetTour = () => {};

  return {
    startTour,
    completeTour,
    resetTour,
    tour: null,
  };
};
