<?php

namespace HBP_Disabler_Vendor\Hybrid\Contracts\Debug;

interface ExceptionHandler
{
    /**
     * Report or log an exception.
     *
     * @return void
     * @throws \Throwable
     */
    public function report(\Throwable $e);
    /**
     * Determine if the exception should be reported.
     *
     * @return bool
     */
    public function shouldReport(\Throwable $e);
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Hybrid\Http\Request $request
     * @return \Symfony\Component\HttpFoundation\Response
     * @throws \Throwable
     */
    public function render($request, \Throwable $e);
    /**
     * Render an exception to the console.
     *
     * @param  \Symfony\Component\Console\Output\OutputInterface $output
     * @return void
     * @internal This method is not meant to be used or overwritten outside the framework.
     */
    public function renderForConsole($output, \Throwable $e);
}
