<?php
/*
 * Copyright 2026 Alessandro Chiapparini <sprint_planer_web@chiapparini.org>
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * See the LICENSE file in the project root for the full license text.
 */

declare(strict_types=1);

namespace App\Domain\Import;

/**
 * One Arbeitstage-block week column extracted from a sheet.
 *
 * `dateLabel` is the raw cell value (e.g. "23.03" or "23.03.2026") — kept as
 * a string so we can show the user what was on the sheet even when no real
 * date can be inferred. The parser sets `inferredStartDate` (Y-m-d) when it
 * can derive one from `kw` + a year hint; otherwise null and the wizard
 * prompts the operator.
 */
final class ParsedWeek
{
    public function __construct(
        public readonly int     $sortOrder,
        public readonly int     $kw,
        public readonly string  $dateLabel,
        public readonly int     $maxWorkingDays,
        public readonly ?string $inferredStartDate = null,
    ) {
    }
}
