export interface TourState {
  currentStep: number;
  completed: boolean;
  dismissed: boolean;
  lastUpdated: number;
  tourVersion: string;
}

export interface TourStep {
  element?: string;
  popover: {
    title: string;
    description: string;
    side?: 'top' | 'right' | 'bottom' | 'left';
    align?: 'start' | 'center' | 'end';
  };
  onNext?: () => void;
  onPrevious?: () => void;
}

export interface TourAnalyticsEvent {
  event: 'tour_started' | 'tour_step_completed' | 'tour_completed' | 'tour_dismissed' | 'conversion_cta_clicked';
  step?: number;
  timestamp: number;
  sessionId?: string;
}
