<?php
/*
* This file is part of Chevere.
*
* (c) Rodolfo Berrios <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chevere\VarDump\Interfaces;
use Chevere\Writer\Interfaces\WriterInterface;
/**
* Describes the component in charge of orchestrating the var dump output processing.
*/
interface OutputInterface
{
/**
* This method is executed before `prepare()`.
* @param array<array<string, mixed>> $trace
*/
public function setUp(WriterInterface $writer, array $trace): void;
/**
* Ends the output.
*/
public function finalize(): void;
/**
* Writes the caller file using the target formatter.
*/
public function writeCallerFile(FormatInterface $format): void;
/**
* Provides access to the instance backtrace.
* @return array<array<string, mixed>>
*/
public function trace(): array;
/**
* Provides access to the instance caller.
*/
public function caller(): string;
/**
* This method is executed before `finalize()`.
*/
public function prepare(): void;
}
|