<?php

declare(strict_types=1);

namespace App\Framework\Debug;

use App\Framework\Debug\Formatters\FormatterInterface;

/**
 * Interface für alle Debug-Ausgabemethoden.
 */
interface OutputInterface
{
    /**
     * Gibt einen Debug-Eintrag aus
     */
    public function output(DebugEntry $entry, FormatterInterface $formatter): void;

    /**
     * Gibt eine Historie von Debug-Einträgen aus
     *
     * @param DebugEntry[] $entries
     */
    public function outputHistory(array $entries, FormatterInterface $formatter): void;

    /**
     * Gibt einen Rohtext aus
     */
    public function outputRaw(string $text): void;
}
