/**
 * useVariantSelection – manages variant selection state
 *
 * Single source of truth for variant interactions on product pages.
 * Cards display variants passively; product pages use this hook.
 */
import type { ProductOption, ProductVariant } from '@seekora-ai/ui-sdk-types';
export interface UseVariantSelectionOptions {
    options?: ProductOption[];
    variants?: ProductVariant[];
    initialSelections?: Record<string, string>;
    onVariantChange?: (variant: ProductVariant | null, selections: Record<string, string>) => void;
}
export interface UseVariantSelectionReturn {
    selections: Record<string, string>;
    setSelection: (optionName: string, value: string) => void;
    resetSelections: () => void;
    selectedVariant: ProductVariant | null;
    availableValues: Record<string, {
        value: string;
        available: boolean;
    }[]>;
    isComplete: boolean;
    effectivePrice: number | null;
    effectiveComparePrice: number | null;
}
export declare function useVariantSelection({ options, variants, initialSelections, onVariantChange, }?: UseVariantSelectionOptions): UseVariantSelectionReturn;
//# sourceMappingURL=useVariantSelection.d.ts.map