<commit_before><?php

/*
 * This file is part of the Valkyrja framework.
 *
 * (c) <NAME>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Valkyrja\Contracts\Console;

/**
 * Interface ConsoleKernel.
 *
 * @author <NAME>
 */
interface Kernel
{
}<commit_msg>Fixing missing definitions in Kernel contract!<commit_after><?php

/*
 * This file is part of the Valkyrja framework.
 *
 * (c) <NAME>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Valkyrja\Contracts\Console;

use Valkyrja\Contracts\Application;
use Valkyrja\Contracts\Console\Input\Input;
use Valkyrja\Contracts\Console\Output\Output;

/**
 * Interface ConsoleKernel.
 *
 * @author <NAME>
 */
interface Kernel
{
    /**
     * Kernel constructor.
     *
     * @param \Valkyrja\Contracts\Application     $application The application
     * @param \Valkyrja\Contracts\Console\Console $console     The console
     */
    public function __construct(Application $application, Console $console);

    /**
     * Handle a console input.
     *
     * @param \Valkyrja\Contracts\Console\Input\Input   $input  The input
     * @param \Valkyrja\Contracts\Console\Output\Output $output The output
     *
     * @throws \Valkyrja\Http\Exceptions\HttpException
     *
     * @return int
     */
    public function handle(Input $input, Output $output): int;

    /**
     * Terminate the kernel request.
     *
     * @param \Valkyrja\Contracts\Console\Input\Input $input    The input
     * @param int                                     $exitCode The response
     *
     * @return void
     */
    public function terminate(Input $input, int $exitCode): void;

    /**
     * Run the kernel.
     *
     * @param \Valkyrja\Contracts\Console\Input\Input   $input  The input
     * @param \Valkyrja\Contracts\Console\Output\Output $output The output
     *
     * @throws \Valkyrja\Http\Exceptions\HttpException
     *
     * @return void
     */
    public function run(Input $input = null, Output $output = null): void;
}
{'fraction_non_alphanumeric': 0.1070604522381172, 'fraction_numerical': 0.0, 'mean_word_length': 2.6683587140439933, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1202462', 'n_tokens_mistral': 652, 'n_tokens_neox': 645, 'n_words': 179}