export interface Variant {
    id: number;
    slug: string;
    values: Array<{ id: number; variant_id?: number; variant_slug?: string }>;
    type?: string;
    show_invalid?: boolean;
    show_invalid_above?: boolean;
}

export interface ProductVariant {
    id: number;
    sku: string
    variants: number[];
    price: number;
    high_price: number;
}

export interface Galleries {
    [key: number]: string[];
}

export interface PrintervalVariantsOptions {
    variants: Variant[];
    productVariants: ProductVariant[];
    galleries: Galleries;
}

export interface VariantStatistic {
    [key: string]: {
        id: number;
        sku_key: string;
        count: number;
        price: number;
        high_price: number;
    };
}

export interface ProductVariants {
    productById: { [key: number]: ProductVariant };
    productByUniqId: { [key: string]: ProductVariant };
    productByUniqIdAbove: { [key: string]: ProductVariant };
}