<?php
// These stubs were generated by the phan stub generator.
// @phan-stub-for-extension phar@7.4.19-dev

namespace {
class Phar extends \RecursiveDirectoryIterator implements \Countable, \ArrayAccess {

    // constants
    const CURRENT_MODE_MASK = 240;
    const CURRENT_AS_PATHNAME = 32;
    const CURRENT_AS_FILEINFO = 0;
    const CURRENT_AS_SELF = 16;
    const KEY_MODE_MASK = 3840;
    const KEY_AS_PATHNAME = 0;
    const FOLLOW_SYMLINKS = 512;
    const KEY_AS_FILENAME = 256;
    const NEW_CURRENT_AND_KEY = 256;
    const OTHER_MODE_MASK = 12288;
    const SKIP_DOTS = 4096;
    const UNIX_PATHS = 8192;
    const BZ2 = 8192;
    const GZ = 4096;
    const NONE = 0;
    const PHAR = 1;
    const TAR = 2;
    const ZIP = 3;
    const COMPRESSED = 61440;
    const PHP = 0;
    const PHPS = 1;
    const MD5 = 1;
    const OPENSSL = 16;
    const SHA1 = 2;
    const SHA256 = 3;
    const SHA512 = 4;

    // methods
    public function __construct($filename, $flags = null, $alias = null) {}
    public function __destruct() {}
    public function addEmptyDir($dirname = null) {}
    public function addFile($filename, $localname = null) {}
    public function addFromString($localname, $contents = null) {}
    public function buildFromDirectory($base_dir, $regex = null) {}
    public function buildFromIterator($iterator, $base_directory = null) {}
    public function compressFiles($compression_type) {}
    public function decompressFiles() {}
    public function compress($compression_type, $file_ext = null) {}
    public function decompress($file_ext = null) {}
    public function convertToExecutable($format = null, $compression_type = null, $file_ext = null) {}
    public function convertToData($format = null, $compression_type = null, $file_ext = null) {}
    public function copy($newfile, $oldfile) {}
    public function count() {}
    public function delete($entry) {}
    public function delMetadata() {}
    public function extractTo($pathto, $files = null, $overwrite = null) {}
    public function getAlias() {}
    public function getPath() {}
    public function getMetadata() {}
    public function getModified() {}
    public function getSignature() {}
    public function getStub() {}
    public function getVersion() {}
    public function hasMetadata() {}
    public function isBuffering() {}
    public function isCompressed() {}
    public function isFileFormat($fileformat) {}
    public function isWritable() {}
    public function offsetExists($entry) {}
    public function offsetGet($entry) {}
    public function offsetSet($entry, $value) {}
    public function offsetUnset($entry) {}
    public function setAlias($alias) {}
    public function setDefaultStub($index = null, $webindex = null) {}
    public function setMetadata($metadata) {}
    public function setSignatureAlgorithm($algorithm, $privatekey = null) {}
    public function setStub($newstub, $maxlen = null) {}
    public function startBuffering() {}
    public function stopBuffering() {}
    final public static function apiVersion() {}
    final public static function canCompress($method = null) {}
    final public static function canWrite() {}
    final public static function createDefaultStub($index = null, $webindex = null) {}
    final public static function getSupportedCompression() {}
    final public static function getSupportedSignatures() {}
    final public static function interceptFileFuncs() {}
    final public static function isValidPharFilename($filename, $executable = null) {}
    final public static function loadPhar($filename, $alias = null) {}
    final public static function mapPhar($alias = null, $offset = null) {}
    final public static function running($retphar = null) {}
    final public static function mount($inphar, $externalfile) {}
    final public static function mungServer($munglist) {}
    final public static function unlinkArchive($archive) {}
    final public static function webPhar($alias = null, $index = null, $f404 = null, $mimetypes = null, $rewrites = null) {}
}

class PharData extends \RecursiveDirectoryIterator implements \Countable, \ArrayAccess {

    // constants
    const CURRENT_MODE_MASK = 240;
    const CURRENT_AS_PATHNAME = 32;
    const CURRENT_AS_FILEINFO = 0;
    const CURRENT_AS_SELF = 16;
    const KEY_MODE_MASK = 3840;
    const KEY_AS_PATHNAME = 0;
    const FOLLOW_SYMLINKS = 512;
    const KEY_AS_FILENAME = 256;
    const NEW_CURRENT_AND_KEY = 256;
    const OTHER_MODE_MASK = 12288;
    const SKIP_DOTS = 4096;
    const UNIX_PATHS = 8192;

    // methods
    public function __construct($filename, $flags = null, $alias = null, $fileformat = null) {}
    public function __destruct() {}
    public function addEmptyDir($dirname = null) {}
    public function addFile($filename, $localname = null) {}
    public function addFromString($localname, $contents = null) {}
    public function buildFromDirectory($base_dir, $regex = null) {}
    public function buildFromIterator($iterator, $base_directory = null) {}
    public function compressFiles($compression_type) {}
    public function decompressFiles() {}
    public function compress($compression_type, $file_ext = null) {}
    public function decompress($file_ext = null) {}
    public function convertToExecutable($format = null, $compression_type = null, $file_ext = null) {}
    public function convertToData($format = null, $compression_type = null, $file_ext = null) {}
    public function copy($newfile, $oldfile) {}
    public function count() {}
    public function delete($entry) {}
    public function delMetadata() {}
    public function extractTo($pathto, $files = null, $overwrite = null) {}
    public function getAlias() {}
    public function getPath() {}
    public function getMetadata() {}
    public function getModified() {}
    public function getSignature() {}
    public function getStub() {}
    public function getVersion() {}
    public function hasMetadata() {}
    public function isBuffering() {}
    public function isCompressed() {}
    public function isFileFormat($fileformat) {}
    public function isWritable() {}
    public function offsetExists($entry) {}
    public function offsetGet($entry) {}
    public function offsetSet($entry, $value) {}
    public function offsetUnset($entry) {}
    public function setAlias($alias) {}
    public function setDefaultStub($index = null, $webindex = null) {}
    public function setMetadata($metadata) {}
    public function setSignatureAlgorithm($algorithm, $privatekey = null) {}
    public function setStub($newstub, $maxlen = null) {}
    public function startBuffering() {}
    public function stopBuffering() {}
    final public static function apiVersion() {}
    final public static function canCompress($method = null) {}
    final public static function canWrite() {}
    final public static function createDefaultStub($index = null, $webindex = null) {}
    final public static function getSupportedCompression() {}
    final public static function getSupportedSignatures() {}
    final public static function interceptFileFuncs() {}
    final public static function isValidPharFilename($filename, $executable = null) {}
    final public static function loadPhar($filename, $alias = null) {}
    final public static function mapPhar($alias = null, $offset = null) {}
    final public static function running($retphar = null) {}
    final public static function mount($inphar, $externalfile) {}
    final public static function mungServer($munglist) {}
    final public static function unlinkArchive($archive) {}
    final public static function webPhar($alias = null, $index = null, $f404 = null, $mimetypes = null, $rewrites = null) {}
}

class PharException extends \Exception {

    // properties
    protected $message;
    protected $code;
    protected $file;
    protected $line;
}

class PharFileInfo extends \SplFileInfo {

    // methods
    public function __construct($filename) {}
    public function __destruct() {}
    public function chmod($perms) {}
    public function compress($compression_type) {}
    public function decompress() {}
    public function delMetadata() {}
    public function getCompressedSize() {}
    public function getCRC32() {}
    public function getContent() {}
    public function getMetadata() {}
    public function getPharFlags() {}
    public function hasMetadata() {}
    public function isCompressed($compression_type = null) {}
    public function isCRCChecked() {}
    public function setMetadata($metadata) {}
}

}
