<?php

declare(strict_types=1);

namespace CpCreation\VitiCore\Commerce\Catalog\Api\Resource;

final readonly class CatalogVariant
{
    /**
     * @param array<string, CatalogVariantLocalization> $localizations
     * @param array<string, string>                     $purchase_urls
     * @param list<CatalogMedia>                        $media
     * @param list<CatalogOption>                       $options
     */
    public function __construct(
        public string $id,
        public string $source_id,
        public string $seller_id,
        public ?string $sku,
        public bool $default,
        public ?int $position,
        public array $localizations,
        public CatalogContainer $container,
        public CatalogPrice $price,
        public CatalogAvailability $availability,
        public CatalogQuantityRules $quantity_rules,
        public array $purchase_urls,
        public array $media,
        public array $options,
    ) {}
}
