<?php

declare(strict_types=1);

namespace Tricks\LaravelTools\Data\Monitoring;

use Spatie\LaravelData\Data;
use Spatie\LaravelData\DataCollection;

final class MonitoringData extends Data
{
    public function __construct(
        public string $php,
        public bool $opcacheDisabled,
        /** @var DataCollection<int,PackageData> */
        public DataCollection $packages,
        /** @var array<int,mixed> */
        public ?array $outdatedPackages,
        public bool $hasSentry,
        public bool $hasRobotsMiddleware,
        public bool $hasResponseCache,
        /** @var ?DataCollection<int,EndpointData> */
        public ?DataCollection $endpoints,
        public bool $debugModeDisabled,
        public bool $hasMailConfig,
        public bool $mailUsesCampaignMonitor,
    ) {
        //
    }
}
