*/ interface IOInterface extends LoggerInterface { public const QUIET = 1; public const NORMAL = 2; public const VERBOSE = 4; public const VERY_VERBOSE = 8; public const DEBUG = 16; /** * Is this input means interactive? * * @return bool */ public function isInteractive(); /** * Is this output verbose? * * @return bool */ public function isVerbose(); /** * Is the output very verbose? * * @return bool */ public function isVeryVerbose(); /** * Is the output in debug verbosity? * * @return bool */ public function isDebug(); /** * Is this output decorated? * * @return bool */ public function isDecorated(); /** * Writes a message to the output. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function write($messages, bool $newline = true, int $verbosity = self::NORMAL); /** * Writes a message to the error output. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function writeError($messages, bool $newline = true, int $verbosity = self::NORMAL); /** * Writes a message to the output, without formatting it. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function writeRaw($messages, bool $newline = true, int $verbosity = self::NORMAL); /** * Writes a message to the error output, without formatting it. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function writeErrorRaw($messages, bool $newline = true, int $verbosity = self::NORMAL); /** * Overwrites a previous message to the output. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $size The size of line * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function overwrite($messages, bool $newline = true, ?int $size = null, int $verbosity = self::NORMAL); /** * Overwrites a previous message to the error output. * * @param string|string[] $messages The message as an array of lines or a single string * @param bool $newline Whether to add a newline or not * @param int $size The size of line * @param int $verbosity Verbosity level from the VERBOSITY_* constants * * @return void */ public function overwriteError($messages, bool $newline = true, ?int $size = null, int $verbosity = self::NORMAL); /** * Asks a question to the user. * * @param string $question The question to ask * @param string|bool|int|float|null $default The default answer if none is given by the user * * @throws \RuntimeException If there is no data to read in the input stream * @return mixed The user answer */ public function ask(string $question, $default = null); /** * Asks a confirmation to the user. * * The question will be asked until the user answers by nothing, yes, or no. * * @param string $question The question to ask * @param bool $default The default answer if the user enters nothing * * @return bool true if the user has confirmed, false otherwise */ public function askConfirmation(string $question, bool $default = true); /** * Asks for a value and validates the response. * * The validator receives the data to validate. It must return the * validated data when the data is valid and throw an exception * otherwise. * * @param string $question The question to ask * @param callable $validator A PHP callback * @param null|int $attempts Max number of times to ask before giving up (default of null means infinite) * @param mixed $default The default answer if none is given by the user * * @throws \Exception When any of the validators return an error * @return mixed */ public function askAndValidate(string $question, callable $validator, ?int $attempts = null, $default = null); /** * Asks a question to the user and hide the answer. * * @param string $question The question to ask * * @return string|null The answer */ public function askAndHideAnswer(string $question); /** * Asks the user to select a value. * * @param string $question The question to ask * @param string[] $choices List of choices to pick from * @param bool|string $default The default answer if the user enters nothing * @param bool|int $attempts Max number of times to ask before giving up (false by default, which means infinite) * @param string $errorMessage Message which will be shown if invalid value from choice list would be picked * @param bool $multiselect Select more than one value separated by comma * * @throws \InvalidArgumentException * * @return int|string|list|bool The selected value or values (the key of the choices array) * @phpstan-return ($multiselect is true ? list : string|int|bool) */ public function select( string $question, array $choices, $default, $attempts = false, string $errorMessage = 'Value "%s" is invalid', bool $multiselect = false, ); /** * Get all authentication information entered. * * @return array The map of authentication data */ public function getAuthentications(); /** * Verify if the repository has a authentication information. * * @param string $repositoryName The unique name of repository * * @return bool */ public function hasAuthentication(string $repositoryName); /** * Get the username and password of repository. * * @param string $repositoryName The unique name of repository * * @return array{username: string|null, password: string|null} */ public function getAuthentication(string $repositoryName); /** * Set the authentication information for the repository. * * @param string $repositoryName The unique name of repository * @param string $username The username * @param null|string $password The password * * @return void */ public function setAuthentication(string $repositoryName, string $username, ?string $password = null); /** * Loads authentications from a config instance * * @return void */ public function loadConfiguration(Config $config); } __halt_compiler();----SIGNATURE:----0jXTim1grmyBAbNe/YWcZ4RgSOvXXGgKF2BqFxuoQjLkLe8ENyle9G8mI4F7A2un9glbRbqFNBE7iaa+EmZZZJfDWs0MijJBBR7eg/4Or8GNzBEwpmLFYdCjbTYpUOfNWLsxBiBY6LMn8ACUce2epK/yxQdIEsG9kilP71popInVZVX3aEqwu5sPH1cpMFXbQdBbWJrYei9AR4MIEB9Lar+5Wgeo7CG1A8fA0pLiKRkGVJDmKBKiU6vTGrBlJ+hW3XH9U4BDqi7WZp1vImjWMTWFLTaR88cFAGd2y1jF6Q0ZQYOxPk1emiwtMqM1TsjN/kAHVQM78U9eCxrbYvQ5ZvL/MB9VZjLgYp5NA+ECvpGN2i6cftA1Mc1YpdkY8NTTmt9cELGaU4PXJWI+F8CcUpKfgxoPBTyCLkjBCSYJSZAwjh/SD27SG9lEh5SVyy6vGzwlVKxusSramqhvQeLQ9b1rywv87KHGpesRWBwbcTm9m7q0Ju1zWVB+ry3CtzybIB0q0q8uNkTK9X6uuydh+S0OT4P0b22RFf8MuL1P8ZdiLPxC07ycy3gf8SGHGHYBOWJ0jKszjghxyd5N54mIjA/K+SlDHvfa8m9l+DfOs+KLpABj9Y0n53WrMGUuO01dkVmtjVuhZfUhw1MDx/lAkCNsEtJwWnmzFIAuY1e4R8w=----ATTACHMENT:----NjQ0Mjg2MzQzNDc5MzE2NSAyODU5MzE3NDgyODI5NDc0IDY0ODExODMxOTQ0ODM1Nzk=