/**
 * Recommendation Components
 *
 * Components for displaying product recommendations:
 * - RelatedProducts: Show related items based on a product
 * - TrendingItems: Display trending/popular products
 * - FrequentlyBoughtTogether: Bundle recommendations
 * - RecentlyViewed: User's recently viewed items
 */
import React from "react";
import type { ResultItem } from "@seekora-ai/ui-sdk-types";
export interface RecommendationItem extends ResultItem {
    [key: string]: any;
}
export interface RecommendationTheme {
    root?: string;
    title?: string;
    list?: string;
    item?: string;
    image?: string;
    content?: string;
    name?: string;
    price?: string;
    empty?: string;
}
interface BaseRecommendationProps {
    /** Title for the section */
    title?: string;
    /** Maximum items to show */
    maxItems?: number;
    /** Custom render function for items */
    renderItem?: (item: RecommendationItem, index: number) => React.ReactNode;
    /** Callback when item is clicked */
    onItemClick?: (item: RecommendationItem, index: number) => void;
    /** Custom className */
    className?: string;
    /** Custom styles */
    style?: React.CSSProperties;
    /** Custom theme */
    theme?: RecommendationTheme;
    /** Layout mode */
    layout?: "carousel" | "grid" | "list";
    /** Currency symbol for prices */
    currencySymbol?: string;
}
export interface RelatedProductsProps extends BaseRecommendationProps {
    /** Product ID to get related products for */
    productId: string;
    /** Custom items (if not using API) */
    items?: RecommendationItem[];
    /** Loading state */
    loading?: boolean;
}
export declare const RelatedProducts: React.FC<RelatedProductsProps>;
export interface TrendingItemsProps extends BaseRecommendationProps {
    /** Custom items (if not using API) */
    items?: RecommendationItem[];
    /** Loading state */
    loading?: boolean;
    /** Facet name for trending (if using facet data) */
    facetName?: string;
}
export declare const TrendingItems: React.FC<TrendingItemsProps>;
export interface FrequentlyBoughtTogetherProps extends BaseRecommendationProps {
    /** Product ID to get frequently bought together items for */
    productId: string;
    /** Custom items (if not using API) */
    items?: RecommendationItem[];
    /** Loading state */
    loading?: boolean;
    /** Show "Add all to cart" button */
    showAddAllButton?: boolean;
    /** Callback when "Add all" is clicked */
    onAddAll?: (items: RecommendationItem[]) => void;
}
export declare const FrequentlyBoughtTogether: React.FC<FrequentlyBoughtTogetherProps>;
export interface RecentlyViewedProps extends BaseRecommendationProps {
    /** Storage key for localStorage */
    storageKey?: string;
    /** Custom items (overrides localStorage) */
    items?: RecommendationItem[];
}
export declare const RecentlyViewed: React.FC<RecentlyViewedProps>;
/**
 * Add item to recently viewed (utility function)
 */
export declare function addToRecentlyViewed(item: RecommendationItem, storageKey?: string, maxItems?: number): void;
export {};
//# sourceMappingURL=Recommendations.d.ts.map