<?php

namespace Config;

use CodeIgniter\Config\AutoloadConfig;

/**
 * -------------------------------------------------------------------
 * AUTOLOADER CONFIGURATION
 * -------------------------------------------------------------------
 *
 * NOTE: If you use an identical key in $psr4 or $classmap, then
 *       the values in this file will overwrite the framework's values.
 *
 * NOTE: This class is required prior to Autoloader instantiation,
 *       and does not extend BaseConfig.
 *
 * @immutable
 */
class Autoload extends AutoloadConfig
{
    /**
     * @var array<string, list<string>|string>
     */
    public $psr4 = [
        APP_NAMESPACE => APPPATH, // For custom app namespace
        'Config'      => APPPATH . 'Config',

        // Hand-rolled drop-in for firebase/php-jwt (see
        // app/ThirdParty/Firebase/JWT/JWT.php for why) — this mapping is
        // ONLY needed for Composer-less deploys. If you `composer install`
        // this project instead, delete app/ThirdParty/Firebase/JWT/ and
        // this line so the real firebase/php-jwt package from vendor/
        // takes over (it has the full multi-algorithm feature set).
        'Firebase\\JWT' => APPPATH . 'ThirdParty/Firebase/JWT',
    ];

    /**
     * @var array<string, string>
     */
    public $classmap = [];

    /**
     * @var list<string>
     */
    public $files = [];

    /**
     * @var list<string>
     */
    public $helpers = [];
}
