<?php

declare(strict_types=1);

namespace App\Commerce\Dto;

final readonly class CommerceSearchQuery
{
    /**
     * @param string[] $colors
     * @param string[] $sizes
     * @param string[] $properties
     */
    public function __construct(
        public string $originalPrompt,
        public string $normalizedPrompt,
        public string $searchText,
        public ?string $brand = null,
        public array $sizes = [],
        public array $properties = [],
        public ?float $priceMin = null,
        public ?float $priceMax = null,
        public string $intent = 'none',
        public bool $needsLlmFallback = false,
    ) {
    }
}