<?php

declare(strict_types=1);

namespace GNexus\GAuth\DTO;

final readonly class AuthenticatedUser
{
    /**
     * @param array<string, mixed> $profile
     * @param array<int, ClientAccess> $clientAccessList
     * @param array<string, mixed> $rawPayload
     */
    public function __construct(
        public string $userId,
        public string $email,
        public bool $emailVerified,
        public ?string $systemRole = null,
        public ?string $status = null,
        public array $profile = [],
        public array $clientAccessList = [],
        public array $rawPayload = [],
    ) {
    }
}

