import { Product } from '../../products/models/product-domain.model';

export interface FavoriteItem {
  product: Product;
  addedAt: string;
  ownerType: 'guest' | 'user';
}

export interface ComparedProduct {
  product: Product;
  addedAt: string;
}

export interface RecentlyViewedItem {
  product: Product;
  viewedAt: string;
}

export interface SavedSearch {
  id: string;
  name: string;
  query: string;
  sort: string;
  categoryId?: number;
  filters: {
    values: Record<string, string[]>;
    ranges: Record<string, { min?: number; max?: number }>;
    toggles: Record<string, boolean>;
  };
  createdAt: string;
}

export interface ContinueBrowsingState {
  routeKey: string;
  query: string;
  sort: string;
  layout: string;
  page: number;
  pageSize: number;
  categoryId?: number;
  filterState: {
    values: Record<string, string[]>;
    ranges: Record<string, { min?: number; max?: number }>;
    toggles: Record<string, boolean>;
  };
  scrollY: number;
  updatedAt: string;
}
