<?php

namespace Illuminate\Console;

use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
// namespace
class OutputStyle extends SymfonyStyle
{
    /**
     * The output instance.
     * The output instance.
     * @var \Symfony\Component\Console\Output\OutputInterface
     */
    private $output;// all thing is a class

    /**
     * Create a new Console OutputStyle instance.
     *
     * @param  \Symfony\Component\Console\Input\InputInterface  $input
     * @param  \Symfony\Component\Console\Output\OutputInterface  $output
     * @return void
     */
    public function __construct(InputInterface $input, OutputInterface $output)
    {
        $this->output = $output;// Set the instance

        parent::__construct($input, $output);// use parent __construct
    }// Create a new Console OutputStyle instance

    /**
     * Returns whether verbosity is quiet (-q).
     * Returns whether verbosity is quiet (-q).
     * @return bool
     */
    public function isQuiet()
    {
        return $this->output->isQuiet();
    }// a api function

    /**
     * Returns whether verbosity is verbose (-v).
     *
     * @return bool
     */
    public function isVerbose()
    {
        return $this->output->isVerbose();
    }// check it is a verbose (-v)

    /**
     * Returns whether verbosity is very verbose (-vv).
     *
     * @return bool
     */
    public function isVeryVerbose()
    {
        return $this->output->isVeryVerbose();
    }// Check is Very Ver bose

    /**
     * Returns whether verbosity is debug (-vvv).
     *
     * @return bool
     */
    public function isDebug()
    {
        return $this->output->isDebug();
    }// is a dubeg()
}
// last this is a very big set and check.