<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;
use Kint\Parser\ConstructablePluginInterface;
use Kint\Renderer\AbstractRenderer;
use Kint\Renderer\Rich\TabPluginInterface;
use Kint\Renderer\Rich\ValuePluginInterface;

class Kint extends BaseConfig
{
    /**
     * Optional custom parser plugins.
     *
     * @var list<class-string<ConstructablePluginInterface>|ConstructablePluginInterface>|null
     */
    public ?array $plugins = null;

    /**
     * Maximum depth for rendering arrays/objects.
     */
    public int $maxDepth = 6;

    /**
     * Whether to show where the dump was called from.
     */
    public bool $displayCalledFrom = true;

    /**
     * Expand all dump trees by default.
     */
    public bool $expanded = false;

    /**
     * CSS theme for RichRenderer (web output).
     */
    public string $richTheme = 'aante-light.css';

    /**
     * Whether to load the rich folder with Kint assets.
     */
    public bool $richFolder = false;

    /**
     * Enable Kint debugging system-wide.
     *
     * Set to false for production.
     */
    public bool $enabled = false;

    /**
     * Enable CLI color output (ANSI).
     */
    public bool $cliColors = true;

    /**
     * Force UTF-8 output in CLI.
     */
    public bool $cliForceUTF8 = true;

    /**
     * Let Kint auto-detect the terminal width.
     */
    public bool $cliDetectWidth = true;

    /**
     * Minimum width (in characters) for CLI output.
     */
    public int $cliMinWidth = 40;
}