import * as React from 'react';
import { Swatch } from '../../contexts/ov25-ui-context.js';
export interface Variant {
    id: string;
    groupId?: string;
    optionId?: string;
    name: string;
    price: number;
    image: string;
    blurHash: string;
    data?: any;
    isSelected?: boolean;
    swatch?: Swatch;
}
export type DrawerSizes = 'closed' | 'small' | 'large';
export interface VariantGroup {
    groupName: string;
    variants: Variant[];
}
export interface VariantCardProps {
    variant: Variant;
    onSelect: (variant: Variant) => void;
    index: number;
    isMobile: boolean;
    isGrouped?: boolean;
}
interface ProductVariantsProps {
    isOpen: boolean;
    onClose: () => void;
    title: string;
    variants: Variant[] | VariantGroup[];
    onSelect: (variant: Variant) => void;
    VariantCard?: React.ComponentType<VariantCardProps>;
    onAccordionChange?: () => void;
    gridDivide?: number;
    drawerSize?: DrawerSizes;
    onNext?: () => void;
    onPrevious?: () => void;
    basis?: string;
    isMobile: boolean;
}
export declare const ProductVariants: ({ variants, onSelect, drawerSize, gridDivide, VariantCard, basis, isMobile, }: ProductVariantsProps) => React.JSX.Element;
export {};
