/**
 * ProductInfo – product detail block (primitive)
 *
 * Title, description, price, optional variant selector and CTA. Minimal layout;
 * override with className/style. For use on individual product page.
 *
 * When options/variants/selections/onSelectionChange are provided and
 * renderVariantSelector is NOT provided, renders the built-in VariantSelector.
 * renderVariantSelector still takes priority as an override.
 */
import React from 'react';
import type { ProductBadge, ProductOption, ProductVariant } from '@seekora-ai/ui-sdk-types';
export interface ProductInfoProps {
    title: string;
    description?: string;
    price?: number | string;
    currency?: string;
    /** Compare/original price for strikethrough display */
    comparePrice?: number | string;
    /** Product brand */
    brand?: string;
    /** Whether product is available */
    available?: boolean;
    /** Badges to display */
    badges?: ProductBadge[];
    /** Product option axes (Color, Size, etc.) */
    options?: ProductOption[];
    /** Product variants */
    variants?: ProductVariant[];
    /** Currently selected variant */
    selectedVariant?: ProductVariant | null;
    /** Current option selections */
    selections?: Record<string, string>;
    /** Called when an option value is selected */
    onSelectionChange?: (optionName: string, value: string) => void;
    /** Optional variant selector override (takes priority over built-in) */
    renderVariantSelector?: () => React.ReactNode;
    /** Optional CTA (e.g. Add to cart) */
    renderCTA?: () => React.ReactNode;
    className?: string;
    style?: React.CSSProperties;
}
export declare function ProductInfo({ title, description, price, currency, comparePrice, brand, available, badges, options, variants, selectedVariant: _selectedVariant, selections, onSelectionChange, renderVariantSelector, renderCTA, className, style, }: ProductInfoProps): React.JSX.Element;
//# sourceMappingURL=ProductInfo.d.ts.map