File indexing completed on 2023-05-30 11:20:06

0001 <?php
0002 // THIS FILE IS GENERATED
0003 // WARNING! All changes made in this file will be lost!
0004 
0005 /**
0006  * The number of arguments passed to script
0007  **/
0008 $argc = array();
0009 
0010 /**
0011  * Array of arguments passed to script
0012  **/
0013 $argv = array();
0014 
0015 /**
0016  * References all variables available in global scope
0017  *
0018  * @superglobal
0019  **/
0020 $GLOBALS = array();
0021 
0022 /**
0023  * HTTP Cookies
0024  *
0025  * @deprecated
0026  **/
0027 $HTTP_COOKIE_VARS = array();
0028 
0029 /**
0030  * Environment variables
0031  *
0032  * @deprecated
0033  **/
0034 $HTTP_ENV_VARS = array();
0035 
0036 /**
0037  * HTTP GET variables
0038  *
0039  * @deprecated
0040  **/
0041 $HTTP_GET_VARS = array();
0042 
0043 /**
0044  * HTTP File Upload variables
0045  *
0046  * @deprecated
0047  **/
0048 $HTTP_POST_FILES = array();
0049 
0050 /**
0051  * HTTP POST variables
0052  *
0053  * @deprecated
0054  **/
0055 $HTTP_POST_VARS = array();
0056 
0057 /**
0058  * Raw POST data
0059  **/
0060 $HTTP_RAW_POST_DATA = array();
0061 
0062 /**
0063  * HTTP response headers
0064  **/
0065 $http_response_header = array();
0066 
0067 /**
0068  * Session variables
0069  *
0070  * @deprecated
0071  **/
0072 $HTTP_SESSION_VARS = array();
0073 
0074 /**
0075  * The previous error message
0076  **/
0077 $php_errormsg = array();
0078 
0079 /**
0080  * HTTP Cookies
0081  *
0082  * @superglobal
0083  **/
0084 $_COOKIE = array();
0085 
0086 /**
0087  * Environment variables
0088  *
0089  * @superglobal
0090  **/
0091 $_ENV = array();
0092 
0093 /**
0094  * HTTP File Upload variables
0095  *
0096  * @superglobal
0097  **/
0098 $_FILES = array();
0099 
0100 /**
0101  * HTTP GET variables
0102  *
0103  * @superglobal
0104  **/
0105 $_GET = array();
0106 
0107 /**
0108  * HTTP POST variables
0109  *
0110  * @superglobal
0111  **/
0112 $_POST = array();
0113 
0114 /**
0115  * HTTP Request variables
0116  *
0117  * @superglobal
0118  **/
0119 $_REQUEST = array();
0120 
0121 /**
0122  * Server and execution environment information
0123  *
0124  * @superglobal
0125  **/
0126 $_SERVER = array();
0127 
0128 /**
0129  * Session variables
0130  *
0131  * @superglobal
0132  **/
0133 $_SESSION = array();
0134 
0135 /**
0136  * Interface to detect if a class is traversable using . Abstract base
0137  * interface that cannot be implemented alone. Instead it must be
0138  * implemented by either IteratorAggregate or Iterator. This interface
0139  * has no methods, its only purpose is to be the base interface for all
0140  * traversable classes.
0141  **/
0142 interface Traversable {
0143 }
0144 /**
0145  * Interface for external iterators or objects that can be iterated
0146  * themselves internally. PHP already provides a number of iterators for
0147  * many day to day tasks. See SPL iterators for a list.
0148  **/
0149 interface Iterator extends Traversable {
0150     /**
0151      * Return the current element
0152      *
0153      * Returns the current element.
0154      *
0155      * @return mixed Can return any type.
0156      * @since PHP 5, PHP 7
0157      **/
0158     public function current();
0159 
0160     /**
0161      * Return the key of the current element
0162      *
0163      * Returns the key of the current element.
0164      *
0165      * @return scalar Returns scalar on success, or NULL on failure.
0166      * @since PHP 5, PHP 7
0167      **/
0168     public function key();
0169 
0170     /**
0171      * Move forward to next element
0172      *
0173      * Moves the current position to the next element.
0174      *
0175      * @return void Any returned value is ignored.
0176      * @since PHP 5, PHP 7
0177      **/
0178     public function next();
0179 
0180     /**
0181      * Rewind the Iterator to the first element
0182      *
0183      * Rewinds back to the first element of the Iterator.
0184      *
0185      * @return void Any returned value is ignored.
0186      * @since PHP 5, PHP 7
0187      **/
0188     public function rewind();
0189 
0190     /**
0191      * Checks if current position is valid
0192      *
0193      * This method is called after Iterator::rewind and Iterator::next to
0194      * check if the current position is valid.
0195      *
0196      * @return bool The return value will be casted to boolean and then
0197      *   evaluated.
0198      * @since PHP 5, PHP 7
0199      **/
0200     public function valid();
0201 
0202 }
0203 /**
0204  * Throwable is the base interface for any object that can be thrown via
0205  * a statement in PHP 7, including Error and Exception.
0206  **/
0207 interface Throwable {
0208     /**
0209      * Gets the exception code
0210      *
0211      * Returns the error code associated with the thrown object.
0212      *
0213      * @return int Returns the exception code as integer in Exception but
0214      *   possibly as other type in Exception descendants (for example as
0215      *   string in PDOException).
0216      * @since PHP 7
0217      **/
0218     public function getCode();
0219 
0220     /**
0221      * Gets the file in which the object was created
0222      *
0223      * Get the name of the file in which the thrown object was created.
0224      *
0225      * @return string Returns the filename in which the thrown object was
0226      *   created.
0227      * @since PHP 7
0228      **/
0229     public function getFile();
0230 
0231     /**
0232      * Gets the line on which the object was instantiated
0233      *
0234      * Returns the line number where the thrown object was instantiated.
0235      *
0236      * @return int Returns the line number where the thrown object was
0237      *   instantiated.
0238      * @since PHP 7
0239      **/
0240     public function getLine();
0241 
0242     /**
0243      * Gets the message
0244      *
0245      * Returns the message associated with the thrown object.
0246      *
0247      * @return string Returns the message associated with the thrown
0248      *   object.
0249      * @since PHP 7
0250      **/
0251     public function getMessage();
0252 
0253     /**
0254      * Returns the previous Throwable
0255      *
0256      * Returns any previous Throwable (for example, one provided as the third
0257      * parameter to Exception::__construct).
0258      *
0259      * @return Throwable Returns the previous Throwable if available, or
0260      *   NULL otherwise.
0261      * @since PHP 7
0262      **/
0263     public function getPrevious();
0264 
0265     /**
0266      * Gets the stack trace
0267      *
0268      * Returns the stack trace as an array.
0269      *
0270      * @return array Returns the stack trace as an array in the same format
0271      *   as {@link debug_backtrace}.
0272      * @since PHP 7
0273      **/
0274     public function getTrace();
0275 
0276     /**
0277      * Gets the stack trace as a string
0278      *
0279      * @return string Returns the stack trace as a string.
0280      * @since PHP 7
0281      **/
0282     public function getTraceAsString();
0283 
0284     /**
0285      * Gets a string representation of the thrown object
0286      *
0287      * @return string Returns the string representation of the thrown
0288      *   object.
0289      * @since PHP 7
0290      **/
0291     public function __toString();
0292 
0293 }
0294 /**
0295  * Error is the base class for all internal PHP errors.
0296  **/
0297 class Error implements Throwable {
0298     /**
0299      * The error code
0300      *
0301      * @var int
0302      **/
0303     protected $code;
0304 
0305     /**
0306      * The filename where the error happened
0307      *
0308      * @var string
0309      **/
0310     protected $file;
0311 
0312     /**
0313      * The line where the error happened
0314      *
0315      * @var int
0316      **/
0317     protected $line;
0318 
0319     /**
0320      * The error message
0321      *
0322      * @var string
0323      **/
0324     protected $message;
0325 
0326     /**
0327      * Gets the error code
0328      *
0329      * Returns the error code.
0330      *
0331      * @return mixed Returns the error code as integer
0332      **/
0333     final public function getCode(){}
0334 
0335     /**
0336      * Gets the file in which the error occurred
0337      *
0338      * Get the name of the file the error occurred.
0339      *
0340      * @return string Returns the filename in which the error occurred.
0341      **/
0342     final public function getFile(){}
0343 
0344     /**
0345      * Gets the line in which the error occurred
0346      *
0347      * Get line number where the error occurred.
0348      *
0349      * @return int Returns the line number where the error occurred.
0350      **/
0351     final public function getLine(){}
0352 
0353     /**
0354      * Gets the error message
0355      *
0356      * Returns the error message.
0357      *
0358      * @return string Returns the error message as a string.
0359      **/
0360     final public function getMessage(){}
0361 
0362     /**
0363      * Returns previous Throwable
0364      *
0365      * Returns previous Throwable (the third parameter of
0366      * Error::__construct).
0367      *
0368      * @return Throwable Returns the previous Throwable if available or
0369      *   NULL otherwise.
0370      **/
0371     final public function getPrevious(){}
0372 
0373     /**
0374      * Gets the stack trace
0375      *
0376      * Returns the stack trace.
0377      *
0378      * @return array Returns the stack trace as an array.
0379      **/
0380     final public function getTrace(){}
0381 
0382     /**
0383      * Gets the stack trace as a string
0384      *
0385      * Returns the stack trace as a string.
0386      *
0387      * @return string Returns the stack trace as a string.
0388      **/
0389     final public function getTraceAsString(){}
0390 
0391     /**
0392      * Clone the error
0393      *
0394      * Error can not be cloned, so this method results in fatal error.
0395      *
0396      * @return void
0397      **/
0398     final private function __clone(){}
0399 
0400     /**
0401      * String representation of the error
0402      *
0403      * Returns the string representation of the error.
0404      *
0405      * @return string Returns the string representation of the error.
0406      **/
0407     public function __toString(){}
0408 
0409 }
0410 /**
0411  * Exception is the base class for all Exceptions in PHP 5, and the base
0412  * class for all user exceptions in PHP 7. Before PHP 7, Exception did
0413  * not implement the Throwable interface.
0414  **/
0415 class Exception implements Throwable {
0416     /**
0417      * The exception code
0418      *
0419      * @var int
0420      **/
0421     protected $code;
0422 
0423     /**
0424      * The filename where the exception was created
0425      *
0426      * @var string
0427      **/
0428     protected $file;
0429 
0430     /**
0431      * The line where the exception was created
0432      *
0433      * @var int
0434      **/
0435     protected $line;
0436 
0437     /**
0438      * The exception message
0439      *
0440      * @var string
0441      **/
0442     protected $message;
0443 
0444     /**
0445      * Gets the Exception code
0446      *
0447      * Returns the Exception code.
0448      *
0449      * @return mixed Returns the exception code as integer in Exception but
0450      *   possibly as other type in Exception descendants (for example as
0451      *   string in PDOException).
0452      * @since PHP 5, PHP 7
0453      **/
0454     final public function getCode(){}
0455 
0456     /**
0457      * Gets the file in which the exception was created
0458      *
0459      * Get the name of the file in which the exception was created.
0460      *
0461      * @return string Returns the filename in which the exception was
0462      *   created.
0463      * @since PHP 5, PHP 7
0464      **/
0465     final public function getFile(){}
0466 
0467     /**
0468      * Gets the line in which the exception was created
0469      *
0470      * Get line number where the exception was created.
0471      *
0472      * @return int Returns the line number where the exception was created.
0473      * @since PHP 5, PHP 7
0474      **/
0475     final public function getLine(){}
0476 
0477     /**
0478      * Gets the Exception message
0479      *
0480      * Returns the Exception message.
0481      *
0482      * @return string Returns the Exception message as a string.
0483      * @since PHP 5, PHP 7
0484      **/
0485     final public function getMessage(){}
0486 
0487     /**
0488      * Returns previous Exception
0489      *
0490      * Returns previous exception (the third parameter of
0491      * Exception::__construct).
0492      *
0493      * @return Throwable Returns the previous Throwable if available or
0494      *   NULL otherwise.
0495      * @since PHP 5 >= 5.3.0, PHP 7
0496      **/
0497     final public function getPrevious(){}
0498 
0499     /**
0500      * Gets the stack trace
0501      *
0502      * Returns the Exception stack trace.
0503      *
0504      * @return array Returns the Exception stack trace as an array.
0505      * @since PHP 5, PHP 7
0506      **/
0507     final public function getTrace(){}
0508 
0509     /**
0510      * Gets the stack trace as a string
0511      *
0512      * Returns the Exception stack trace as a string.
0513      *
0514      * @return string Returns the Exception stack trace as a string.
0515      * @since PHP 5, PHP 7
0516      **/
0517     final public function getTraceAsString(){}
0518 
0519     /**
0520      * Clone the exception
0521      *
0522      * Tries to clone the Exception, which results in Fatal error.
0523      *
0524      * @return void
0525      * @since PHP 5, PHP 7
0526      **/
0527     final private function __clone(){}
0528 
0529     /**
0530      * String representation of the exception
0531      *
0532      * Returns the string representation of the exception.
0533      *
0534      * @return string Returns the string representation of the exception.
0535      * @since PHP 5, PHP 7
0536      **/
0537     public function __toString(){}
0538 
0539 }
0540 /**
0541  * The APCIterator class makes it easier to iterate over large APC
0542  * caches. This is helpful as it allows iterating over large caches in
0543  * steps, while grabbing a defined number of entries per lock instance,
0544  * so it frees the cache locks for other activities rather than hold up
0545  * the entire cache to grab 100 (the default) entries. Also, using
0546  * regular expression matching is more efficient as it's been moved to
0547  * the C level.
0548  **/
0549 class APCIterator implements Iterator {
0550     /**
0551      * Get current item
0552      *
0553      * Gets the current item from the APCIterator stack.
0554      *
0555      * @return mixed Returns the current item on success, or FALSE if no
0556      *   more items or exist, or on failure.
0557      * @since PECL apc >= 3.1.1
0558      **/
0559     public function current(){}
0560 
0561     /**
0562      * Get total count
0563      *
0564      * Get the total count.
0565      *
0566      * @return int The total count.
0567      * @since PECL apc >= 3.1.1
0568      **/
0569     public function getTotalCount(){}
0570 
0571     /**
0572      * Get total cache hits
0573      *
0574      * Gets the total number of cache hits.
0575      *
0576      * @return int The number of hits on success, or FALSE on failure.
0577      * @since PECL apc >= 3.1.1
0578      **/
0579     public function getTotalHits(){}
0580 
0581     /**
0582      * Get total cache size
0583      *
0584      * Gets the total cache size.
0585      *
0586      * @return int The total cache size.
0587      * @since PECL apc >= 3.1.1
0588      **/
0589     public function getTotalSize(){}
0590 
0591     /**
0592      * Get iterator key
0593      *
0594      * Gets the current iterator key.
0595      *
0596      * @return string Returns the key on success, or FALSE upon failure.
0597      * @since PECL apc >= 3.1.1
0598      **/
0599     public function key(){}
0600 
0601     /**
0602      * Move pointer to next item
0603      *
0604      * Moves the iterator pointer to the next element.
0605      *
0606      * @return bool
0607      * @since PECL apc >= 3.1.1
0608      **/
0609     public function next(){}
0610 
0611     /**
0612      * Rewinds iterator
0613      *
0614      * Rewinds back the iterator to the first element.
0615      *
0616      * @return void
0617      * @since PECL apc >= 3.1.1
0618      **/
0619     public function rewind(){}
0620 
0621     /**
0622      * Checks if current position is valid
0623      *
0624      * Checks if the current iterator position is valid.
0625      *
0626      * @return bool Returns TRUE if the current iterator position is valid,
0627      *   otherwise FALSE.
0628      * @since PECL apc >= 3.1.1
0629      **/
0630     public function valid(){}
0631 
0632     /**
0633      * Constructs an APCIterator iterator object
0634      *
0635      * Constructs an APCIterator object.
0636      *
0637      * @param string $cache The cache type, which will be user or file.
0638      * @param mixed $search A PCRE regular expression that matches against
0639      *   APC key names, either as a string for a single regular expression,
0640      *   or as an array of regular expressions. Or, optionally pass in NULL
0641      *   to skip the search.
0642      * @param int $format The desired format, as configured with one or
0643      *   more of the APC_ITER_* constants.
0644      * @param int $chunk_size The chunk size. Must be a value greater than
0645      *   0. The default value is 100.
0646      * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or
0647      *   APC_LIST_DELETED.
0648      * @since PECL apc >= 3.1.1
0649      **/
0650     public function __construct($cache, $search, $format, $chunk_size, $list){}
0651 
0652 }
0653 /**
0654  * The APCUIterator class makes it easier to iterate over large APCu
0655  * caches. This is helpful as it allows iterating over large caches in
0656  * steps, while grabbing a defined number of entries per lock instance,
0657  * so it frees the cache locks for other activities rather than hold up
0658  * the entire cache to grab 100 (the default) entries. Also, using
0659  * regular expression matching is more efficient as it's been moved to
0660  * the C level.
0661  **/
0662 class APCUIterator implements Iterator {
0663     /**
0664      * Get current item
0665      *
0666      * Gets the current item from the APCUIterator stack.
0667      *
0668      * @return mixed Returns the current item on success, or FALSE if no
0669      *   more items or exist, or on failure.
0670      * @since PECL apcu >= 5.0.0
0671      **/
0672     public function current(){}
0673 
0674     /**
0675      * Get total count
0676      *
0677      * Get the total count.
0678      *
0679      * @return int The total count.
0680      * @since PECL apcu >= 5.0.0
0681      **/
0682     public function getTotalCount(){}
0683 
0684     /**
0685      * Get total cache hits
0686      *
0687      * Gets the total number of cache hits.
0688      *
0689      * @return int The number of hits on success, or FALSE on failure.
0690      * @since PECL apcu >= 5.0.0
0691      **/
0692     public function getTotalHits(){}
0693 
0694     /**
0695      * Get total cache size
0696      *
0697      * Gets the total cache size.
0698      *
0699      * @return int The total cache size.
0700      * @since PECL apcu >= 5.0.0
0701      **/
0702     public function getTotalSize(){}
0703 
0704     /**
0705      * Get iterator key
0706      *
0707      * Gets the current iterator key.
0708      *
0709      * @return string Returns the key on success, or FALSE upon failure.
0710      * @since PECL apcu >= 5.0.0
0711      **/
0712     public function key(){}
0713 
0714     /**
0715      * Move pointer to next item
0716      *
0717      * Moves the iterator pointer to the next element.
0718      *
0719      * @return bool
0720      * @since PECL apcu >= 5.0.0
0721      **/
0722     public function next(){}
0723 
0724     /**
0725      * Rewinds iterator
0726      *
0727      * Rewinds back the iterator to the first element.
0728      *
0729      * @return void
0730      * @since PECL apcu >= 5.0.0
0731      **/
0732     public function rewind(){}
0733 
0734     /**
0735      * Checks if current position is valid
0736      *
0737      * Checks if the current iterator position is valid.
0738      *
0739      * @return bool Returns TRUE if the current iterator position is valid,
0740      *   otherwise FALSE.
0741      * @since PECL apcu >= 5.0.0
0742      **/
0743     public function valid(){}
0744 
0745     /**
0746      * Constructs an APCUIterator iterator object
0747      *
0748      * Constructs an APCUIterator object.
0749      *
0750      * @param mixed $search A PCRE regular expression that matches against
0751      *   APCu key names, either as a string for a single regular expression,
0752      *   or as an array of regular expressions. Or, optionally pass in NULL
0753      *   to skip the search.
0754      * @param int $format The desired format, as configured with one or
0755      *   more of the APC_ITER_* constants.
0756      * @param int $chunk_size The chunk size. Must be a value greater than
0757      *   0. The default value is 100.
0758      * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or
0759      *   APC_LIST_DELETED.
0760      * @since PECL apcu >= 5.0.0
0761      **/
0762     public function __construct($search, $format, $chunk_size, $list){}
0763 
0764 }
0765 /**
0766  * An Iterator that iterates over several iterators one after the other.
0767  **/
0768 class AppendIterator extends IteratorIterator implements OuterIterator {
0769     /**
0770      * Appends an iterator
0771      *
0772      * @param Iterator $iterator The iterator to append.
0773      * @return void
0774      * @since PHP 5 >= 5.1.0, PHP 7
0775      **/
0776     public function append($iterator){}
0777 
0778     /**
0779      * Gets the current value
0780      *
0781      * @return mixed The current value if it is valid or NULL otherwise.
0782      * @since PHP 5 >= 5.1.0, PHP 7
0783      **/
0784     public function current(){}
0785 
0786     /**
0787      * Gets the ArrayIterator
0788      *
0789      * This method gets the ArrayIterator that is used to store the iterators
0790      * added with AppendIterator::append.
0791      *
0792      * @return ArrayIterator Returns an ArrayIterator containing the
0793      *   appended iterators.
0794      * @since PHP 5 >= 5.2.0, PHP 7
0795      **/
0796     public function getArrayIterator(){}
0797 
0798     /**
0799      * Gets the inner iterator
0800      *
0801      * This method returns the current inner iterator.
0802      *
0803      * @return Iterator The current inner iterator, or NULL if there is not
0804      *   one.
0805      * @since PHP 5 >= 5.1.0, PHP 7
0806      **/
0807     public function getInnerIterator(){}
0808 
0809     /**
0810      * Gets an index of iterators
0811      *
0812      * Gets the index of the current inner iterator.
0813      *
0814      * @return int Returns an integer, which is the zero-based index of the
0815      *   current inner iterator.
0816      * @since PHP 5 >= 5.2.0, PHP 7
0817      **/
0818     public function getIteratorIndex(){}
0819 
0820     /**
0821      * Gets the current key
0822      *
0823      * Get the current key.
0824      *
0825      * @return scalar The current key if it is valid or NULL otherwise.
0826      * @since PHP 5 >= 5.1.0, PHP 7
0827      **/
0828     public function key(){}
0829 
0830     /**
0831      * Moves to the next element
0832      *
0833      * Moves to the next element. If this means to another Iterator then it
0834      * rewinds that Iterator.
0835      *
0836      * @return void
0837      * @since PHP 5 >= 5.1.0, PHP 7
0838      **/
0839     public function next(){}
0840 
0841     /**
0842      * Rewinds the Iterator
0843      *
0844      * Rewind to the first element of the first inner Iterator.
0845      *
0846      * @return void
0847      * @since PHP 5 >= 5.1.0, PHP 7
0848      **/
0849     public function rewind(){}
0850 
0851     /**
0852      * Checks validity of the current element
0853      *
0854      * @return bool Returns TRUE if the current iteration is valid, FALSE
0855      *   otherwise.
0856      * @since PHP 5 >= 5.1.0, PHP 7
0857      **/
0858     public function valid(){}
0859 
0860 }
0861 /**
0862  * ArgumentCountError is thrown when too few arguments are passed to a
0863  * user-defined function or method.
0864  **/
0865 class ArgumentCountError extends TypeError {
0866 }
0867 /**
0868  * ArithmeticError is thrown when an error occurs while performing
0869  * mathematical operations. In PHP 7.0, these errors include attempting
0870  * to perform a bitshift by a negative amount, and any call to {@link
0871  * intdiv} that would result in a value outside the possible bounds of an
0872  * integer.
0873  **/
0874 class ArithmeticError extends Error {
0875 }
0876 /**
0877  * Interface to provide accessing objects as arrays.
0878  **/
0879 interface ArrayAccess {
0880     /**
0881      * Whether an offset exists
0882      *
0883      * Whether or not an offset exists.
0884      *
0885      * This method is executed when using {@link isset} or {@link empty} on
0886      * objects implementing ArrayAccess.
0887      *
0888      * @param mixed $offset An offset to check for.
0889      * @return bool
0890      * @since PHP 5, PHP 7
0891      **/
0892     public function offsetExists($offset);
0893 
0894     /**
0895      * Offset to retrieve
0896      *
0897      * Returns the value at specified offset.
0898      *
0899      * This method is executed when checking if offset is {@link empty}.
0900      *
0901      * @param mixed $offset The offset to retrieve.
0902      * @return mixed Can return all value types.
0903      * @since PHP 5, PHP 7
0904      **/
0905     public function offsetGet($offset);
0906 
0907     /**
0908      * Assign a value to the specified offset
0909      *
0910      * Assigns a value to the specified offset.
0911      *
0912      * @param mixed $offset The offset to assign the value to.
0913      * @param mixed $value The value to set.
0914      * @return void
0915      * @since PHP 5, PHP 7
0916      **/
0917     public function offsetSet($offset, $value);
0918 
0919     /**
0920      * Unset an offset
0921      *
0922      * Unsets an offset.
0923      *
0924      * @param mixed $offset The offset to unset.
0925      * @return void
0926      * @since PHP 5, PHP 7
0927      **/
0928     public function offsetUnset($offset);
0929 
0930 }
0931 /**
0932  * This iterator allows to unset and modify values and keys while
0933  * iterating over Arrays and Objects. When you want to iterate over the
0934  * same array multiple times you need to instantiate ArrayObject and let
0935  * it create ArrayIterator instances that refer to it either by using or
0936  * by calling its getIterator() method manually.
0937  **/
0938 class ArrayIterator implements ArrayAccess, SeekableIterator, Countable, Serializable {
0939     /**
0940      * Entries can be accessed as properties (read and write).
0941      *
0942      * @var mixed
0943      **/
0944     const ARRAY_AS_PROPS = 0;
0945 
0946     /**
0947      * Properties of the object have their normal functionality when accessed
0948      * as list (var_dump, foreach, etc.).
0949      *
0950      * @var mixed
0951      **/
0952     const STD_PROP_LIST = 0;
0953 
0954     /**
0955      * Append an element
0956      *
0957      * Appends value as the last element.
0958      *
0959      * @param mixed $value The value to append.
0960      * @return void
0961      * @since PHP 5, PHP 7
0962      **/
0963     public function append($value){}
0964 
0965     /**
0966      * Sort array by values
0967      *
0968      * Sorts an array by values.
0969      *
0970      * @return void
0971      * @since PHP 5 >= 5.2.0, PHP 7
0972      **/
0973     public function asort(){}
0974 
0975     /**
0976      * Count elements
0977      *
0978      * Gets the number of elements in the array, or the number of public
0979      * properties in the object.
0980      *
0981      * @return int The number of elements or public properties in the
0982      *   associated array or object, respectively.
0983      * @since PHP 5, PHP 7
0984      **/
0985     public function count(){}
0986 
0987     /**
0988      * Return current array entry
0989      *
0990      * Get the current array entry.
0991      *
0992      * @return mixed The current array entry.
0993      * @since PHP 5, PHP 7
0994      **/
0995     public function current(){}
0996 
0997     /**
0998      * Get array copy
0999      *
1000      * Get a copy of an array.
1001      *
1002      * @return array A copy of the array, or array of public properties if
1003      *   ArrayIterator refers to an object.
1004      * @since PHP 5, PHP 7
1005      **/
1006     public function getArrayCopy(){}
1007 
1008     /**
1009      * Get behavior flags
1010      *
1011      * Gets the behavior flags of the ArrayIterator. See the
1012      * ArrayIterator::setFlags method for a list of the available flags.
1013      *
1014      * @return int Returns the behavior flags of the ArrayIterator.
1015      * @since PHP 5 >= 5.1.0, PHP 7
1016      **/
1017     public function getFlags(){}
1018 
1019     /**
1020      * Return current array key
1021      *
1022      * This function returns the current array key
1023      *
1024      * @return mixed The current array key.
1025      * @since PHP 5, PHP 7
1026      **/
1027     public function key(){}
1028 
1029     /**
1030      * Sort array by keys
1031      *
1032      * Sorts an array by the keys.
1033      *
1034      * @return void
1035      * @since PHP 5 >= 5.2.0, PHP 7
1036      **/
1037     public function ksort(){}
1038 
1039     /**
1040      * Sort an array naturally, case insensitive
1041      *
1042      * Sort the entries by values using a case insensitive "natural order"
1043      * algorithm.
1044      *
1045      * @return void
1046      * @since PHP 5 >= 5.2.0, PHP 7
1047      **/
1048     public function natcasesort(){}
1049 
1050     /**
1051      * Sort an array naturally
1052      *
1053      * Sort the entries by values using "natural order" algorithm.
1054      *
1055      * @return void
1056      * @since PHP 5 >= 5.2.0, PHP 7
1057      **/
1058     public function natsort(){}
1059 
1060     /**
1061      * Move to next entry
1062      *
1063      * The iterator to the next entry.
1064      *
1065      * @return void
1066      * @since PHP 5, PHP 7
1067      **/
1068     public function next(){}
1069 
1070     /**
1071      * Check if offset exists
1072      *
1073      * Checks if the offset exists.
1074      *
1075      * @param mixed $index The offset being checked.
1076      * @return bool TRUE if the offset exists, otherwise FALSE
1077      * @since PHP 5, PHP 7
1078      **/
1079     public function offsetExists($index){}
1080 
1081     /**
1082      * Get value for an offset
1083      *
1084      * Gets the value from the provided offset.
1085      *
1086      * @param mixed $index The offset to get the value from.
1087      * @return mixed The value at offset {@link index}.
1088      * @since PHP 5, PHP 7
1089      **/
1090     public function offsetGet($index){}
1091 
1092     /**
1093      * Set value for an offset
1094      *
1095      * Sets a value for a given offset.
1096      *
1097      * @param mixed $index The index to set for.
1098      * @param mixed $newval The new value to store at the index.
1099      * @return void
1100      * @since PHP 5, PHP 7
1101      **/
1102     public function offsetSet($index, $newval){}
1103 
1104     /**
1105      * Unset value for an offset
1106      *
1107      * Unsets a value for an offset.
1108      *
1109      * If iteration is in progress, and ArrayIterator::offsetUnset is used to
1110      * unset the current index of iteration, the iteration position will be
1111      * advanced to the next index. Since the iteration position is also
1112      * advanced at the end of a loop body, use of ArrayIterator::offsetUnset
1113      * inside a foreach loop may result in indices being skipped.
1114      *
1115      * @param mixed $index The offset to unset.
1116      * @return void
1117      * @since PHP 5, PHP 7
1118      **/
1119     public function offsetUnset($index){}
1120 
1121     /**
1122      * Rewind array back to the start
1123      *
1124      * This rewinds the iterator to the beginning.
1125      *
1126      * @return void
1127      * @since PHP 5, PHP 7
1128      **/
1129     public function rewind(){}
1130 
1131     /**
1132      * Seek to position
1133      *
1134      * @param int $position The position to seek to.
1135      * @return void
1136      * @since PHP 5, PHP 7
1137      **/
1138     public function seek($position){}
1139 
1140     /**
1141      * Serialize
1142      *
1143      * @return string The serialized ArrayIterator.
1144      * @since PHP 5 >= 5.3.0, PHP 7
1145      **/
1146     public function serialize(){}
1147 
1148     /**
1149      * Set behaviour flags
1150      *
1151      * Set the flags that change the behavior of the ArrayIterator.
1152      *
1153      * @param string $flags The new ArrayIterator behavior. It takes on
1154      *   either a bitmask, or named constants. Using named constants is
1155      *   strongly encouraged to ensure compatibility for future versions. The
1156      *   available behavior flags are listed below. The actual meanings of
1157      *   these flags are described in the predefined constants. ArrayIterator
1158      *   behavior flags value constant 1 ArrayIterator::STD_PROP_LIST 2
1159      *   ArrayIterator::ARRAY_AS_PROPS
1160      * @return void
1161      * @since PHP 5 >= 5.1.0, PHP 7
1162      **/
1163     public function setFlags($flags){}
1164 
1165     /**
1166      * Sort with a user-defined comparison function and maintain index
1167      * association
1168      *
1169      * This method sorts the elements such that indices maintain their
1170      * correlation with the values they are associated with, using a
1171      * user-defined comparison function.
1172      *
1173      * @param callable $cmp_function
1174      * @return void
1175      * @since PHP 5 >= 5.2.0, PHP 7
1176      **/
1177     public function uasort($cmp_function){}
1178 
1179     /**
1180      * Sort by keys using a user-defined comparison function
1181      *
1182      * This method sorts the elements by keys using a user-supplied
1183      * comparison function.
1184      *
1185      * @param callable $cmp_function
1186      * @return void
1187      * @since PHP 5 >= 5.2.0, PHP 7
1188      **/
1189     public function uksort($cmp_function){}
1190 
1191     /**
1192      * Unserialize
1193      *
1194      * @param string $serialized The serialized ArrayIterator object to be
1195      *   unserialized.
1196      * @return void
1197      * @since PHP 5 >= 5.3.0, PHP 7
1198      **/
1199     public function unserialize($serialized){}
1200 
1201     /**
1202      * Check whether array contains more entries
1203      *
1204      * Checks if the array contains any more entries.
1205      *
1206      * @return bool Returns TRUE if the iterator is valid, otherwise FALSE
1207      * @since PHP 5, PHP 7
1208      **/
1209     public function valid(){}
1210 
1211     /**
1212      * Construct an ArrayIterator
1213      *
1214      * Constructs an ArrayIterator object.
1215      *
1216      * @param mixed $array The array or object to be iterated on.
1217      * @param int $flags Flags to control the behaviour of the
1218      *   ArrayIterator object. See ArrayIterator::setFlags.
1219      * @since PHP 5, PHP 7
1220      **/
1221     public function __construct($array, $flags){}
1222 
1223 }
1224 /**
1225  * This class allows objects to work as arrays.
1226  **/
1227 class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable {
1228     /**
1229      * Entries can be accessed as properties (read and write).
1230      *
1231      * @var mixed
1232      **/
1233     const ARRAY_AS_PROPS = 0;
1234 
1235     /**
1236      * Properties of the object have their normal functionality when accessed
1237      * as list (var_dump, foreach, etc.).
1238      *
1239      * @var mixed
1240      **/
1241     const STD_PROP_LIST = 0;
1242 
1243     /**
1244      * Appends the value
1245      *
1246      * Appends a new value as the last element.
1247      *
1248      * @param mixed $value The value being appended.
1249      * @return void
1250      * @since PHP 5, PHP 7
1251      **/
1252     public function append($value){}
1253 
1254     /**
1255      * Sort the entries by value
1256      *
1257      * Sorts the entries such that the keys maintain their correlation with
1258      * the entries they are associated with. This is used mainly when sorting
1259      * associative arrays where the actual element order is significant.
1260      *
1261      * @return void
1262      * @since PHP 5 >= 5.2.0, PHP 7
1263      **/
1264     public function asort(){}
1265 
1266     /**
1267      * Get the number of public properties in the ArrayObject
1268      *
1269      * Get the number of public properties in the ArrayObject.
1270      *
1271      * @return int The number of public properties in the ArrayObject.
1272      * @since PHP 5, PHP 7
1273      **/
1274     public function count(){}
1275 
1276     /**
1277      * Exchange the array for another one
1278      *
1279      * Exchange the current array with another array or object.
1280      *
1281      * @param mixed $input The new array or object to exchange with the
1282      *   current array.
1283      * @return array Returns the old array.
1284      * @since PHP 5 >= 5.1.0, PHP 7
1285      **/
1286     public function exchangeArray($input){}
1287 
1288     /**
1289      * Creates a copy of the ArrayObject
1290      *
1291      * Exports the ArrayObject to an array.
1292      *
1293      * @return array Returns a copy of the array. When the ArrayObject
1294      *   refers to an object, an array of the public properties of that
1295      *   object will be returned.
1296      * @since PHP 5, PHP 7
1297      **/
1298     public function getArrayCopy(){}
1299 
1300     /**
1301      * Gets the behavior flags
1302      *
1303      * Gets the behavior flags of the ArrayObject. See the
1304      * ArrayObject::setFlags method for a list of the available flags.
1305      *
1306      * @return int Returns the behavior flags of the ArrayObject.
1307      * @since PHP 5 >= 5.1.0, PHP 7
1308      **/
1309     public function getFlags(){}
1310 
1311     /**
1312      * Create a new iterator from an ArrayObject instance
1313      *
1314      * Create a new iterator from an ArrayObject instance.
1315      *
1316      * @return ArrayIterator An iterator from an ArrayObject.
1317      * @since PHP 5, PHP 7
1318      **/
1319     public function getIterator(){}
1320 
1321     /**
1322      * Gets the iterator classname for the ArrayObject
1323      *
1324      * Gets the class name of the array iterator that is used by
1325      * ArrayObject::getIterator().
1326      *
1327      * @return string Returns the iterator class name that is used to
1328      *   iterate over this object.
1329      * @since PHP 5 >= 5.1.0, PHP 7
1330      **/
1331     public function getIteratorClass(){}
1332 
1333     /**
1334      * Sort the entries by key
1335      *
1336      * Sorts the entries by key, maintaining key to entry correlations. This
1337      * is useful mainly for associative arrays.
1338      *
1339      * @return void
1340      * @since PHP 5 >= 5.2.0, PHP 7
1341      **/
1342     public function ksort(){}
1343 
1344     /**
1345      * Sort an array using a case insensitive "natural order" algorithm
1346      *
1347      * This method is a case insensitive version of ArrayObject::natsort.
1348      *
1349      * This method implements a sort algorithm that orders alphanumeric
1350      * strings in the way a human being would while maintaining key/value
1351      * associations. This is described as a "natural ordering".
1352      *
1353      * @return void
1354      * @since PHP 5 >= 5.2.0, PHP 7
1355      **/
1356     public function natcasesort(){}
1357 
1358     /**
1359      * Sort entries using a "natural order" algorithm
1360      *
1361      * This method implements a sort algorithm that orders alphanumeric
1362      * strings in the way a human being would while maintaining key/value
1363      * associations. This is described as a "natural ordering". An example of
1364      * the difference between this algorithm and the regular computer string
1365      * sorting algorithms (used in ArrayObject::asort) method can be seen in
1366      * the example below.
1367      *
1368      * @return void
1369      * @since PHP 5 >= 5.2.0, PHP 7
1370      **/
1371     public function natsort(){}
1372 
1373     /**
1374      * Returns whether the requested index exists
1375      *
1376      * @param mixed $index The index being checked.
1377      * @return bool TRUE if the requested index exists, otherwise FALSE
1378      * @since PHP 5, PHP 7
1379      **/
1380     public function offsetExists($index){}
1381 
1382     /**
1383      * Returns the value at the specified index
1384      *
1385      * @param mixed $index The index with the value.
1386      * @return mixed The value at the specified index or NULL.
1387      * @since PHP 5, PHP 7
1388      **/
1389     public function offsetGet($index){}
1390 
1391     /**
1392      * Sets the value at the specified index to newval
1393      *
1394      * @param mixed $index The index being set.
1395      * @param mixed $newval The new value for the {@link index}.
1396      * @return void
1397      * @since PHP 5, PHP 7
1398      **/
1399     public function offsetSet($index, $newval){}
1400 
1401     /**
1402      * Unsets the value at the specified index
1403      *
1404      * @param mixed $index The index being unset.
1405      * @return void
1406      * @since PHP 5, PHP 7
1407      **/
1408     public function offsetUnset($index){}
1409 
1410     /**
1411      * Serialize an ArrayObject
1412      *
1413      * Serializes an ArrayObject.
1414      *
1415      * @return string The serialized representation of the ArrayObject.
1416      * @since PHP 5 >= 5.3.0, PHP 7
1417      **/
1418     public function serialize(){}
1419 
1420     /**
1421      * Sets the behavior flags
1422      *
1423      * Set the flags that change the behavior of the ArrayObject.
1424      *
1425      * @param int $flags The new ArrayObject behavior. It takes on either a
1426      *   bitmask, or named constants. Using named constants is strongly
1427      *   encouraged to ensure compatibility for future versions. The
1428      *   available behavior flags are listed below. The actual meanings of
1429      *   these flags are described in the predefined constants. ArrayObject
1430      *   behavior flags value constant 1 ArrayObject::STD_PROP_LIST 2
1431      *   ArrayObject::ARRAY_AS_PROPS
1432      * @return void
1433      * @since PHP 5 >= 5.1.0, PHP 7
1434      **/
1435     public function setFlags($flags){}
1436 
1437     /**
1438      * Sets the iterator classname for the ArrayObject
1439      *
1440      * Sets the classname of the array iterator that is used by
1441      * ArrayObject::getIterator().
1442      *
1443      * @param string $iterator_class The classname of the array iterator to
1444      *   use when iterating over this object.
1445      * @return void
1446      * @since PHP 5 >= 5.1.0, PHP 7
1447      **/
1448     public function setIteratorClass($iterator_class){}
1449 
1450     /**
1451      * Sort the entries with a user-defined comparison function and maintain
1452      * key association
1453      *
1454      * This function sorts the entries such that keys maintain their
1455      * correlation with the entry that they are associated with, using a
1456      * user-defined comparison function.
1457      *
1458      * This is used mainly when sorting associative arrays where the actual
1459      * element order is significant.
1460      *
1461      * @param callable $cmp_function Function {@link cmp_function} should
1462      *   accept two parameters which will be filled by pairs of entries. The
1463      *   comparison function must return an integer less than, equal to, or
1464      *   greater than zero if the first argument is considered to be
1465      *   respectively less than, equal to, or greater than the second.
1466      * @return void
1467      * @since PHP 5 >= 5.2.0, PHP 7
1468      **/
1469     public function uasort($cmp_function){}
1470 
1471     /**
1472      * Sort the entries by keys using a user-defined comparison function
1473      *
1474      * This function sorts the keys of the entries using a user-supplied
1475      * comparison function. The key to entry correlations will be maintained.
1476      *
1477      * @param callable $cmp_function The callback comparison function.
1478      *   Function {@link cmp_function} should accept two parameters which
1479      *   will be filled by pairs of entry keys. The comparison function must
1480      *   return an integer less than, equal to, or greater than zero if the
1481      *   first argument is considered to be respectively less than, equal to,
1482      *   or greater than the second.
1483      * @return void
1484      * @since PHP 5 >= 5.2.0, PHP 7
1485      **/
1486     public function uksort($cmp_function){}
1487 
1488     /**
1489      * Unserialize an ArrayObject
1490      *
1491      * Unserializes a serialized ArrayObject.
1492      *
1493      * @param string $serialized The serialized ArrayObject.
1494      * @return void The unserialized ArrayObject.
1495      * @since PHP 5 >= 5.3.0, PHP 7
1496      **/
1497     public function unserialize($serialized){}
1498 
1499 }
1500 /**
1501  * AssertionError is thrown when an assertion made via {@link assert}
1502  * fails.
1503  **/
1504 class AssertionError extends Error {
1505 }
1506 /**
1507  * Exception thrown if a callback refers to an undefined function or if
1508  * some arguments are missing.
1509  **/
1510 class BadFunctionCallException extends LogicException {
1511 }
1512 /**
1513  * Exception thrown if a callback refers to an undefined method or if
1514  * some arguments are missing.
1515  **/
1516 class BadMethodCallException extends BadFunctionCallException {
1517 }
1518 /**
1519  * This object supports cached iteration over another iterator.
1520  **/
1521 class CachingIterator extends IteratorIterator implements OuterIterator, ArrayAccess, Countable {
1522     /**
1523      * @var integer
1524      **/
1525     const CALL_TOSTRING = 0;
1526 
1527     /**
1528      * @var integer
1529      **/
1530     const CATCH_GET_CHILD = 0;
1531 
1532     /**
1533      * @var integer
1534      **/
1535     const FULL_CACHE = 0;
1536 
1537     /**
1538      * @var integer
1539      **/
1540     const TOSTRING_USE_CURRENT = 0;
1541 
1542     /**
1543      * @var integer
1544      **/
1545     const TOSTRING_USE_INNER = 0;
1546 
1547     /**
1548      * @var integer
1549      **/
1550     const TOSTRING_USE_KEY = 0;
1551 
1552     /**
1553      * The number of elements in the iterator
1554      *
1555      * May return the number of elements in the iterator.
1556      *
1557      * @return int The count of the elements iterated over.
1558      * @since PHP 5 >= 5.2.2, PHP 7
1559      **/
1560     public function count(){}
1561 
1562     /**
1563      * Return the current element
1564      *
1565      * May return the current element in the iteration.
1566      *
1567      * @return mixed Mixed
1568      * @since PHP 5, PHP 7
1569      **/
1570     public function current(){}
1571 
1572     /**
1573      * Retrieve the contents of the cache
1574      *
1575      * @return array An array containing the cache items.
1576      * @since PHP 5 >= 5.2.0, PHP 7
1577      **/
1578     public function getCache(){}
1579 
1580     /**
1581      * Get flags used
1582      *
1583      * Get the bitmask of the flags used for this CachingIterator instance.
1584      *
1585      * @return int Description...
1586      * @since PHP 5 >= 5.2.0, PHP 7
1587      **/
1588     public function getFlags(){}
1589 
1590     /**
1591      * Returns the inner iterator
1592      *
1593      * Returns the iterator sent to the constructor.
1594      *
1595      * @return Iterator Returns an object implementing the Iterator
1596      *   interface.
1597      * @since PHP 5, PHP 7
1598      **/
1599     public function getInnerIterator(){}
1600 
1601     /**
1602      * Check whether the inner iterator has a valid next element
1603      *
1604      * @return void
1605      * @since PHP 5, PHP 7
1606      **/
1607     public function hasNext(){}
1608 
1609     /**
1610      * Return the key for the current element
1611      *
1612      * This method may return a key for the current element.
1613      *
1614      * @return scalar
1615      * @since PHP 5, PHP 7
1616      **/
1617     public function key(){}
1618 
1619     /**
1620      * Move the iterator forward
1621      *
1622      * @return void
1623      * @since PHP 5, PHP 7
1624      **/
1625     public function next(){}
1626 
1627     /**
1628      * The offsetExists purpose
1629      *
1630      * @param mixed $index The index being checked.
1631      * @return void Returns TRUE if an entry referenced by the offset
1632      *   exists, FALSE otherwise.
1633      * @since PHP 5 >= 5.2.0, PHP 7
1634      **/
1635     public function offsetExists($index){}
1636 
1637     /**
1638      * The offsetGet purpose
1639      *
1640      * @param string $index Description...
1641      * @return void Description...
1642      * @since PHP 5 >= 5.2.0, PHP 7
1643      **/
1644     public function offsetGet($index){}
1645 
1646     /**
1647      * The offsetSet purpose
1648      *
1649      * @param mixed $index The index of the element to be set.
1650      * @param mixed $newval The new value for the {@link index}.
1651      * @return void
1652      * @since PHP 5 >= 5.2.0, PHP 7
1653      **/
1654     public function offsetSet($index, $newval){}
1655 
1656     /**
1657      * The offsetUnset purpose
1658      *
1659      * @param string $index The index of the element to be unset.
1660      * @return void
1661      * @since PHP 5 >= 5.2.0, PHP 7
1662      **/
1663     public function offsetUnset($index){}
1664 
1665     /**
1666      * Rewind the iterator
1667      *
1668      * @return void
1669      * @since PHP 5, PHP 7
1670      **/
1671     public function rewind(){}
1672 
1673     /**
1674      * The setFlags purpose
1675      *
1676      * Set the flags for the CachingIterator object.
1677      *
1678      * @param int $flags Bitmask of the flags to set.
1679      * @return void
1680      * @since PHP 5 >= 5.2.0, PHP 7
1681      **/
1682     public function setFlags($flags){}
1683 
1684     /**
1685      * Check whether the current element is valid
1686      *
1687      * @return void
1688      * @since PHP 5, PHP 7
1689      **/
1690     public function valid(){}
1691 
1692     /**
1693      * Construct a new CachingIterator object for the iterator
1694      *
1695      * @param Iterator $iterator Iterator to cache
1696      * @param int $flags Bitmask of flags.
1697      * @since PHP 5, PHP 7
1698      **/
1699     public function __construct($iterator, $flags){}
1700 
1701     /**
1702      * Return the string representation of the current element
1703      *
1704      * Get the string representation of the current element.
1705      *
1706      * @return void The string representation of the current element.
1707      * @since PHP 5, PHP 7
1708      **/
1709     public function __toString(){}
1710 
1711 }
1712 /**
1713  * Simple class with some static helper methods.
1714  **/
1715 class Cairo {
1716     /**
1717      * Retrieves the availables font types
1718      *
1719      * Returns an array with the available font backends
1720      *
1721      * @return array A list-type array with all available font backends.
1722      * @since PECL cairo >= 0.1.0
1723      **/
1724     public static function availableFonts(){}
1725 
1726     /**
1727      * Retrieves all available surfaces
1728      *
1729      * Returns an array with the available surface backends
1730      *
1731      * @return array A list-type array with all available surface backends.
1732      * @since PECL cairo >= 0.1.0
1733      **/
1734     public static function availableSurfaces(){}
1735 
1736     /**
1737      * Retrieves the current status as string
1738      *
1739      * Retrieves the current status as a readable string
1740      *
1741      * @param int $status A valid status code given by {@link cairo_status}
1742      *   or CairoContext::status
1743      * @return string A string containing the current status of a
1744      *   CairoContext object
1745      * @since PECL cairo >= 0.1.0
1746      **/
1747     public static function statusToString($status){}
1748 
1749     /**
1750      * Retrieves cairo's library version
1751      *
1752      * Retrieves the current version of the cairo library as an integer value
1753      *
1754      * @return int Current Cairo library version integer
1755      * @since PECL cairo >= 0.1.0
1756      **/
1757     public static function version(){}
1758 
1759     /**
1760      * Retrieves cairo version as string
1761      *
1762      * Retrieves the current cairo library version as a string.
1763      *
1764      * @return string Current Cairo library version string
1765      * @since PECL cairo >= 0.1.0
1766      **/
1767     public static function versionString(){}
1768 
1769 }
1770 /**
1771  * Enum class that specifies the type of antialiasing to do when
1772  * rendering text or shapes.
1773  **/
1774 class CairoAntialias {
1775     /**
1776      * @var integer
1777      **/
1778     const MODE_DEFAULT = 0;
1779 
1780     /**
1781      * @var integer
1782      **/
1783     const MODE_GRAY = 0;
1784 
1785     /**
1786      * @var integer
1787      **/
1788     const MODE_NONE = 0;
1789 
1790     /**
1791      * @var integer
1792      **/
1793     const MODE_SUBPIXEL = 0;
1794 
1795 }
1796 /**
1797  * CairoContent is used to describe the content that a surface will
1798  * contain, whether color information, alpha information (translucence
1799  * vs. opacity), or both. Note: The large values here are designed to
1800  * keep CairoContent values distinct from CairoContent values so that the
1801  * implementation can detect the error if users confuse the two types.
1802  **/
1803 class CairoContent {
1804     /**
1805      * The surface will hold alpha content only.
1806      *
1807      * @var integer
1808      **/
1809     const ALPHA = 0;
1810 
1811     /**
1812      * The surface will hold color content only.
1813      *
1814      * @var integer
1815      **/
1816     const COLOR = 0;
1817 
1818     /**
1819      * @var integer
1820      **/
1821     const COLOR_ALPHA = 0;
1822 
1823 }
1824 /**
1825  * Context is the main object used when drawing with cairo. To draw with
1826  * cairo, you create a CairoContext, set the target CairoSurface, and
1827  * drawing options for the CairoContext, create shapes with functions .
1828  * like CairoContext::moveTo and CairoContext::lineTo, and then draw
1829  * shapes with CairoContext::stroke or CairoContext::fill.
1830  *
1831  * Contexts can be pushed to a stack via CairoContext::save. They may
1832  * then safely be changed, without losing the current state. Use
1833  * CairoContext::restore to restore to the saved state.
1834  **/
1835 class CairoContext {
1836     /**
1837      * Appends a path to current path
1838      *
1839      * Appends the {@link path} onto the current path. The {@link path} may
1840      * be either the return value from one of CairoContext::copyPath or
1841      * CairoContext::copyPathFlat;
1842      *
1843      * if {@link path} is not a valid CairoPath instance a CairoException
1844      * will be thrown
1845      *
1846      * @param CairoPath $path CairoContext object
1847      * @return void
1848      * @since PECL cairo >= 0.1.0
1849      **/
1850     public function appendPath($path){}
1851 
1852     /**
1853      * Adds a circular arc
1854      *
1855      * Adds a circular arc of the given radius to the current path. The arc
1856      * is centered at ({@link x}, {@link y}), begins at {@link angle1} and
1857      * proceeds in the direction of increasing angles to end at {@link
1858      * angle2}. If {@link angle2} is less than {@link angle1} it will be
1859      * progressively increased by 2*M_PI until it is greater than {@link
1860      * angle1}. If there is a current point, an initial line segment will be
1861      * added to the path to connect the current point to the beginning of the
1862      * arc. If this initial line is undesired, it can be avoided by calling
1863      * CairoContext::newSubPath or procedural {@link cairo_new_sub_path}
1864      * before calling CairoContext::arc or {@link cairo_arc}.
1865      *
1866      * Angles are measured in radians. An angle of 0.0 is in the direction of
1867      * the positive X axis (in user space). An angle of M_PI/2.0 radians (90
1868      * degrees) is in the direction of the positive Y axis (in user space).
1869      * Angles increase in the direction from the positive X axis toward the
1870      * positive Y axis. So with the default transformation matrix, angles
1871      * increase in a clockwise direction.
1872      *
1873      * (To convert from degrees to radians, use degrees * (M_PI / 180.).)
1874      * This function gives the arc in the direction of increasing angles; see
1875      * CairoContext::arcNegative or {@link cairo_arc_negative} to get the arc
1876      * in the direction of decreasing angles.
1877      *
1878      * @param float $x A valid CairoContext object
1879      * @param float $y x position
1880      * @param float $radius y position
1881      * @param float $angle1 Radius of the arc
1882      * @param float $angle2 start angle
1883      * @return void
1884      * @since PECL cairo >= 0.1.0
1885      **/
1886     public function arc($x, $y, $radius, $angle1, $angle2){}
1887 
1888     /**
1889      * Adds a negative arc
1890      *
1891      * Adds a circular arc of the given {@link radius} to the current path.
1892      * The arc is centered at ({@link x}, {@link y}), begins at {@link
1893      * angle1} and proceeds in the direction of decreasing angles to end at
1894      * {@link angle2}. If {@link angle2} is greater than {@link angle1} it
1895      * will be progressively decreased by 2*M_PI until it is less than {@link
1896      * angle1}.
1897      *
1898      * See CairoContext::arc or {@link cairo_arc} for more details. This
1899      * function differs only in the direction of the arc between the two
1900      * angles.
1901      *
1902      * @param float $x A valid CairoContext object
1903      * @param float $y double x position
1904      * @param float $radius double y position
1905      * @param float $angle1 The radius of the desired negative arc
1906      * @param float $angle2 Start angle of the arc
1907      * @return void
1908      * @since PECL cairo >= 0.1.0
1909      **/
1910     public function arcNegative($x, $y, $radius, $angle1, $angle2){}
1911 
1912     /**
1913      * Establishes a new clip region
1914      *
1915      * Establishes a new clip region by intersecting the current clip region
1916      * with the current path as it would be filled by CairoContext::fill or
1917      * {@link cairo_fill} and according to the current fill rule (see
1918      * CairoContext::setFillRule or {@link cairo_set_fill_rule}).
1919      *
1920      * After CairoContext::clip or {@link cairo_clip}, the current path will
1921      * be cleared from the cairo context.
1922      *
1923      * The current clip region affects all drawing operations by effectively
1924      * masking out any changes to the surface that are outside the current
1925      * clip region.
1926      *
1927      * Calling CairoContext::clip or {@link cairo_clip} can only make the
1928      * clip region smaller, never larger. But the current clip is part of the
1929      * graphics state, so a temporary restriction of the clip region can be
1930      * achieved by calling CairoContext::clip or {@link cairo_clip} within a
1931      * CairoContext::save/CairoContext::restore or {@link cairo_save}/{@link
1932      * cairo_restore} pair. The only other means of increasing the size of
1933      * the clip region is CairoContext::resetClip or procedural {@link
1934      * cairo_reset_clip}.
1935      *
1936      * @return void
1937      * @since PECL cairo >= 0.1.0
1938      **/
1939     public function clip(){}
1940 
1941     /**
1942      * Computes the area inside the current clip
1943      *
1944      * Computes a bounding box in user coordinates covering the area inside
1945      * the current clip.
1946      *
1947      * @return array An array containing the (float)x1, (float)y1,
1948      *   (float)x2, (float)y2, coordinates covering the area inside the
1949      *   current clip
1950      * @since PECL cairo >= 0.1.0
1951      **/
1952     public function clipExtents(){}
1953 
1954     /**
1955      * Establishes a new clip region from the current clip
1956      *
1957      * Establishes a new clip region by intersecting the current clip region
1958      * with the current path as it would be filled by Context.fill and
1959      * according to the current FILL RULE (see CairoContext::setFillRule or
1960      * {@link cairo_set_fill_rule}).
1961      *
1962      * Unlike CairoContext::clip, CairoContext::clipPreserve preserves the
1963      * path within the Context. The current clip region affects all drawing
1964      * operations by effectively masking out any changes to the surface that
1965      * are outside the current clip region.
1966      *
1967      * Calling CairoContext::clipPreserve can only make the clip region
1968      * smaller, never larger. But the current clip is part of the graphics
1969      * state, so a temporary restriction of the clip region can be achieved
1970      * by calling CairoContext::clipPreserve within a
1971      * CairoContext::save/CairoContext::restore pair. The only other means of
1972      * increasing the size of the clip region is CairoContext::resetClip.
1973      *
1974      * @return void
1975      * @since PECL cairo >= 0.1.0
1976      **/
1977     public function clipPreserve(){}
1978 
1979     /**
1980      * Retrieves the current clip as a list of rectangles
1981      *
1982      * Returns a list-type array with the current clip region as a list of
1983      * rectangles in user coordinates
1984      *
1985      * @return array An array of user-space represented rectangles for the
1986      *   current clip
1987      * @since PECL cairo >= 0.1.0
1988      **/
1989     public function clipRectangleList(){}
1990 
1991     /**
1992      * Closes the current path
1993      *
1994      * Adds a line segment to the path from the current point to the
1995      * beginning of the current sub-path, (the most recent point passed to
1996      * CairoContext::moveTo), and closes this sub-path. After this call the
1997      * current point will be at the joined endpoint of the sub-path.
1998      *
1999      * The behavior of close_path() is distinct from simply calling
2000      * CairoContext::lineTo with the equivalent coordinate in the case of
2001      * stroking. When a closed sub-path is stroked, there are no caps on the
2002      * ends of the sub-path. Instead, there is a line join connecting the
2003      * final and initial segments of the sub-path.
2004      *
2005      * If there is no current point before the call to
2006      * CairoContext::closePath, this function will have no effect.
2007      *
2008      * @return void
2009      * @since PECL cairo >= 0.1.0
2010      **/
2011     public function closePath(){}
2012 
2013     /**
2014      * Emits the current page
2015      *
2016      * Emits the current page for backends that support multiple pages, but
2017      * doesn’t clear it, so, the contents of the current page will be
2018      * retained for the next page too. Use CairoContext::showPage if you want
2019      * to get an empty page after the emission.
2020      *
2021      * This is a convenience function that simply calls
2022      * CairoSurface::copyPage on CairoContext’s target.
2023      *
2024      * @return void
2025      * @since PECL cairo >= 0.1.0
2026      **/
2027     public function copyPage(){}
2028 
2029     /**
2030      * Creates a copy of the current path
2031      *
2032      * Creates a copy of the current path and returns it to the user as a
2033      * CairoPath. See CairoPath for hints on how to iterate over the returned
2034      * data structure.
2035      *
2036      * This function will always return a valid CairoPath object, but the
2037      * result will have no data, if either of the following conditions hold:
2038      * 1. If there is insufficient memory to copy the path. In this case
2039      * CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY. 2. If {@link
2040      * context} is already in an error state. In this case CairoPath->status
2041      * will contain the same status that would be returned by {@link
2042      * cairo_status}.
2043      *
2044      * In either case, CairoPath->status will be set to
2045      * CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr
2046      * might have been).
2047      *
2048      * @return CairoPath A copy of the current CairoPath in the context
2049      * @since PECL cairo >= 0.1.0
2050      **/
2051     public function copyPath(){}
2052 
2053     /**
2054      * Gets a flattened copy of the current path
2055      *
2056      * Gets a flattened copy of the current path and returns it to the user
2057      * as a CairoPath.
2058      *
2059      * This function is like CairoContext::copyPath except that any curves in
2060      * the path will be approximated with piecewise-linear approximations,
2061      * (accurate to within the current tolerance value). That is, the result
2062      * is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO
2063      * which will instead be replaced by a series of CAIRO_PATH_LINE_TO
2064      * elements.
2065      *
2066      * @return CairoPath A copy of the current path
2067      * @since PECL cairo >= 0.1.0
2068      **/
2069     public function copyPathFlat(){}
2070 
2071     /**
2072      * Adds a curve
2073      *
2074      * Adds a cubic Bezier spline to the path from the current point to
2075      * position {@link x3} ,{@link y3} in user-space coordinates, using
2076      * {@link x1}, {@link y1} and {@link x2}, {@link y2} as the control
2077      * points. After this call the current point will be {@link x3}, {@link
2078      * y3}.
2079      *
2080      * If there is no current point before the call to CairoContext::curveTo
2081      * this function will behave as if preceded by a call to
2082      * CairoContext::moveTo ({@link x1}, {@link y1}).
2083      *
2084      * @param float $x1 A valid CairoContext object created with
2085      *   CairoContext::__construct or {@link cairo_create}
2086      * @param float $y1 First control point in the x axis for the curve
2087      * @param float $x2 First control point in the y axis for the curve
2088      * @param float $y2 Second control point in x axis for the curve
2089      * @param float $x3 Second control point in y axis for the curve
2090      * @param float $y3 Final point in the x axis for the curve
2091      * @return void
2092      * @since PECL cairo >= 0.1.0
2093      **/
2094     public function curveTo($x1, $y1, $x2, $y2, $x3, $y3){}
2095 
2096     /**
2097      * Transform a coordinate
2098      *
2099      * Transform a coordinate from device space to user space by multiplying
2100      * the given point by the inverse of the current transformation matrix
2101      * (CTM).
2102      *
2103      * @param float $x A valid CairoContext object created with
2104      *   CairoContext::__construct or {@link cairo_create}
2105      * @param float $y x value of the coordinate
2106      * @return array An array containing the x and y coordinates in the
2107      *   user-space
2108      * @since PECL cairo >= 0.1.0
2109      **/
2110     public function deviceToUser($x, $y){}
2111 
2112     /**
2113      * Transform a distance
2114      *
2115      * Transform a distance vector from device space to user space. This
2116      * function is similar to CairoContext::deviceToUser or {@link
2117      * cairo_device_to_user} except that the translation components of the
2118      * inverse Cairo Transformation Matrix will be ignored when transforming
2119      * ({@link x},{@link y}).
2120      *
2121      * @param float $x A valid CairoContext object created with
2122      *   CairoContext::__construct or {@link cairo_create}
2123      * @param float $y X component of a distance vector
2124      * @return array Returns an array with the x and y values of a distance
2125      *   vector in the user-space
2126      * @since PECL cairo >= 0.1.0
2127      **/
2128     public function deviceToUserDistance($x, $y){}
2129 
2130     /**
2131      * Fills the current path
2132      *
2133      * A drawing operator that fills the current path according to the
2134      * current CairoFillRule, (each sub-path is implicitly closed before
2135      * being filled). After CairoContext::fill or {@link cairo_fill}, the
2136      * current path will be cleared from the CairoContext.
2137      *
2138      * @return void
2139      * @since PECL cairo >= 0.1.0
2140      **/
2141     public function fill(){}
2142 
2143     /**
2144      * Computes the filled area
2145      *
2146      * Computes a bounding box in user coordinates covering the area that
2147      * would be affected, (the “inked” area), by a CairoContext::fill
2148      * operation given the current path and fill parameters. If the current
2149      * path is empty, returns an empty rectangle (0,0,0,0). Surface
2150      * dimensions and clipping are not taken into account.
2151      *
2152      * Contrast with CairoContext::pathExtents, which is similar, but returns
2153      * non-zero extents for some paths with no inked area, (such as a simple
2154      * line segment).
2155      *
2156      * Note that CairoContext::fillExtents must necessarily do more work to
2157      * compute the precise inked areas in light of the fill rule, so
2158      * CairoContext::pathExtents may be more desirable for sake of
2159      * performance if the non-inked path extents are desired.
2160      *
2161      * @return array An array with the coordinates of the afected area
2162      * @since PECL cairo >= 0.1.0
2163      **/
2164     public function fillExtents(){}
2165 
2166     /**
2167      * Fills and preserve the current path
2168      *
2169      * A drawing operator that fills the current path according to the
2170      * current CairoFillRule, (each sub-path is implicitly closed before
2171      * being filled). Unlike CairoContext::fill, CairoContext::fillPreserve
2172      * (Procedural {@link cairo_fill}, {@link cairo_fill_preserve},
2173      * respectively) preserves the path within the Context.
2174      *
2175      * @return void
2176      * @since PECL cairo >= 0.1.0
2177      **/
2178     public function fillPreserve(){}
2179 
2180     /**
2181      * Get the font extents
2182      *
2183      * Gets the font extents for the currently selected font.
2184      *
2185      * @return array An array containing the font extents for the current
2186      *   font.
2187      * @since PECL cairo >= 0.1.0
2188      **/
2189     public function fontExtents(){}
2190 
2191     /**
2192      * Retrieves the current antialias mode
2193      *
2194      * Returns the current CairoAntialias mode, as set by
2195      * CairoContext::setAntialias.
2196      *
2197      * @return int The current CairoAntialias mode.
2198      * @since PECL cairo >= 0.1.0
2199      **/
2200     public function getAntialias(){}
2201 
2202     /**
2203      * The getCurrentPoint purpose
2204      *
2205      * Gets the current point of the current path, which is conceptually the
2206      * final point reached by the path so far.
2207      *
2208      * The current point is returned in the user-space coordinate system. If
2209      * there is no defined current point or if cr is in an error status, x
2210      * and y will both be set to 0.0. It is possible to check this in advance
2211      * with CairoContext::hasCurrentPoint.
2212      *
2213      * Most path construction functions alter the current point. See the
2214      * following for details on how they affect the current point:
2215      * CairoContext::newPath, CairoContext::newSubPath,
2216      * CairoContext::appendPath, CairoContext::closePath,
2217      * CairoContext::moveTo, CairoContext::lineTo, CairoContext::curveTo,
2218      * CairoContext::relMoveTo, CairoContext::relLineTo,
2219      * CairoContext::relCurveTo, CairoContext::arc,
2220      * CairoContext::arcNegative, CairoContext::rectangle,
2221      * CairoContext::textPath, CairoContext::glyphPath.
2222      *
2223      * Some functions use and alter the current point but do not otherwise
2224      * change current path: CairoContext::showText.
2225      *
2226      * Some functions unset the current path and as a result, current point:
2227      * CairoContext::fill, CairoContext::stroke.
2228      *
2229      * @return array An array containing the x (index 0) and y (index 1)
2230      *   coordinates of the current point.
2231      * @since PECL cairo >= 0.1.0
2232      **/
2233     public function getCurrentPoint(){}
2234 
2235     /**
2236      * The getDash purpose
2237      *
2238      * @return array Description...
2239      * @since PECL cairo >= 0.1.0
2240      **/
2241     public function getDash(){}
2242 
2243     /**
2244      * The getDashCount purpose
2245      *
2246      * @return int Description...
2247      * @since PECL cairo >= 0.1.0
2248      **/
2249     public function getDashCount(){}
2250 
2251     /**
2252      * The getFillRule purpose
2253      *
2254      * @return int Description...
2255      * @since PECL cairo >= 0.1.0
2256      **/
2257     public function getFillRule(){}
2258 
2259     /**
2260      * The getFontFace purpose
2261      *
2262      * @return void Description...
2263      * @since PECL cairo >= 0.1.0
2264      **/
2265     public function getFontFace(){}
2266 
2267     /**
2268      * The getFontMatrix purpose
2269      *
2270      * @return void Description...
2271      * @since PECL cairo >= 0.1.0
2272      **/
2273     public function getFontMatrix(){}
2274 
2275     /**
2276      * The getFontOptions purpose
2277      *
2278      * @return void Description...
2279      * @since PECL cairo >= 0.1.0
2280      **/
2281     public function getFontOptions(){}
2282 
2283     /**
2284      * The getGroupTarget purpose
2285      *
2286      * @return void Description...
2287      * @since PECL cairo >= 0.1.0
2288      **/
2289     public function getGroupTarget(){}
2290 
2291     /**
2292      * The getLineCap purpose
2293      *
2294      * @return int Description...
2295      * @since PECL cairo >= 0.1.0
2296      **/
2297     public function getLineCap(){}
2298 
2299     /**
2300      * The getLineJoin purpose
2301      *
2302      * @return int Description...
2303      * @since PECL cairo >= 0.1.0
2304      **/
2305     public function getLineJoin(){}
2306 
2307     /**
2308      * The getLineWidth purpose
2309      *
2310      * @return float Description...
2311      * @since PECL cairo >= 0.1.0
2312      **/
2313     public function getLineWidth(){}
2314 
2315     /**
2316      * The getMatrix purpose
2317      *
2318      * @return void Description...
2319      * @since PECL cairo >= 0.1.0
2320      **/
2321     public function getMatrix(){}
2322 
2323     /**
2324      * The getMiterLimit purpose
2325      *
2326      * @return float Description...
2327      * @since PECL cairo >= 0.1.0
2328      **/
2329     public function getMiterLimit(){}
2330 
2331     /**
2332      * The getOperator purpose
2333      *
2334      * @return int Description...
2335      * @since PECL cairo >= 0.1.0
2336      **/
2337     public function getOperator(){}
2338 
2339     /**
2340      * The getScaledFont purpose
2341      *
2342      * @return void Description...
2343      * @since PECL cairo >= 0.1.0
2344      **/
2345     public function getScaledFont(){}
2346 
2347     /**
2348      * The getSource purpose
2349      *
2350      * @return void Description...
2351      * @since PECL cairo >= 0.1.0
2352      **/
2353     public function getSource(){}
2354 
2355     /**
2356      * The getTarget purpose
2357      *
2358      * @return void Description...
2359      * @since PECL cairo >= 0.1.0
2360      **/
2361     public function getTarget(){}
2362 
2363     /**
2364      * The getTolerance purpose
2365      *
2366      * @return float Description...
2367      * @since PECL cairo >= 0.1.0
2368      **/
2369     public function getTolerance(){}
2370 
2371     /**
2372      * The glyphPath purpose
2373      *
2374      * Adds closed paths for the glyphs to the current path. The generated
2375      * path if filled, achieves an effect similar to that of
2376      * CairoContext::showGlyphs.
2377      *
2378      * @param array $glyphs A CairoContext object
2379      * @return void
2380      * @since PECL cairo >= 0.1.0
2381      **/
2382     public function glyphPath($glyphs){}
2383 
2384     /**
2385      * The hasCurrentPoint purpose
2386      *
2387      * Returns whether a current point is defined on the current path. See
2388      * CairoContext::getCurrentPoint for details on the current point.
2389      *
2390      * @return bool Whether a current point is defined
2391      * @since PECL cairo >= 0.1.0
2392      **/
2393     public function hasCurrentPoint(){}
2394 
2395     /**
2396      * The identityMatrix purpose
2397      *
2398      * @return void Description...
2399      * @since PECL cairo >= 0.1.0
2400      **/
2401     public function identityMatrix(){}
2402 
2403     /**
2404      * The inFill purpose
2405      *
2406      * @param float $x Description...
2407      * @param float $y Description...
2408      * @return bool Description...
2409      * @since PECL cairo >= 0.1.0
2410      **/
2411     public function inFill($x, $y){}
2412 
2413     /**
2414      * The inStroke purpose
2415      *
2416      * @param float $x Description...
2417      * @param float $y Description...
2418      * @return bool Description...
2419      * @since PECL cairo >= 0.1.0
2420      **/
2421     public function inStroke($x, $y){}
2422 
2423     /**
2424      * The lineTo purpose
2425      *
2426      * @param float $x Description...
2427      * @param float $y Description...
2428      * @return void Description...
2429      * @since PECL cairo >= 0.1.0
2430      **/
2431     public function lineTo($x, $y){}
2432 
2433     /**
2434      * The mask purpose
2435      *
2436      * @param CairoPattern $pattern Description...
2437      * @return void Description...
2438      * @since PECL cairo >= 0.1.0
2439      **/
2440     public function mask($pattern){}
2441 
2442     /**
2443      * The maskSurface purpose
2444      *
2445      * @param CairoSurface $surface Description...
2446      * @param float $x Description...
2447      * @param float $y Description...
2448      * @return void Description...
2449      * @since PECL cairo >= 0.1.0
2450      **/
2451     public function maskSurface($surface, $x, $y){}
2452 
2453     /**
2454      * The moveTo purpose
2455      *
2456      * Begin a new sub-path. After this call the current point will be (x,
2457      * y).
2458      *
2459      * @param float $x A valid CairoContext object.
2460      * @param float $y The x coordinate of the new position.
2461      * @return void
2462      * @since PECL cairo >= 0.1.0
2463      **/
2464     public function moveTo($x, $y){}
2465 
2466     /**
2467      * The newPath purpose
2468      *
2469      * Clears the current path. After this call there will be no path and no
2470      * current point.
2471      *
2472      * @return void
2473      * @since PECL cairo >= 0.1.0
2474      **/
2475     public function newPath(){}
2476 
2477     /**
2478      * The newSubPath purpose
2479      *
2480      * @return void Description...
2481      * @since PECL cairo >= 0.1.0
2482      **/
2483     public function newSubPath(){}
2484 
2485     /**
2486      * The paint purpose
2487      *
2488      * @return void Description...
2489      * @since PECL cairo >= 0.1.0
2490      **/
2491     public function paint(){}
2492 
2493     /**
2494      * The paintWithAlpha purpose
2495      *
2496      * @param float $alpha Description...
2497      * @return void Description...
2498      * @since PECL cairo >= 0.1.0
2499      **/
2500     public function paintWithAlpha($alpha){}
2501 
2502     /**
2503      * The pathExtents purpose
2504      *
2505      * @return array Description...
2506      * @since PECL cairo >= 0.1.0
2507      **/
2508     public function pathExtents(){}
2509 
2510     /**
2511      * The popGroup purpose
2512      *
2513      * @return void Description...
2514      * @since PECL cairo >= 0.1.0
2515      **/
2516     public function popGroup(){}
2517 
2518     /**
2519      * The popGroupToSource purpose
2520      *
2521      * @return void Description...
2522      * @since PECL cairo >= 0.1.0
2523      **/
2524     public function popGroupToSource(){}
2525 
2526     /**
2527      * The pushGroup purpose
2528      *
2529      * @return void Description...
2530      * @since PECL cairo >= 0.1.0
2531      **/
2532     public function pushGroup(){}
2533 
2534     /**
2535      * The pushGroupWithContent purpose
2536      *
2537      * @param int $content Description...
2538      * @return void Description...
2539      * @since PECL cairo >= 0.1.0
2540      **/
2541     public function pushGroupWithContent($content){}
2542 
2543     /**
2544      * The rectangle purpose
2545      *
2546      * @param float $x Description...
2547      * @param float $y Description...
2548      * @param float $width Description...
2549      * @param float $height Description...
2550      * @return void Description...
2551      * @since PECL cairo >= 0.1.0
2552      **/
2553     public function rectangle($x, $y, $width, $height){}
2554 
2555     /**
2556      * The relCurveTo purpose
2557      *
2558      * @param float $x1 Description...
2559      * @param float $y1 Description...
2560      * @param float $x2 Description...
2561      * @param float $y2 Description...
2562      * @param float $x3 Description...
2563      * @param float $y3 Description...
2564      * @return void Description...
2565      * @since PECL cairo >= 0.1.0
2566      **/
2567     public function relCurveTo($x1, $y1, $x2, $y2, $x3, $y3){}
2568 
2569     /**
2570      * The relLineTo purpose
2571      *
2572      * @param float $x Description...
2573      * @param float $y Description...
2574      * @return void Description...
2575      * @since PECL cairo >= 0.1.0
2576      **/
2577     public function relLineTo($x, $y){}
2578 
2579     /**
2580      * The relMoveTo purpose
2581      *
2582      * @param float $x Description...
2583      * @param float $y Description...
2584      * @return void Description...
2585      * @since PECL cairo >= 0.1.0
2586      **/
2587     public function relMoveTo($x, $y){}
2588 
2589     /**
2590      * The resetClip purpose
2591      *
2592      * @return void Description...
2593      * @since PECL cairo >= 0.1.0
2594      **/
2595     public function resetClip(){}
2596 
2597     /**
2598      * The restore purpose
2599      *
2600      * @return void Description...
2601      * @since PECL cairo >= 0.1.0
2602      **/
2603     public function restore(){}
2604 
2605     /**
2606      * The rotate purpose
2607      *
2608      * @param float $angle Description...
2609      * @return void Description...
2610      * @since PECL cairo >= 0.1.0
2611      **/
2612     public function rotate($angle){}
2613 
2614     /**
2615      * The save purpose
2616      *
2617      * @return void Description...
2618      * @since PECL cairo >= 0.1.0
2619      **/
2620     public function save(){}
2621 
2622     /**
2623      * The scale purpose
2624      *
2625      * @param float $x Description...
2626      * @param float $y Description...
2627      * @return void Description...
2628      * @since PECL cairo >= 0.1.0
2629      **/
2630     public function scale($x, $y){}
2631 
2632     /**
2633      * The selectFontFace purpose
2634      *
2635      * @param string $family Description...
2636      * @param int $slant Description...
2637      * @param int $weight Description...
2638      * @return void Description...
2639      * @since PECL cairo >= 0.1.0
2640      **/
2641     public function selectFontFace($family, $slant, $weight){}
2642 
2643     /**
2644      * The setAntialias purpose
2645      *
2646      * @param int $antialias Description...
2647      * @return void Description...
2648      * @since PECL cairo >= 0.1.0
2649      **/
2650     public function setAntialias($antialias){}
2651 
2652     /**
2653      * The setDash purpose
2654      *
2655      * @param array $dashes Description...
2656      * @param float $offset Description...
2657      * @return void Description...
2658      * @since PECL cairo >= 0.1.0
2659      **/
2660     public function setDash($dashes, $offset){}
2661 
2662     /**
2663      * The setFillRule purpose
2664      *
2665      * @param int $setting Description...
2666      * @return void Description...
2667      * @since PECL cairo >= 0.1.0
2668      **/
2669     public function setFillRule($setting){}
2670 
2671     /**
2672      * The setFontFace purpose
2673      *
2674      * Sets the font-face for a given context.
2675      *
2676      * @param CairoFontFace $fontface A CairoContext object to change the
2677      *   font-face for.
2678      * @return void No value is returned
2679      * @since PECL cairo >= 0.1.0
2680      **/
2681     public function setFontFace($fontface){}
2682 
2683     /**
2684      * The setFontMatrix purpose
2685      *
2686      * @param CairoMatrix $matrix Description...
2687      * @return void Description...
2688      * @since PECL cairo >= 0.1.0
2689      **/
2690     public function setFontMatrix($matrix){}
2691 
2692     /**
2693      * The setFontOptions purpose
2694      *
2695      * @param CairoFontOptions $fontoptions Description...
2696      * @return void Description...
2697      * @since PECL cairo >= 0.1.0
2698      **/
2699     public function setFontOptions($fontoptions){}
2700 
2701     /**
2702      * The setFontSize purpose
2703      *
2704      * @param float $size Description...
2705      * @return void Description...
2706      * @since PECL cairo >= 0.1.0
2707      **/
2708     public function setFontSize($size){}
2709 
2710     /**
2711      * The setLineCap purpose
2712      *
2713      * @param int $setting Description...
2714      * @return void Description...
2715      * @since PECL cairo >= 0.1.0
2716      **/
2717     public function setLineCap($setting){}
2718 
2719     /**
2720      * The setLineJoin purpose
2721      *
2722      * @param int $setting Description...
2723      * @return void Description...
2724      * @since PECL cairo >= 0.1.0
2725      **/
2726     public function setLineJoin($setting){}
2727 
2728     /**
2729      * The setLineWidth purpose
2730      *
2731      * @param float $width Description...
2732      * @return void Description...
2733      * @since PECL cairo >= 0.1.0
2734      **/
2735     public function setLineWidth($width){}
2736 
2737     /**
2738      * The setMatrix purpose
2739      *
2740      * @param CairoMatrix $matrix Description...
2741      * @return void Description...
2742      * @since PECL cairo >= 0.1.0
2743      **/
2744     public function setMatrix($matrix){}
2745 
2746     /**
2747      * The setMiterLimit purpose
2748      *
2749      * @param float $limit Description...
2750      * @return void Description...
2751      * @since PECL cairo >= 0.1.0
2752      **/
2753     public function setMiterLimit($limit){}
2754 
2755     /**
2756      * The setOperator purpose
2757      *
2758      * @param int $setting Description...
2759      * @return void Description...
2760      * @since PECL cairo >= 0.1.0
2761      **/
2762     public function setOperator($setting){}
2763 
2764     /**
2765      * The setScaledFont purpose
2766      *
2767      * @param CairoScaledFont $scaledfont Description...
2768      * @return void Description...
2769      * @since PECL cairo >= 0.1.0
2770      **/
2771     public function setScaledFont($scaledfont){}
2772 
2773     /**
2774      * The setSource purpose
2775      *
2776      * @param CairoPattern $pattern Description...
2777      * @return void Description...
2778      * @since PECL cairo >= 0.1.0
2779      **/
2780     public function setSource($pattern){}
2781 
2782     /**
2783      * The setSourceRGB purpose
2784      *
2785      * @param float $red Description...
2786      * @param float $green Description...
2787      * @param float $blue Description...
2788      * @return void Description...
2789      * @since PECL cairo >= 0.1.0
2790      **/
2791     public function setSourceRGB($red, $green, $blue){}
2792 
2793     /**
2794      * The setSourceRGBA purpose
2795      *
2796      * @param float $red Description...
2797      * @param float $green Description...
2798      * @param float $blue Description...
2799      * @param float $alpha Description...
2800      * @return void Description...
2801      * @since PECL cairo >= 0.1.0
2802      **/
2803     public function setSourceRGBA($red, $green, $blue, $alpha){}
2804 
2805     /**
2806      * The setSourceSurface purpose
2807      *
2808      * @param CairoSurface $surface Description...
2809      * @param float $x Description...
2810      * @param float $y Description...
2811      * @return void Description...
2812      * @since PECL cairo >= 0.1.0
2813      **/
2814     public function setSourceSurface($surface, $x, $y){}
2815 
2816     /**
2817      * The setTolerance purpose
2818      *
2819      * @param float $tolerance Description...
2820      * @return void Description...
2821      * @since PECL cairo >= 0.1.0
2822      **/
2823     public function setTolerance($tolerance){}
2824 
2825     /**
2826      * The showPage purpose
2827      *
2828      * @return void Description...
2829      * @since PECL cairo >= 0.1.0
2830      **/
2831     public function showPage(){}
2832 
2833     /**
2834      * The showText purpose
2835      *
2836      * @param string $text Description...
2837      * @return void Description...
2838      * @since PECL cairo >= 0.1.0
2839      **/
2840     public function showText($text){}
2841 
2842     /**
2843      * The status purpose
2844      *
2845      * @return int Description...
2846      * @since PECL cairo >= 0.1.0
2847      **/
2848     public function status(){}
2849 
2850     /**
2851      * The stroke purpose
2852      *
2853      * @return void Description...
2854      * @since PECL cairo >= 0.1.0
2855      **/
2856     public function stroke(){}
2857 
2858     /**
2859      * The strokeExtents purpose
2860      *
2861      * @return array Description...
2862      * @since PECL cairo >= 0.1.0
2863      **/
2864     public function strokeExtents(){}
2865 
2866     /**
2867      * The strokePreserve purpose
2868      *
2869      * @return void Description...
2870      * @since PECL cairo >= 0.1.0
2871      **/
2872     public function strokePreserve(){}
2873 
2874     /**
2875      * The textExtents purpose
2876      *
2877      * @param string $text Description...
2878      * @return array Description...
2879      * @since PECL cairo >= 0.1.0
2880      **/
2881     public function textExtents($text){}
2882 
2883     /**
2884      * The textPath purpose
2885      *
2886      * Adds closed paths for text to the current path. The generated path, if
2887      * filled, achieves an effect similar to that of CairoContext::showText.
2888      *
2889      * Text conversion and positioning is done similar to
2890      * CairoContext::showText.
2891      *
2892      * Like CairoContext::showText, after this call the current point is
2893      * moved to the origin of where the next glyph would be placed in this
2894      * same progression. That is, the current point will be at the origin of
2895      * the final glyph offset by its advance values. This allows for chaining
2896      * multiple calls to CairoContext::showText without having to set current
2897      * point in between.
2898      *
2899      * Note: The CairoContext::textPath function call is part of what the
2900      * cairo designers call the "toy" text API. It is convenient for short
2901      * demos and simple programs, but it is not expected to be adequate for
2902      * serious text-using applications. See CairoContext::glyphPath for the
2903      * "real" text path API in cairo.
2904      *
2905      * @param string $string A CairoContext object
2906      * @return void Description...
2907      * @since PECL cairo >= 0.1.0
2908      **/
2909     public function textPath($string){}
2910 
2911     /**
2912      * The transform purpose
2913      *
2914      * @param CairoMatrix $matrix Description...
2915      * @return void Description...
2916      * @since PECL cairo >= 0.1.0
2917      **/
2918     public function transform($matrix){}
2919 
2920     /**
2921      * The translate purpose
2922      *
2923      * @param float $x Description...
2924      * @param float $y Description...
2925      * @return void Description...
2926      * @since PECL cairo >= 0.1.0
2927      **/
2928     public function translate($x, $y){}
2929 
2930     /**
2931      * The userToDevice purpose
2932      *
2933      * @param float $x Description...
2934      * @param float $y Description...
2935      * @return array Description...
2936      * @since PECL cairo >= 0.1.0
2937      **/
2938     public function userToDevice($x, $y){}
2939 
2940     /**
2941      * The userToDeviceDistance purpose
2942      *
2943      * @param float $x Description...
2944      * @param float $y Description...
2945      * @return array Description...
2946      * @since PECL cairo >= 0.1.0
2947      **/
2948     public function userToDeviceDistance($x, $y){}
2949 
2950     /**
2951      * Creates a new CairoContext
2952      *
2953      * Creates a new CairoContext object to draw
2954      *
2955      * @param CairoSurface $surface A valid CairoSurface like
2956      *   CairoImageSurface or CairoPdfSurface
2957      * @since PECL cairo >= 0.1.0
2958      **/
2959     public function __construct($surface){}
2960 
2961 }
2962 /**
2963  * Exception class thrown by Cairo functions and methods
2964  **/
2965 class CairoException extends Exception {
2966 }
2967 class CairoExtend {
2968     /**
2969      * @var integer
2970      **/
2971     const NONE = 0;
2972 
2973     /**
2974      * @var integer
2975      **/
2976     const PAD = 0;
2977 
2978     /**
2979      * @var integer
2980      **/
2981     const REFLECT = 0;
2982 
2983     /**
2984      * @var integer
2985      **/
2986     const REPEAT = 0;
2987 
2988 }
2989 /**
2990  * A CairoFillRule is used to select how paths are filled. For both fill
2991  * rules, whether or not a point is included in the fill is determined by
2992  * taking a ray from that point to infinity and looking at intersections
2993  * with the path. The ray can be in any direction, as long as it doesn't
2994  * pass through the end point of a segment or have a tricky intersection
2995  * such as intersecting tangent to the path. (Note that filling is not
2996  * actually implemented in this way. This is just a description of the
2997  * rule that is applied.) The default fill rule is
2998  * CairoFillRule::WINDING.
2999  **/
3000 class CairoFillRule {
3001     /**
3002      * @var integer
3003      **/
3004     const EVEN_ODD = 0;
3005 
3006     /**
3007      * If the path crosses the ray from left-to-right, counts +1. If the path
3008      * crosses the ray from right to left, counts -1. (Left and right are
3009      * determined from the perspective of looking along the ray from the
3010      * starting point.) If the total count is non-zero, the point will be
3011      * filled.
3012      *
3013      * @var integer
3014      **/
3015     const WINDING = 0;
3016 
3017 }
3018 /**
3019  * A CairoFilter is used to indicate what filtering should be applied
3020  * when reading pixel values from patterns. See CairoPattern::setSource
3021  * or {@link cairo_pattern_set_source} for indicating the desired filter
3022  * to be used with a particular pattern.
3023  **/
3024 class CairoFilter {
3025     /**
3026      * The highest-quality available, performance may not be suitable for
3027      * interactive use.
3028      *
3029      * @var integer
3030      **/
3031     const BEST = 0;
3032 
3033     /**
3034      * Linear interpolation in two dimensions
3035      *
3036      * @var integer
3037      **/
3038     const BILINEAR = 0;
3039 
3040     /**
3041      * A high-performance filter, with quality similar to
3042      * CairoFilter::NEAREST
3043      *
3044      * @var integer
3045      **/
3046     const FAST = 0;
3047 
3048     /**
3049      * This filter value is currently unimplemented, and should not be used
3050      * in current code.
3051      *
3052      * @var integer
3053      **/
3054     const GAUSSIAN = 0;
3055 
3056     /**
3057      * A reasonable-performance filter, with quality similar to
3058      * CairoFilter::BILINEAR
3059      *
3060      * @var integer
3061      **/
3062     const GOOD = 0;
3063 
3064     /**
3065      * Nearest-neighbor filtering
3066      *
3067      * @var integer
3068      **/
3069     const NEAREST = 0;
3070 
3071 }
3072 /**
3073  * CairoFontFace abstract class represents a particular font at a
3074  * particular weight, slant, and other characteristic but no
3075  * transformation or size. Note: This class can not be instantiated
3076  * directly, it is created by CairoContext::getFontFace or {@link
3077  * cairo_scaled_font_get_font_face}.
3078  **/
3079 class CairoFontFace {
3080     /**
3081      * Retrieves the font face type
3082      *
3083      * This function returns the type of the backend used to create a font
3084      * face. See CairoFontType class constants for available types.
3085      *
3086      * @return int A font type that can be any one defined in CairoFontType
3087      * @since PECL cairo >= 0.1.0
3088      **/
3089     public function getType(){}
3090 
3091     /**
3092      * Check for CairoFontFace errors
3093      *
3094      * Checks whether an error has previously occurred for this font face
3095      *
3096      * @return int CAIRO_STATUS_SUCCESS or another error such as
3097      *   CAIRO_STATUS_NO_MEMORY.
3098      * @since PECL cairo >= 0.1.0
3099      **/
3100     public function status(){}
3101 
3102     /**
3103      * Creates a new CairoFontFace object
3104      *
3105      * CairoFontFace class represents a particular font at a particular
3106      * weight, slant, and other characteristic but no transformation or size.
3107      *
3108      * Note: This class can't be instantiated directly it is created by
3109      * CairoContext::getFontFace or {@link cairo_scaled_font_get_font_face}
3110      *
3111      * @since PECL cairo >= 0.1.0
3112      **/
3113     public function __construct(){}
3114 
3115 }
3116 /**
3117  * An opaque structure holding all options that are used when rendering
3118  * fonts. Individual features of a cairo_font_options_t can be set or
3119  * accessed using functions named cairo_font_options_set_feature_name and
3120  * cairo_font_options_get_feature_name, like
3121  * cairo_font_options_set_antialias() and
3122  * cairo_font_options_get_antialias(). New features may be added to
3123  * CairoFontOptions in the future. For this reason
3124  * CairoFontOptions::copy, CairoFontOptions::equal,
3125  * CairoFontOptions::merge, CairoFontOptions::hash
3126  * (cairo_font_options_copy(), cairo_font_options_equal(),
3127  * cairo_font_options_merge(), and cairo_font_options_hash() in
3128  * procedural way) should be used to copy, check for equality, merge, or
3129  * compute a hash value of CairoFontOptions objects.
3130  **/
3131 class CairoFontOptions {
3132     /**
3133      * The equal purpose
3134      *
3135      * The method description goes here.
3136      *
3137      * @param CairoFontOptions $other Description...
3138      * @return bool Description...
3139      * @since PECL cairo >= 0.1.0
3140      **/
3141     public function equal($other){}
3142 
3143     /**
3144      * The getAntialias purpose
3145      *
3146      * @return int Description...
3147      * @since PECL cairo >= 0.1.0
3148      **/
3149     public function getAntialias(){}
3150 
3151     /**
3152      * The getHintMetrics purpose
3153      *
3154      * The method description goes here.
3155      *
3156      * @return int Description...
3157      * @since PECL cairo >= 0.1.0
3158      **/
3159     public function getHintMetrics(){}
3160 
3161     /**
3162      * The getHintStyle purpose
3163      *
3164      * The method description goes here.
3165      *
3166      * @return int Description...
3167      * @since PECL cairo >= 0.1.0
3168      **/
3169     public function getHintStyle(){}
3170 
3171     /**
3172      * The getSubpixelOrder purpose
3173      *
3174      * The method description goes here.
3175      *
3176      * @return int Description...
3177      * @since PECL cairo >= 0.1.0
3178      **/
3179     public function getSubpixelOrder(){}
3180 
3181     /**
3182      * The hash purpose
3183      *
3184      * The method description goes here.
3185      *
3186      * @return int Description...
3187      * @since PECL cairo >= 0.1.0
3188      **/
3189     public function hash(){}
3190 
3191     /**
3192      * The merge purpose
3193      *
3194      * The method description goes here.
3195      *
3196      * @param CairoFontOptions $other Description...
3197      * @return void Description...
3198      * @since PECL cairo >= 0.1.0
3199      **/
3200     public function merge($other){}
3201 
3202     /**
3203      * The setAntialias purpose
3204      *
3205      * @param int $antialias Description...
3206      * @return void Description...
3207      * @since PECL cairo >= 0.1.0
3208      **/
3209     public function setAntialias($antialias){}
3210 
3211     /**
3212      * The setHintMetrics purpose
3213      *
3214      * The method description goes here.
3215      *
3216      * @param int $hint_metrics Description...
3217      * @return void Description...
3218      * @since PECL cairo >= 0.1.0
3219      **/
3220     public function setHintMetrics($hint_metrics){}
3221 
3222     /**
3223      * The setHintStyle purpose
3224      *
3225      * The method description goes here.
3226      *
3227      * @param int $hint_style Description...
3228      * @return void Description...
3229      * @since PECL cairo >= 0.1.0
3230      **/
3231     public function setHintStyle($hint_style){}
3232 
3233     /**
3234      * The setSubpixelOrder purpose
3235      *
3236      * The method description goes here.
3237      *
3238      * @param int $subpixel_order Description...
3239      * @return void Description...
3240      * @since PECL cairo >= 0.1.0
3241      **/
3242     public function setSubpixelOrder($subpixel_order){}
3243 
3244     /**
3245      * The status purpose
3246      *
3247      * @return int Description...
3248      * @since PECL cairo >= 0.1.0
3249      **/
3250     public function status(){}
3251 
3252     /**
3253      * The __construct purpose
3254      *
3255      * The method description goes here.
3256      *
3257      * @since PECL cairo >= 0.1.0
3258      **/
3259     public function __construct(){}
3260 
3261 }
3262 /**
3263  * Specifies variants of a font face based on their slant.
3264  **/
3265 class CairoFontSlant {
3266     /**
3267      * Italic font style
3268      *
3269      * @var integer
3270      **/
3271     const ITALIC = 0;
3272 
3273     /**
3274      * Upright font style
3275      *
3276      * @var integer
3277      **/
3278     const NORMAL = 0;
3279 
3280     /**
3281      * Oblique font style
3282      *
3283      * @var integer
3284      **/
3285     const OBLIQUE = 0;
3286 
3287 }
3288 /**
3289  * CairoFontType class is an abstract final class that contains constants
3290  * used to describe the type of a given CairoFontFace or CairoScaledFont.
3291  * The font types are also known as "font backends" within cairo. The
3292  * type of a CairoFontFace is determined by the how it is created, an
3293  * example would be the CairoToyFontFace::__construct. The CairoFontFace
3294  * type can be queried with CairoFontFace::getType or {@link
3295  * cairo_font_face_get_type} The various CairoFontFace functions can be
3296  * used with a font face of any type. The type of a CairoScaledFont is
3297  * determined by the type of the CairoFontFace passed to
3298  * CairoScaledFont::__construct or {@link cairo_scaled_font_create}. The
3299  * scaled font type can be queried with CairoScaledFont::getType or
3300  * {@link cairo_scaled_font_get_type}.
3301  **/
3302 class CairoFontType {
3303     /**
3304      * The font is of type CairoFreeType
3305      *
3306      * @var integer
3307      **/
3308     const FT = 0;
3309 
3310     /**
3311      * The font is of type Quartz
3312      *
3313      * @var integer
3314      **/
3315     const QUARTZ = 0;
3316 
3317     /**
3318      * The font was created using CairoToyFont api
3319      *
3320      * @var integer
3321      **/
3322     const TOY = 0;
3323 
3324     /**
3325      * The font was create using cairo's user font api
3326      *
3327      * @var mixed
3328      **/
3329     const USER = 0;
3330 
3331     /**
3332      * The font is of type Win32
3333      *
3334      * @var integer
3335      **/
3336     const WIN32 = 0;
3337 
3338 }
3339 /**
3340  * Specifies variants of a font face based on their weight.
3341  **/
3342 class CairoFontWeight {
3343     /**
3344      * Bold font weight
3345      *
3346      * @var integer
3347      **/
3348     const BOLD = 0;
3349 
3350     /**
3351      * Normal font weight
3352      *
3353      * @var integer
3354      **/
3355     const NORMAL = 0;
3356 
3357 }
3358 /**
3359  * CairoFormat enums are used to identify the memory format of the image
3360  * data.
3361  **/
3362 class CairoFormat {
3363     /**
3364      * Each pixel is a 1-bit quantity holding an alpha value. Pixels are
3365      * packed together into 32-bit quantities. The ordering of the bits
3366      * matches the endianness of the platform. On a big-endian machine, the
3367      * first pixel is in the uppermost bit, on a little-endian machine the
3368      * first pixel is in the least-significant bit.
3369      *
3370      * @var integer
3371      **/
3372     const A1 = 0;
3373 
3374     /**
3375      * Each pixel is a 8-bit quantity holding an alpha value.
3376      *
3377      * @var integer
3378      **/
3379     const A8 = 0;
3380 
3381     /**
3382      * Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then
3383      * red, then green, then blue. The 32-bit quantities are stored
3384      * native-endian. Pre-multiplied alpha is used. (That is, 50% transparent
3385      * red is 0x80800000, not 0x80ff0000.)
3386      *
3387      * @var integer
3388      **/
3389     const ARGB32 = 0;
3390 
3391     /**
3392      * Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red,
3393      * Green, and Blue are stored in the remaining 24 bits in that order.
3394      *
3395      * @var integer
3396      **/
3397     const RGB24 = 0;
3398 
3399     /**
3400      * Provides an appropriate stride to use
3401      *
3402      * This method provides a stride value that will respect all alignment
3403      * requirements of the accelerated image-rendering code within cairo.
3404      *
3405      * @param int $format The desired CairoFormat to use
3406      * @param int $width The width of the image
3407      * @return int The appropriate stride to use given the desired format
3408      *   and width, or -1 if either the format is invalid or the width too
3409      *   large.
3410      * @since PECL cairo >= 0.1.0
3411      **/
3412     public static function strideForWidth($format, $width){}
3413 
3414 }
3415 /**
3416  * CairoGradientPattern is an abstract base class from which other
3417  * Pattern classes derive. It cannot be instantiated directly.
3418  **/
3419 class CairoGradientPattern extends CairoPattern {
3420     /**
3421      * The addColorStopRgb purpose
3422      *
3423      * The method description goes here.
3424      *
3425      * @param float $offset Description...
3426      * @param float $red Description...
3427      * @param float $green Description...
3428      * @param float $blue Description...
3429      * @return void Description...
3430      * @since PECL cairo >= 0.1.0
3431      **/
3432     public function addColorStopRgb($offset, $red, $green, $blue){}
3433 
3434     /**
3435      * The addColorStopRgba purpose
3436      *
3437      * The method description goes here.
3438      *
3439      * @param float $offset Description...
3440      * @param float $red Description...
3441      * @param float $green Description...
3442      * @param float $blue Description...
3443      * @param float $alpha Description...
3444      * @return void Description...
3445      * @since PECL cairo >= 0.1.0
3446      **/
3447     public function addColorStopRgba($offset, $red, $green, $blue, $alpha){}
3448 
3449     /**
3450      * The getColorStopCount purpose
3451      *
3452      * The method description goes here.
3453      *
3454      * @return int Description...
3455      * @since PECL cairo >= 0.1.0
3456      **/
3457     public function getColorStopCount(){}
3458 
3459     /**
3460      * The getColorStopRgba purpose
3461      *
3462      * The method description goes here.
3463      *
3464      * @param int $index Description...
3465      * @return array Description...
3466      * @since PECL cairo >= 0.1.0
3467      **/
3468     public function getColorStopRgba($index){}
3469 
3470     /**
3471      * The getExtend purpose
3472      *
3473      * The method description goes here.
3474      *
3475      * @return int Description...
3476      * @since PECL cairo >= 0.1.0
3477      **/
3478     public function getExtend(){}
3479 
3480     /**
3481      * The setExtend purpose
3482      *
3483      * The method description goes here.
3484      *
3485      * @param int $extend Description...
3486      * @return void Description...
3487      * @since PECL cairo >= 0.1.0
3488      **/
3489     public function setExtend($extend){}
3490 
3491 }
3492 /**
3493  * Specifies whether to hint font metrics; hinting font metrics means
3494  * quantizing them so that they are integer values in device space. Doing
3495  * this improves the consistency of letter and line spacing, however it
3496  * also means that text will be laid out differently at different zoom
3497  * factors.
3498  **/
3499 class CairoHintMetrics {
3500     /**
3501      * @var integer
3502      **/
3503     const METRICS_DEFAULT = 0;
3504 
3505     /**
3506      * @var integer
3507      **/
3508     const METRICS_OFF = 0;
3509 
3510     /**
3511      * @var integer
3512      **/
3513     const METRICS_ON = 0;
3514 
3515 }
3516 /**
3517  * Specifies the type of hinting to do on font outlines. Hinting is the
3518  * process of fitting outlines to the pixel grid in order to improve the
3519  * appearance of the result. Since hinting outlines involves distorting
3520  * them, it also reduces the faithfulness to the original outline shapes.
3521  * Not all of the outline hinting styles are supported by all font
3522  * backends.
3523  **/
3524 class CairoHintStyle {
3525     /**
3526      * @var integer
3527      **/
3528     const STYLE_DEFAULT = 0;
3529 
3530     /**
3531      * @var integer
3532      **/
3533     const STYLE_FULL = 0;
3534 
3535     /**
3536      * @var integer
3537      **/
3538     const STYLE_MEDIUM = 0;
3539 
3540     /**
3541      * @var integer
3542      **/
3543     const STYLE_NONE = 0;
3544 
3545     /**
3546      * @var integer
3547      **/
3548     const STYLE_SLIGHT = 0;
3549 
3550 }
3551 /**
3552  * CairoImageSurface provide the ability to render to memory buffers
3553  * either allocated by cairo or by the calling code. The supported image
3554  * formats are those defined in CairoFormat.
3555  **/
3556 class CairoImageSurface extends CairoSurface {
3557     /**
3558      * The createForData purpose
3559      *
3560      * The method description goes here.
3561      *
3562      * @param string $data Description...
3563      * @param int $format Description...
3564      * @param int $width Description...
3565      * @param int $height Description...
3566      * @return void Description...
3567      * @since PECL cairo >= 0.1.0
3568      **/
3569     public static function createForData($data, $format, $width, $height){}
3570 
3571     /**
3572      * Creates a new CairoImageSurface form a png image file
3573      *
3574      * This method should be called static
3575      *
3576      * @param string $file Path to PNG image file
3577      * @return CairoImageSurface CairoImageSurface object
3578      * @since PECL cairo >= 0.1.0
3579      **/
3580     public static function createFromPng($file){}
3581 
3582     /**
3583      * Gets the image data as string
3584      *
3585      * Returns the image data of this surface or NULL if surface is not an
3586      * image surface, or if CairoContext::finish, procedural : {@link
3587      * cairo_surface_finish}, has been called.
3588      *
3589      * @return string The image data as string
3590      * @since PECL cairo >= 0.1.0
3591      **/
3592     public function getData(){}
3593 
3594     /**
3595      * Get the image format
3596      *
3597      * Retrieves the image format, as one of the CairoFormat defined
3598      *
3599      * @return int One of the CairoFormat enums
3600      * @since PECL cairo >= 0.1.0
3601      **/
3602     public function getFormat(){}
3603 
3604     /**
3605      * Retrieves the height of the CairoImageSurface
3606      *
3607      * This methods returns the CairoImageSurface height.
3608      *
3609      * @return int CairoImageSurface object height
3610      * @since PECL cairo >= 0.1.0
3611      **/
3612     public function getHeight(){}
3613 
3614     /**
3615      * The getStride purpose
3616      *
3617      * The method description goes here.
3618      *
3619      * @return int Description...
3620      * @since PECL cairo >= 0.1.0
3621      **/
3622     public function getStride(){}
3623 
3624     /**
3625      * Retrieves the width of the CairoImageSurface
3626      *
3627      * Gets the width of the CairoImageSurface
3628      *
3629      * @return int Returns the width of the CairoImageSurface object
3630      * @since PECL cairo >= 0.1.0
3631      **/
3632     public function getWidth(){}
3633 
3634     /**
3635      * Creates a new CairoImageSurface
3636      *
3637      * Creates a new CairoImageSuface object of type {@link format}
3638      *
3639      * @param int $format Can be any defined in CairoFormat
3640      * @param int $width The width of the image surface
3641      * @param int $height The height of the image surface
3642      * @since PECL cairo >= 0.1.0
3643      **/
3644     public function __construct($format, $width, $height){}
3645 
3646 }
3647 /**
3648  * Create a new CairoLinearGradient along the line defined
3649  **/
3650 class CairoLinearGradient extends CairoGradientPattern {
3651     /**
3652      * The getPoints purpose
3653      *
3654      * The method description goes here.
3655      *
3656      * @return array Description...
3657      * @since PECL cairo >= 0.1.0
3658      **/
3659     public function getPoints(){}
3660 
3661     /**
3662      * The __construct purpose
3663      *
3664      * The method description goes here.
3665      *
3666      * @param float $x0 Description...
3667      * @param float $y0 Description...
3668      * @param float $x1 Description...
3669      * @param float $y1 Description...
3670      * @since PECL cairo >= 0.1.0
3671      **/
3672     public function __construct($x0, $y0, $x1, $y1){}
3673 
3674 }
3675 /**
3676  * Specifies how to render the endpoints of the path when stroking. The
3677  * default line cap style is CairoLineCap::BUTT.
3678  **/
3679 class CairoLineCap {
3680     /**
3681      * Start(stop) the line exactly at the start(end) point
3682      *
3683      * @var integer
3684      **/
3685     const BUTT = 0;
3686 
3687     /**
3688      * Use a round ending, the center of the circle is the end point
3689      *
3690      * @var integer
3691      **/
3692     const ROUND = 0;
3693 
3694     /**
3695      * Use squared ending, the center of the square is the end point
3696      *
3697      * @var integer
3698      **/
3699     const SQUARE = 0;
3700 
3701 }
3702 class CairoLineJoin {
3703     /**
3704      * @var integer
3705      **/
3706     const BEVEL = 0;
3707 
3708     /**
3709      * @var integer
3710      **/
3711     const MITER = 0;
3712 
3713     /**
3714      * @var integer
3715      **/
3716     const ROUND = 0;
3717 
3718 }
3719 /**
3720  * Matrices are used throughout cairo to convert between different
3721  * coordinate spaces.
3722  **/
3723 class CairoMatrix {
3724     /**
3725      * Creates a new identity matrix
3726      *
3727      * Creates a new matrix that is an identity transformation. An identity
3728      * transformation means the source data is copied into the destination
3729      * data without change
3730      *
3731      * @return void Returns a new CairoMatrix object that can be used with
3732      *   surfaces, contexts, and patterns.
3733      * @since PECL cairo >= 0.1.0
3734      **/
3735     public static function initIdentity(){}
3736 
3737     /**
3738      * Creates a new rotated matrix
3739      *
3740      * Creates a new matrix to a transformation that rotates by radians
3741      * provided
3742      *
3743      * @param float $radians angle of rotation, in radians. The direction
3744      *   of rotation is defined such that positive angles rotate in the
3745      *   direction from the positive X axis toward the positive Y axis. With
3746      *   the default axis orientation of cairo, positive angles rotate in a
3747      *   clockwise direction.
3748      * @return void Returns a new CairoMatrix object that can be used with
3749      *   surfaces, contexts, and patterns.
3750      * @since PECL cairo >= 0.1.0
3751      **/
3752     public static function initRotate($radians){}
3753 
3754     /**
3755      * Creates a new scaling matrix
3756      *
3757      * Creates a new matrix to a transformation that scales by sx and sy in
3758      * the X and Y dimensions, respectively.
3759      *
3760      * @param float $sx scale factor in the X direction
3761      * @param float $sy scale factor in the Y direction
3762      * @return void Returns a new CairoMatrix object that can be used with
3763      *   surfaces, contexts, and patterns.
3764      * @since PECL cairo >= 0.1.0
3765      **/
3766     public static function initScale($sx, $sy){}
3767 
3768     /**
3769      * Creates a new translation matrix
3770      *
3771      * Creates a new matrix to a transformation that translates by tx and ty
3772      * in the X and Y dimensions, respectively.
3773      *
3774      * @param float $tx amount to translate in the X direction
3775      * @param float $ty amount to translate in the Y direction
3776      * @return void Returns a new CairoMatrix object that can be used with
3777      *   surfaces, contexts, and patterns.
3778      * @since PECL cairo >= 0.1.0
3779      **/
3780     public static function initTranslate($tx, $ty){}
3781 
3782     /**
3783      * The invert purpose
3784      *
3785      * The method description goes here.
3786      *
3787      * @return void Description...
3788      * @since PECL cairo >= 0.1.0
3789      **/
3790     public function invert(){}
3791 
3792     /**
3793      * The multiply purpose
3794      *
3795      * The method description goes here.
3796      *
3797      * @param CairoMatrix $matrix1 Description...
3798      * @param CairoMatrix $matrix2 Description...
3799      * @return CairoMatrix Description...
3800      * @since PECL cairo >= 0.1.0
3801      **/
3802     public static function multiply($matrix1, $matrix2){}
3803 
3804     /**
3805      * The rotate purpose
3806      *
3807      * @param float $radians Description...
3808      * @return void Description...
3809      * @since PECL cairo >= 0.1.0
3810      **/
3811     public function rotate($radians){}
3812 
3813     /**
3814      * Applies scaling to a matrix
3815      *
3816      * Applies scaling by sx, sy to the transformation in the matrix. The
3817      * effect of the new transformation is to first scale the coordinates by
3818      * sx and sy, then apply the original transformation to the coordinates.
3819      *
3820      * @param float $sx Procedural only - CairoMatrix instance
3821      * @param float $sy scale factor in the X direction
3822      * @return void
3823      * @since PECL cairo >= 0.1.0
3824      **/
3825     public function scale($sx, $sy){}
3826 
3827     /**
3828      * The transformDistance purpose
3829      *
3830      * The method description goes here.
3831      *
3832      * @param float $dx Description...
3833      * @param float $dy Description...
3834      * @return array Description...
3835      * @since PECL cairo >= 0.1.0
3836      **/
3837     public function transformDistance($dx, $dy){}
3838 
3839     /**
3840      * The transformPoint purpose
3841      *
3842      * The method description goes here.
3843      *
3844      * @param float $dx Description...
3845      * @param float $dy Description...
3846      * @return array Description...
3847      * @since PECL cairo >= 0.1.0
3848      **/
3849     public function transformPoint($dx, $dy){}
3850 
3851     /**
3852      * The translate purpose
3853      *
3854      * @param float $tx Description...
3855      * @param float $ty Description...
3856      * @return void Description...
3857      * @since PECL cairo >= 0.1.0
3858      **/
3859     public function translate($tx, $ty){}
3860 
3861     /**
3862      * Creates a new CairoMatrix object
3863      *
3864      * Returns new CairoMatrix object. Matrices are used throughout cairo to
3865      * convert between different coordinate spaces. Sets matrix to be the
3866      * affine transformation given by xx, yx, xy, yy, x0, y0. The
3867      * transformation is given by: x_new = xx * x + xy * y + x0; and y_new =
3868      * yx * x + yy * y + y0;
3869      *
3870      * @param float $xx xx component of the affine transformation
3871      * @param float $yx yx component of the affine transformation
3872      * @param float $xy xy component of the affine transformation
3873      * @param float $yy yy component of the affine transformation
3874      * @param float $x0 X translation component of the affine
3875      *   transformation
3876      * @param float $y0 Y translation component of the affine
3877      *   transformation
3878      * @since PECL cairo >= 0.1.0
3879      **/
3880     public function __construct($xx, $yx, $xy, $yy, $x0, $y0){}
3881 
3882 }
3883 /**
3884  * This is used to set the compositing operator for all cairo drawing
3885  * operations. The default operator is CairoOperator::OVER The operators
3886  * marked as unbounded modify their destination even outside of the mask
3887  * layer (that is, their effect is not bound by the mask layer). However,
3888  * their effect can still be limited by way of clipping. To keep things
3889  * simple, the operator descriptions here document the behavior for when
3890  * both source and destination are either fully transparent or fully
3891  * opaque. The actual implementation works for translucent layers too.
3892  * For a more detailed explanation of the effects of each operator,
3893  * including the mathematical definitions, see
3894  * http://cairographics.org/operators/.
3895  **/
3896 class CairoOperator {
3897     /**
3898      * Source and destination layers are accumulated
3899      *
3900      * @var integer
3901      **/
3902     const ADD = 0;
3903 
3904     /**
3905      * Draw source on top of destination content and only there
3906      *
3907      * @var integer
3908      **/
3909     const ATOP = 0;
3910 
3911     /**
3912      * Clear destination layer (bounded)
3913      *
3914      * @var integer
3915      **/
3916     const CLEAR = 0;
3917 
3918     /**
3919      * Ignore the source
3920      *
3921      * @var integer
3922      **/
3923     const DEST = 0;
3924 
3925     /**
3926      * @var integer
3927      **/
3928     const DEST_ATOP = 0;
3929 
3930     /**
3931      * @var integer
3932      **/
3933     const DEST_IN = 0;
3934 
3935     /**
3936      * @var integer
3937      **/
3938     const DEST_OUT = 0;
3939 
3940     /**
3941      * @var integer
3942      **/
3943     const DEST_OVER = 0;
3944 
3945     /**
3946      * Draw source where there was destination content (unbounded)
3947      *
3948      * @var integer
3949      **/
3950     const IN = 0;
3951 
3952     /**
3953      * Draw source where there was no destination content (unbounded)
3954      *
3955      * @var integer
3956      **/
3957     const OUT = 0;
3958 
3959     /**
3960      * Draw source layer on top of destination layer (bounded)
3961      *
3962      * @var integer
3963      **/
3964     const OVER = 0;
3965 
3966     /**
3967      * Like CairoOperator::OVER, but assuming source and dest are disjoint
3968      * geometries
3969      *
3970      * @var integer
3971      **/
3972     const SATURATE = 0;
3973 
3974     /**
3975      * Replace destination layer (bounded)
3976      *
3977      * @var integer
3978      **/
3979     const SOURCE = 0;
3980 
3981     /**
3982      * Source and destination are shown where there is only one of them
3983      *
3984      * @var integer
3985      **/
3986     const XOR = 0;
3987 
3988 }
3989 /**
3990  * Note: CairoPath class cannot be instantiated directly, doing so will
3991  * result in Fatal Error if used or passed
3992  **/
3993 class CairoPath {
3994 }
3995 /**
3996  * CairoPattern is the abstract base class from which all the other
3997  * pattern classes derive. It cannot be instantiated directly
3998  **/
3999 class CairoPattern {
4000     /**
4001      * The getMatrix purpose
4002      *
4003      * @return void Description...
4004      * @since PECL cairo >= 0.1.0
4005      **/
4006     public function getMatrix(){}
4007 
4008     /**
4009      * The getType purpose
4010      *
4011      * The method description goes here.
4012      *
4013      * @return int Description...
4014      * @since PECL cairo >= 0.1.0
4015      **/
4016     public function getType(){}
4017 
4018     /**
4019      * The setMatrix purpose
4020      *
4021      * @param CairoMatrix $matrix Description...
4022      * @return void Description...
4023      * @since PECL cairo >= 0.1.0
4024      **/
4025     public function setMatrix($matrix){}
4026 
4027     /**
4028      * The status purpose
4029      *
4030      * @return int Description...
4031      * @since PECL cairo >= 0.1.0
4032      **/
4033     public function status(){}
4034 
4035     /**
4036      * The __construct purpose
4037      *
4038      * The method description goes here.
4039      *
4040      * @since PECL cairo >= 0.1.0
4041      **/
4042     public function __construct(){}
4043 
4044 }
4045 /**
4046  * CairoPatternType is used to describe the type of a given pattern. The
4047  * type of a pattern is determined by the function used to create it. The
4048  * {@link cairo_pattern_create_rgb} and {@link cairo_pattern_create_rgba}
4049  * functions create CairoPatternType::SOLID patterns. The remaining
4050  * cairo_pattern_create_* functions map to pattern types in obvious ways.
4051  **/
4052 class CairoPatternType {
4053     /**
4054      * The pattern is a linear gradient.
4055      *
4056      * @var integer
4057      **/
4058     const LINEAR = 0;
4059 
4060     /**
4061      * The pattern is a radial gradient.
4062      *
4063      * @var integer
4064      **/
4065     const RADIAL = 0;
4066 
4067     /**
4068      * The pattern is a solid (uniform) color. It may be opaque or
4069      * translucent.
4070      *
4071      * @var integer
4072      **/
4073     const SOLID = 0;
4074 
4075     /**
4076      * The pattern is a based on a surface (an image).
4077      *
4078      * @var integer
4079      **/
4080     const SURFACE = 0;
4081 
4082 }
4083 class CairoPdfSurface extends CairoSurface {
4084     /**
4085      * The setSize purpose
4086      *
4087      * The method description goes here.
4088      *
4089      * @param float $width Description...
4090      * @param float $height Description...
4091      * @return void Description...
4092      * @since PECL cairo >= 0.1.0
4093      **/
4094     public function setSize($width, $height){}
4095 
4096     /**
4097      * The __construct purpose
4098      *
4099      * The method description goes here.
4100      *
4101      * @param string $file Description...
4102      * @param float $width Description...
4103      * @param float $height Description...
4104      * @since PECL cairo >= 0.1.0
4105      **/
4106     public function __construct($file, $width, $height){}
4107 
4108 }
4109 class CairoPsLevel {
4110     /**
4111      * @var integer
4112      **/
4113     const LEVEL_2 = 0;
4114 
4115     /**
4116      * @var integer
4117      **/
4118     const LEVEL_3 = 0;
4119 
4120 }
4121 class CairoPsSurface extends CairoSurface {
4122     /**
4123      * The dscBeginPageSetup purpose
4124      *
4125      * The method description goes here.
4126      *
4127      * @return void Description...
4128      * @since PECL cairo >= 0.1.0
4129      **/
4130     public function dscBeginPageSetup(){}
4131 
4132     /**
4133      * The dscBeginSetup purpose
4134      *
4135      * The method description goes here.
4136      *
4137      * @return void Description...
4138      * @since PECL cairo >= 0.1.0
4139      **/
4140     public function dscBeginSetup(){}
4141 
4142     /**
4143      * The dscComment purpose
4144      *
4145      * The method description goes here.
4146      *
4147      * @param string $comment Description...
4148      * @return void Description...
4149      * @since PECL cairo >= 0.1.0
4150      **/
4151     public function dscComment($comment){}
4152 
4153     /**
4154      * The getEps purpose
4155      *
4156      * The method description goes here.
4157      *
4158      * @return bool Description...
4159      * @since PECL cairo >= 0.1.0
4160      **/
4161     public function getEps(){}
4162 
4163     /**
4164      * The getLevels purpose
4165      *
4166      * The method description goes here.
4167      *
4168      * @return array Description...
4169      * @since PECL cairo >= 0.1.0
4170      **/
4171     public static function getLevels(){}
4172 
4173     /**
4174      * The levelToString purpose
4175      *
4176      * The method description goes here.
4177      *
4178      * @param int $level Description...
4179      * @return string Description...
4180      * @since PECL cairo >= 0.1.0
4181      **/
4182     public static function levelToString($level){}
4183 
4184     /**
4185      * The restrictToLevel purpose
4186      *
4187      * The method description goes here.
4188      *
4189      * @param int $level Description...
4190      * @return void Description...
4191      * @since PECL cairo >= 0.1.0
4192      **/
4193     public function restrictToLevel($level){}
4194 
4195     /**
4196      * The setEps purpose
4197      *
4198      * The method description goes here.
4199      *
4200      * @param bool $level Description...
4201      * @return void Description...
4202      * @since PECL cairo >= 0.1.0
4203      **/
4204     public function setEps($level){}
4205 
4206     /**
4207      * The setSize purpose
4208      *
4209      * The method description goes here.
4210      *
4211      * @param float $width Description...
4212      * @param float $height Description...
4213      * @return void Description...
4214      * @since PECL cairo >= 0.1.0
4215      **/
4216     public function setSize($width, $height){}
4217 
4218     /**
4219      * The __construct purpose
4220      *
4221      * The method description goes here.
4222      *
4223      * @param string $file Description...
4224      * @param float $width Description...
4225      * @param float $height Description...
4226      * @since PECL cairo >= 0.1.0
4227      **/
4228     public function __construct($file, $width, $height){}
4229 
4230 }
4231 class CairoRadialGradient extends CairoGradientPattern {
4232     /**
4233      * The getCircles purpose
4234      *
4235      * The method description goes here.
4236      *
4237      * @return array Description...
4238      * @since PECL cairo >= 0.1.0
4239      **/
4240     public function getCircles(){}
4241 
4242     /**
4243      * The __construct purpose
4244      *
4245      * Creates a new radial gradient CairoPattern between the two circles
4246      * defined by (x0, y0, r0) and (x1, y1, r1). Before using the gradient
4247      * pattern, a number of color stops should be defined using
4248      * CairoRadialGradient::addColorStopRgb or
4249      * CairoRadialGradient::addColorStopRgba.
4250      *
4251      * Note: The coordinates here are in pattern space. For a new pattern,
4252      * pattern space is identical to user space, but the relationship between
4253      * the spaces can be changed with CairoRadialGradient::setMatrix.
4254      *
4255      * @param float $x0 x coordinate for the center of the start circle.
4256      * @param float $y0 y coordinate for the center of the start circle.
4257      * @param float $r0 radius of the start circle.
4258      * @param float $x1 x coordinate for the center of the end circle.
4259      * @param float $y1 y coordinate for the center of the end circle.
4260      * @param float $r1 radius of the end circle.
4261      * @since PECL cairo >= 0.1.0
4262      **/
4263     public function __construct($x0, $y0, $r0, $x1, $y1, $r1){}
4264 
4265 }
4266 class CairoScaledFont {
4267     /**
4268      * The extents purpose
4269      *
4270      * The method description goes here.
4271      *
4272      * @return array Description...
4273      * @since PECL cairo >= 0.1.0
4274      **/
4275     public function extents(){}
4276 
4277     /**
4278      * The getCtm purpose
4279      *
4280      * The method description goes here.
4281      *
4282      * @return CairoMatrix Description...
4283      * @since PECL cairo >= 0.1.0
4284      **/
4285     public function getCtm(){}
4286 
4287     /**
4288      * The getFontFace purpose
4289      *
4290      * @return void Description...
4291      * @since PECL cairo >= 0.1.0
4292      **/
4293     public function getFontFace(){}
4294 
4295     /**
4296      * The getFontMatrix purpose
4297      *
4298      * @return void Description...
4299      * @since PECL cairo >= 0.1.0
4300      **/
4301     public function getFontMatrix(){}
4302 
4303     /**
4304      * The getFontOptions purpose
4305      *
4306      * @return void Description...
4307      * @since PECL cairo >= 0.1.0
4308      **/
4309     public function getFontOptions(){}
4310 
4311     /**
4312      * The getScaleMatrix purpose
4313      *
4314      * The method description goes here.
4315      *
4316      * @return void Description...
4317      * @since PECL cairo >= 0.1.0
4318      **/
4319     public function getScaleMatrix(){}
4320 
4321     /**
4322      * The getType purpose
4323      *
4324      * The method description goes here.
4325      *
4326      * @return int Description...
4327      * @since PECL cairo >= 0.1.0
4328      **/
4329     public function getType(){}
4330 
4331     /**
4332      * The glyphExtents purpose
4333      *
4334      * The method description goes here.
4335      *
4336      * @param array $glyphs Description...
4337      * @return array Description...
4338      * @since PECL cairo >= 0.1.0
4339      **/
4340     public function glyphExtents($glyphs){}
4341 
4342     /**
4343      * The status purpose
4344      *
4345      * @return int Description...
4346      * @since PECL cairo >= 0.1.0
4347      **/
4348     public function status(){}
4349 
4350     /**
4351      * The textExtents purpose
4352      *
4353      * @param string $text Description...
4354      * @return array Description...
4355      * @since PECL cairo >= 0.1.0
4356      **/
4357     public function textExtents($text){}
4358 
4359     /**
4360      * The __construct purpose
4361      *
4362      * The method description goes here.
4363      *
4364      * @param CairoFontFace $font_face Description...
4365      * @param CairoMatrix $matrix Description...
4366      * @param CairoMatrix $ctm Description...
4367      * @param CairoFontOptions $options Description...
4368      * @since PECL cairo >= 0.1.0
4369      **/
4370     public function __construct($font_face, $matrix, $ctm, $options){}
4371 
4372 }
4373 class CairoSolidPattern extends CairoPattern {
4374     /**
4375      * The getRgba purpose
4376      *
4377      * The method description goes here.
4378      *
4379      * @return array Description...
4380      * @since PECL cairo >= 0.1.0
4381      **/
4382     public function getRgba(){}
4383 
4384     /**
4385      * The __construct purpose
4386      *
4387      * The method description goes here.
4388      *
4389      * @param float $red Description...
4390      * @param float $green Description...
4391      * @param float $blue Description...
4392      * @param float $alpha Description...
4393      * @since PECL cairo >= 0.1.0
4394      **/
4395     public function __construct($red, $green, $blue, $alpha){}
4396 
4397 }
4398 /**
4399  * CairoStatus is used to indicate errors that can occur when using
4400  * Cairo. In some cases it is returned directly by functions. but when
4401  * using CairoContext, the last error, if any, is stored in the object
4402  * and can be retrieved with CairoContext::status or {@link
4403  * cairo_status}. New entries may be added in future versions. Use
4404  * Cairo::statusToString or {@link cairo_status_to_string} to get a
4405  * human-readable representation of an error message.
4406  **/
4407 class CairoStatus {
4408     /**
4409      * @var integer
4410      **/
4411     const CLIP_NOT_REPRESENTABLE = 0;
4412 
4413     /**
4414      * @var integer
4415      **/
4416     const FILE_NOT_FOUND = 0;
4417 
4418     /**
4419      * @var integer
4420      **/
4421     const INVALID_CONTENT = 0;
4422 
4423     /**
4424      * @var integer
4425      **/
4426     const INVALID_DASH = 0;
4427 
4428     /**
4429      * @var integer
4430      **/
4431     const INVALID_DSC_COMMENT = 0;
4432 
4433     /**
4434      * @var integer
4435      **/
4436     const INVALID_FORMAT = 0;
4437 
4438     /**
4439      * @var integer
4440      **/
4441     const INVALID_INDEX = 0;
4442 
4443     /**
4444      * @var integer
4445      **/
4446     const INVALID_MATRIX = 0;
4447 
4448     /**
4449      * @var integer
4450      **/
4451     const INVALID_PATH_DATA = 0;
4452 
4453     /**
4454      * @var integer
4455      **/
4456     const INVALID_POP_GROUP = 0;
4457 
4458     /**
4459      * @var integer
4460      **/
4461     const INVALID_RESTORE = 0;
4462 
4463     /**
4464      * @var integer
4465      **/
4466     const INVALID_STATUS = 0;
4467 
4468     /**
4469      * @var integer
4470      **/
4471     const INVALID_STRIDE = 0;
4472 
4473     /**
4474      * @var integer
4475      **/
4476     const INVALID_STRING = 0;
4477 
4478     /**
4479      * @var integer
4480      **/
4481     const INVALID_VISUAL = 0;
4482 
4483     /**
4484      * @var integer
4485      **/
4486     const NO_CURRENT_POINT = 0;
4487 
4488     /**
4489      * @var integer
4490      **/
4491     const NO_MEMORY = 0;
4492 
4493     /**
4494      * @var integer
4495      **/
4496     const NULL_POINTER = 0;
4497 
4498     /**
4499      * @var integer
4500      **/
4501     const PATTERN_TYPE_MISMATCH = 0;
4502 
4503     /**
4504      * @var integer
4505      **/
4506     const READ_ERROR = 0;
4507 
4508     /**
4509      * No error has occurred
4510      *
4511      * @var integer
4512      **/
4513     const SUCCESS = 0;
4514 
4515     /**
4516      * @var integer
4517      **/
4518     const SURFACE_FINISHED = 0;
4519 
4520     /**
4521      * @var integer
4522      **/
4523     const SURFACE_TYPE_MISMATCH = 0;
4524 
4525     /**
4526      * @var integer
4527      **/
4528     const TEMP_FILE_ERROR = 0;
4529 
4530     /**
4531      * @var integer
4532      **/
4533     const WRITE_ERROR = 0;
4534 
4535 }
4536 class CairoSubpixelOrder {
4537     /**
4538      * @var integer
4539      **/
4540     const ORDER_BGR = 0;
4541 
4542     /**
4543      * @var integer
4544      **/
4545     const ORDER_DEFAULT = 0;
4546 
4547     /**
4548      * @var integer
4549      **/
4550     const ORDER_RGB = 0;
4551 
4552     /**
4553      * @var integer
4554      **/
4555     const ORDER_VBGR = 0;
4556 
4557     /**
4558      * @var integer
4559      **/
4560     const ORDER_VRGB = 0;
4561 
4562 }
4563 /**
4564  * This is the base-class for all other Surface types. CairoSurface is
4565  * the abstract type representing all different drawing targets that
4566  * cairo can render to. The actual drawings are performed using a
4567  * CairoContext.
4568  **/
4569 class CairoSurface {
4570     /**
4571      * The copyPage purpose
4572      *
4573      * Emits the current page for backends that support multiple pages, but
4574      * doesn't clear it, so that the contents of the current page will be
4575      * retained for the next page. Use CairoSurface::showPage() if you want
4576      * to get an empty page after the emission.
4577      *
4578      * @return void Description...
4579      * @since PECL cairo >= 0.1.0
4580      **/
4581     public function copyPage(){}
4582 
4583     /**
4584      * The createSimilar purpose
4585      *
4586      * Create a new surface that is as compatible as possible with an
4587      * existing surface. For example the new surface will have the same
4588      * fallback resolution and font options as other. Generally, the new
4589      * surface will also use the same backend as other, unless that is not
4590      * possible for some reason. The type of the returned surface may be
4591      * examined with CairoSurface::getType(). Initially the surface contents
4592      * are all 0 (transparent if contents have transparency, black
4593      * otherwise.)
4594      *
4595      * @param CairoSurface $other An existing surface used to select the
4596      *   backend of the new surface
4597      * @param int $content The content for the new surface. See the
4598      *   CairoContent class for possible values.
4599      * @param string $width Width of the new surface, (in device-space
4600      *   units).
4601      * @param string $height Height of the new surface, (in device-space
4602      *   units).
4603      * @return void A new CairoSurface
4604      * @since PECL cairo >= 0.1.0
4605      **/
4606     public function createSimilar($other, $content, $width, $height){}
4607 
4608     /**
4609      * The finish purpose
4610      *
4611      * The method description goes here.
4612      *
4613      * @return void Description...
4614      * @since PECL cairo >= 0.1.0
4615      **/
4616     public function finish(){}
4617 
4618     /**
4619      * The flush purpose
4620      *
4621      * The method description goes here.
4622      *
4623      * @return void Description...
4624      * @since PECL cairo >= 0.1.0
4625      **/
4626     public function flush(){}
4627 
4628     /**
4629      * The getContent purpose
4630      *
4631      * The method description goes here.
4632      *
4633      * @return int Description...
4634      * @since PECL cairo >= 0.1.0
4635      **/
4636     public function getContent(){}
4637 
4638     /**
4639      * The getDeviceOffset purpose
4640      *
4641      * The method description goes here.
4642      *
4643      * @return array Description...
4644      * @since PECL cairo >= 0.1.0
4645      **/
4646     public function getDeviceOffset(){}
4647 
4648     /**
4649      * The getFontOptions purpose
4650      *
4651      * @return void Description...
4652      * @since PECL cairo >= 0.1.0
4653      **/
4654     public function getFontOptions(){}
4655 
4656     /**
4657      * The getType purpose
4658      *
4659      * The method description goes here.
4660      *
4661      * @return int Description...
4662      * @since PECL cairo >= 0.1.0
4663      **/
4664     public function getType(){}
4665 
4666     /**
4667      * The markDirty purpose
4668      *
4669      * The method description goes here.
4670      *
4671      * @return void Description...
4672      * @since PECL cairo >= 0.1.0
4673      **/
4674     public function markDirty(){}
4675 
4676     /**
4677      * The markDirtyRectangle purpose
4678      *
4679      * The method description goes here.
4680      *
4681      * @param float $x Description...
4682      * @param float $y Description...
4683      * @param float $width Description...
4684      * @param float $height Description...
4685      * @return void Description...
4686      * @since PECL cairo >= 0.1.0
4687      **/
4688     public function markDirtyRectangle($x, $y, $width, $height){}
4689 
4690     /**
4691      * The setDeviceOffset purpose
4692      *
4693      * The method description goes here.
4694      *
4695      * @param float $x Description...
4696      * @param float $y Description...
4697      * @return void Description...
4698      * @since PECL cairo >= 0.1.0
4699      **/
4700     public function setDeviceOffset($x, $y){}
4701 
4702     /**
4703      * The setFallbackResolution purpose
4704      *
4705      * The method description goes here.
4706      *
4707      * @param float $x Description...
4708      * @param float $y Description...
4709      * @return void Description...
4710      * @since PECL cairo >= 0.1.0
4711      **/
4712     public function setFallbackResolution($x, $y){}
4713 
4714     /**
4715      * The showPage purpose
4716      *
4717      * @return void Description...
4718      * @since PECL cairo >= 0.1.0
4719      **/
4720     public function showPage(){}
4721 
4722     /**
4723      * The status purpose
4724      *
4725      * @return int Description...
4726      * @since PECL cairo >= 0.1.0
4727      **/
4728     public function status(){}
4729 
4730     /**
4731      * The writeToPng purpose
4732      *
4733      * The method description goes here.
4734      *
4735      * @param string $file Description...
4736      * @return void Description...
4737      * @since PECL cairo >= 0.1.0
4738      **/
4739     public function writeToPng($file){}
4740 
4741     /**
4742      * The __construct purpose
4743      *
4744      * CairoSurface is an abstract type and, as such, should not be
4745      * instantiated in your PHP scripts.
4746      *
4747      * @since PECL cairo >= 0.1.0
4748      **/
4749     public function __construct(){}
4750 
4751 }
4752 class CairoSurfacePattern extends CairoPattern {
4753     /**
4754      * The getExtend purpose
4755      *
4756      * The method description goes here.
4757      *
4758      * @return int Description...
4759      * @since PECL cairo >= 0.1.0
4760      **/
4761     public function getExtend(){}
4762 
4763     /**
4764      * The getFilter purpose
4765      *
4766      * The method description goes here.
4767      *
4768      * @return int Description...
4769      * @since PECL cairo >= 0.1.0
4770      **/
4771     public function getFilter(){}
4772 
4773     /**
4774      * The getSurface purpose
4775      *
4776      * The method description goes here.
4777      *
4778      * @return void Description...
4779      * @since PECL cairo >= 0.1.0
4780      **/
4781     public function getSurface(){}
4782 
4783     /**
4784      * The setExtend purpose
4785      *
4786      * The method description goes here.
4787      *
4788      * @param int $extend Description...
4789      * @return void Description...
4790      * @since PECL cairo >= 0.1.0
4791      **/
4792     public function setExtend($extend){}
4793 
4794     /**
4795      * The setFilter purpose
4796      *
4797      * The method description goes here.
4798      *
4799      * @param int $filter Description...
4800      * @return void Description...
4801      * @since PECL cairo >= 0.1.0
4802      **/
4803     public function setFilter($filter){}
4804 
4805     /**
4806      * The __construct purpose
4807      *
4808      * The method description goes here.
4809      *
4810      * @param CairoSurface $surface Description...
4811      * @since PECL cairo >= 0.1.0
4812      **/
4813     public function __construct($surface){}
4814 
4815 }
4816 class CairoSurfaceType {
4817     /**
4818      * @var integer
4819      **/
4820     const BEOS = 0;
4821 
4822     /**
4823      * @var integer
4824      **/
4825     const DIRECTFB = 0;
4826 
4827     /**
4828      * @var integer
4829      **/
4830     const GLITZ = 0;
4831 
4832     /**
4833      * @var integer
4834      **/
4835     const IMAGE = 0;
4836 
4837     /**
4838      * @var integer
4839      **/
4840     const OS2 = 0;
4841 
4842     /**
4843      * @var integer
4844      **/
4845     const PDF = 0;
4846 
4847     /**
4848      * @var integer
4849      **/
4850     const PS = 0;
4851 
4852     /**
4853      * @var integer
4854      **/
4855     const QUARTZ = 0;
4856 
4857     /**
4858      * @var integer
4859      **/
4860     const QUARTZ_IMAGE = 0;
4861 
4862     /**
4863      * @var integer
4864      **/
4865     const SVG = 0;
4866 
4867     /**
4868      * @var integer
4869      **/
4870     const WIN32 = 0;
4871 
4872     /**
4873      * @var integer
4874      **/
4875     const WIN32_PRINTING = 0;
4876 
4877     /**
4878      * @var integer
4879      **/
4880     const XCB = 0;
4881 
4882     /**
4883      * @var integer
4884      **/
4885     const XLIB = 0;
4886 
4887 }
4888 /**
4889  * Svg specific surface class, uses the SVG (standard vector graphics)
4890  * surface backend.
4891  **/
4892 class CairoSvgSurface extends CairoSurface {
4893     /**
4894      * Used to retrieve a list of supported SVG versions
4895      *
4896      * Returns a numerically indexed array of currently available
4897      * CairoSvgVersion constants. In order to retrieve the string values for
4898      * each item, use CairoSvgSurface::versionToString.
4899      *
4900      * @return array Returns a numerically indexed array of integer values.
4901      * @since PECL cairo >= 0.1.0
4902      **/
4903     public static function getVersions(){}
4904 
4905     /**
4906      * The restrictToVersion purpose
4907      *
4908      * The method description goes here.
4909      *
4910      * @param int $version Description...
4911      * @return void Description...
4912      * @since PECL cairo >= 0.1.0
4913      **/
4914     public function restrictToVersion($version){}
4915 
4916     /**
4917      * The versionToString purpose
4918      *
4919      * The method description goes here.
4920      *
4921      * @param int $version Description...
4922      * @return string Description...
4923      * @since PECL cairo >= 0.1.0
4924      **/
4925     public static function versionToString($version){}
4926 
4927     /**
4928      * The __construct purpose
4929      *
4930      * The method description goes here.
4931      *
4932      * @param string $file Description...
4933      * @param float $width Description...
4934      * @param float $height Description...
4935      * @since PECL cairo >= 0.1.0
4936      **/
4937     public function __construct($file, $width, $height){}
4938 
4939 }
4940 class CairoSvgVersion {
4941     /**
4942      * @var integer
4943      **/
4944     const VERSION_1_1 = 0;
4945 
4946     /**
4947      * @var integer
4948      **/
4949     const VERSION_1_2 = 0;
4950 
4951 }
4952 /**
4953  * The CairoToyFontFace class can be used instead of
4954  * CairoContext::selectFontFace to create a toy font independently of a
4955  * context.
4956  **/
4957 class CairoToyFontFace extends CairoFontFace {
4958 }
4959 /**
4960  * The callback should accept up to three arguments: the current item,
4961  * the current key and the iterator, respectively. Any callable may be
4962  * used; such as a string containing a function name, an array for a
4963  * method, or an anonymous function.
4964  **/
4965 class CallbackFilterIterator extends FilterIterator implements OuterIterator {
4966     /**
4967      * Calls the callback with the current value, the current key and the
4968      * inner iterator as arguments
4969      *
4970      * This method calls the callback with the current value, current key and
4971      * the inner iterator.
4972      *
4973      * The callback is expected to return TRUE if the current item is to be
4974      * accepted, or FALSE otherwise.
4975      *
4976      * @return bool Returns TRUE to accept the current item, or FALSE
4977      *   otherwise.
4978      * @since PHP 5 >= 5.4.0, PHP 7
4979      **/
4980     public function accept(){}
4981 
4982 }
4983 /**
4984  * Represents a loaded chdb file.
4985  **/
4986 class chdb {
4987     /**
4988      * Gets the value associated with a key
4989      *
4990      * Gets the value associated with a key from a chdb database.
4991      *
4992      * @param string $key The key for which to get the value.
4993      * @return string Returns a string containing the value associated with
4994      *   the given {@link key}, or NULL if not found.
4995      * @since PECL chdb >= 0.1.0
4996      **/
4997     public function get($key){}
4998 
4999     /**
5000      * Creates a instance
5001      *
5002      * Loads a chdb file, by mapping it into memory. While some validity
5003      * checks are performed on the specified file, they are mostly there to
5004      * avoid the possibility of common mistakes (for example, loading a file
5005      * which is not a chdb database, or that is somehow incompatible with the
5006      * current system). A maliciously crafted chdb file can thus be dangerous
5007      * if loaded, so chdb files should be trusted and treated with the same
5008      * security protections used for PHP shared libraries.
5009      *
5010      * @param string $pathname The name of the file to load.
5011      * @since PECL chdb >= 0.1.0
5012      **/
5013     public function __construct($pathname){}
5014 
5015 }
5016 /**
5017  * Class used to represent anonymous functions. Anonymous functions,
5018  * implemented in PHP 5.3, yield objects of this type. This fact used to
5019  * be considered an implementation detail, but it can now be relied upon.
5020  * Starting with PHP 5.4, this class has methods that allow further
5021  * control of the anonymous function after it has been created. Besides
5022  * the methods listed here, this class also has an __invoke method. This
5023  * is for consistency with other classes that implement calling magic, as
5024  * this method is not used for calling the function.
5025  **/
5026 class Closure {
5027     /**
5028      * Duplicates a closure with a specific bound object and class scope
5029      *
5030      * This method is a static version of Closure::bindTo. See the
5031      * documentation of that method for more information.
5032      *
5033      * @param Closure $closure The anonymous functions to bind.
5034      * @param object $newthis The object to which the given anonymous
5035      *   function should be bound, or NULL for the closure to be unbound.
5036      * @param mixed $newscope The class scope to which associate the
5037      *   closure is to be associated, or 'static' to keep the current one. If
5038      *   an object is given, the type of the object will be used instead.
5039      *   This determines the visibility of protected and private methods of
5040      *   the bound object. It is not allowed to pass (an object of) an
5041      *   internal class as this parameter.
5042      * @return Closure Returns a new Closure object
5043      * @since PHP 5 >= 5.4.0, PHP 7
5044      **/
5045     public static function bind($closure, $newthis, $newscope){}
5046 
5047     /**
5048      * Duplicates the closure with a new bound object and class scope
5049      *
5050      * Create and return a new anonymous function with the same body and
5051      * bound variables as this one, but possibly with a different bound
5052      * object and a new class scope.
5053      *
5054      * The “bound object” determines the value $this will have in the
5055      * function body and the “class scope” represents a class which
5056      * determines which private and protected members the anonymous function
5057      * will be able to access. Namely, the members that will be visible are
5058      * the same as if the anonymous function were a method of the class given
5059      * as value of the {@link newscope} parameter.
5060      *
5061      * Static closures cannot have any bound object (the value of the
5062      * parameter {@link newthis} should be NULL), but this function can
5063      * nevertheless be used to change their class scope.
5064      *
5065      * This function will ensure that for a non-static closure, having a
5066      * bound instance will imply being scoped and vice-versa. To this end,
5067      * non-static closures that are given a scope but a NULL instance are
5068      * made static and non-static non-scoped closures that are given a
5069      * non-null instance are scoped to an unspecified class.
5070      *
5071      * @param object $newthis The object to which the given anonymous
5072      *   function should be bound, or NULL for the closure to be unbound.
5073      * @param mixed $newscope The class scope to which the closure is to be
5074      *   associated, or 'static' to keep the current one. If an object is
5075      *   given, the type of the object will be used instead. This determines
5076      *   the visibility of protected and private methods of the bound object.
5077      *   It is not allowed to pass (an object of) an internal class as this
5078      *   parameter.
5079      * @return Closure Returns the newly created Closure object
5080      * @since PHP 5 >= 5.4.0, PHP 7
5081      **/
5082     public function bindTo($newthis, $newscope){}
5083 
5084     /**
5085      * Binds and calls the closure
5086      *
5087      * Temporarily binds the closure to {@link newthis}, and calls it with
5088      * any given parameters.
5089      *
5090      * @param object $newthis The object to bind the closure to for the
5091      *   duration of the call.
5092      * @param mixed ...$vararg Zero or more parameters, which will be given
5093      *   as parameters to the closure.
5094      * @return mixed Returns the return value of the closure.
5095      * @since PHP 7
5096      **/
5097     public function call($newthis, ...$vararg){}
5098 
5099     /**
5100      * Converts a callable into a closure
5101      *
5102      * Create and return a new anonymous function from given {@link callable}
5103      * using the current scope. This method checks if the {@link callable} is
5104      * callable in the current scope and throws a TypeError if it is not.
5105      *
5106      * @param callable $callable The callable to convert.
5107      * @return Closure Returns the newly created Closure or throws a
5108      *   TypeError if the {@link callable} is not callable in the current
5109      *   scope.
5110      * @since PHP 7 >= 7.1.0
5111      **/
5112     public static function fromCallable($callable){}
5113 
5114     /**
5115      * Constructor that disallows instantiation
5116      *
5117      * This method exists only to disallow instantiation of the Closure
5118      * class. Objects of this class are created in the fashion described on
5119      * the anonymous functions page.
5120      *
5121      * @since PHP 5 >= 5.3.0, PHP 7
5122      **/
5123     private function __construct(){}
5124 
5125 }
5126 /**
5127  * Provides string comparison capability with support for appropriate
5128  * locale-sensitive sort orderings.
5129  **/
5130 class Collator {
5131     /**
5132      * Sort array maintaining index association
5133      *
5134      * This function sorts an array such that array indices maintain their
5135      * correlation with the array elements they are associated with. This is
5136      * used mainly when sorting associative arrays where the actual element
5137      * order is significant. Array elements will have sort order according to
5138      * current locale rules.
5139      *
5140      * Equivalent to standard PHP {@link asort}.
5141      *
5142      * @param array $arr Collator object.
5143      * @param int $sort_flag Array of strings to sort.
5144      * @return bool
5145      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5146      **/
5147     public function asort(&$arr, $sort_flag){}
5148 
5149     /**
5150      * Compare two Unicode strings
5151      *
5152      * Compare two Unicode strings according to collation rules.
5153      *
5154      * @param string $str1 Collator object.
5155      * @param string $str2 The first string to compare.
5156      * @return int Return comparison result:
5157      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5158      **/
5159     public function compare($str1, $str2){}
5160 
5161     /**
5162      * Create a collator
5163      *
5164      * The strings will be compared using the options already specified.
5165      *
5166      * @param string $locale The locale containing the required collation
5167      *   rules. Special values for locales can be passed in - if null is
5168      *   passed for the locale, the default locale collation rules will be
5169      *   used. If empty string ("") or "root" are passed, UCA rules will be
5170      *   used.
5171      * @return Collator Return new instance of Collator object, or NULL on
5172      *   error.
5173      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5174      **/
5175     public static function create($locale){}
5176 
5177     /**
5178      * Get collation attribute value
5179      *
5180      * Get a value of an integer collator attribute.
5181      *
5182      * @param int $attr Collator object.
5183      * @return int Attribute value, or boolean FALSE on error.
5184      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5185      **/
5186     public function getAttribute($attr){}
5187 
5188     /**
5189      * Get collator's last error code
5190      *
5191      * @return int Error code returned by the last Collator API function
5192      *   call.
5193      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5194      **/
5195     public function getErrorCode(){}
5196 
5197     /**
5198      * Get text for collator's last error code
5199      *
5200      * Retrieves the message for the last error.
5201      *
5202      * @return string Description of an error occurred in the last Collator
5203      *   API function call.
5204      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5205      **/
5206     public function getErrorMessage(){}
5207 
5208     /**
5209      * Get the locale name of the collator
5210      *
5211      * Get collector locale name.
5212      *
5213      * @param int $type Collator object.
5214      * @return string Real locale name from which the collation data comes.
5215      *   If the collator was instantiated from rules or an error occurred,
5216      *   returns boolean FALSE.
5217      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5218      **/
5219     public function getLocale($type){}
5220 
5221     /**
5222      * Get sorting key for a string
5223      *
5224      * Return collation key for a string. Collation keys can be compared
5225      * directly instead of strings, though are implementation specific and
5226      * may change between ICU library versions. Sort keys are generally only
5227      * useful in databases or other circumstances where function calls are
5228      * extremely expensive.
5229      *
5230      * @param string $str Collator object.
5231      * @return string Returns the collation key for the string, .
5232      * @since PHP 5 >= 5.3.2, PHP 7, PECL intl >= 1.0.3
5233      **/
5234     public function getSortKey($str){}
5235 
5236     /**
5237      * Get current collation strength
5238      *
5239      * @return int Returns current collation strength, or boolean FALSE on
5240      *   error.
5241      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5242      **/
5243     public function getStrength(){}
5244 
5245     /**
5246      * Set collation attribute
5247      *
5248      * @param int $attr Collator object.
5249      * @param int $val Attribute.
5250      * @return bool
5251      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5252      **/
5253     public function setAttribute($attr, $val){}
5254 
5255     /**
5256      * Set collation strength
5257      *
5258      * The ICU Collation Service supports many levels of comparison (named
5259      * "Levels", but also known as "Strengths"). Having these categories
5260      * enables ICU to sort strings precisely according to local conventions.
5261      * However, by allowing the levels to be selectively employed, searching
5262      * for a string in text can be performed with various matching
5263      * conditions.
5264      *
5265      * Primary Level: Typically, this is used to denote differences between
5266      * base characters (for example, "a" < "b"). It is the strongest
5267      * difference. For example, dictionaries are divided into different
5268      * sections by base character. This is also called the level1 strength.
5269      * Secondary Level: Accents in the characters are considered secondary
5270      * differences (for example, "as" < "às" < "at"). Other differences
5271      * between letters can also be considered secondary differences,
5272      * depending on the language. A secondary difference is ignored when
5273      * there is a primary difference anywhere in the strings. This is also
5274      * called the level2 strength. Note: In some languages (such as Danish),
5275      * certain accented letters are considered to be separate base
5276      * characters. In most languages, however, an accented letter only has a
5277      * secondary difference from the unaccented version of that letter.
5278      * Tertiary Level: Upper and lower case differences in characters are
5279      * distinguished at the tertiary level (for example, "ao" < "Ao" <
5280      * "aò"). In addition, a variant of a letter differs from the base form
5281      * on the tertiary level (such as "A" and " "). Another example is the
5282      * difference between large and small Kana. A tertiary difference is
5283      * ignored when there is a primary or secondary difference anywhere in
5284      * the strings. This is also called the level3 strength. Quaternary
5285      * Level: When punctuation is ignored (see Ignoring Punctuations ) at
5286      * level 13, an additional level can be used to distinguish words with
5287      * and without punctuation (for example, "ab" < "a-b" < "aB"). This
5288      * difference is ignored when there is a primary, secondary or tertiary
5289      * difference. This is also known as the level4 strength. The quaternary
5290      * level should only be used if ignoring punctuation is required or when
5291      * processing Japanese text (see Hiragana processing). Identical Level:
5292      * When all other levels are equal, the identical level is used as a
5293      * tiebreaker. The Unicode code point values of the NFD form of each
5294      * string are compared at this level, just in case there is no difference
5295      * at levels 14. For example, Hebrew cantillation marks are only
5296      * distinguished at this level. This level should be used sparingly, as
5297      * only code point values differences between two strings is an extremely
5298      * rare occurrence. Using this level substantially decreases the
5299      * performance for both incremental comparison and sort key generation
5300      * (as well as increasing the sort key length). It is also known as level
5301      * 5 strength.
5302      *
5303      * For example, people may choose to ignore accents or ignore accents and
5304      * case when searching for text. Almost all characters are distinguished
5305      * by the first three levels, and in most locales the default value is
5306      * thus Tertiary. However, if Alternate is set to be Shifted, then the
5307      * Quaternary strength can be used to break ties among whitespace,
5308      * punctuation, and symbols that would otherwise be ignored. If very fine
5309      * distinctions among characters are required, then the Identical
5310      * strength can be used (for example, Identical Strength distinguishes
5311      * between the Mathematical Bold Small A and the Mathematical Italic
5312      * Small A.). However, using levels higher than Tertiary the Identical
5313      * strength result in significantly longer sort keys, and slower string
5314      * comparison performance for equal strings.
5315      *
5316      * @param int $strength Collator object.
5317      * @return bool
5318      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5319      **/
5320     public function setStrength($strength){}
5321 
5322     /**
5323      * Sort array using specified collator
5324      *
5325      * This function sorts an array according to current locale rules.
5326      *
5327      * Equivalent to standard PHP {@link sort} .
5328      *
5329      * @param array $arr Collator object.
5330      * @param int $sort_flag Array of strings to sort.
5331      * @return bool
5332      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5333      **/
5334     public function sort(&$arr, $sort_flag){}
5335 
5336     /**
5337      * Sort array using specified collator and sort keys
5338      *
5339      * Similar to {@link collator_sort} but uses ICU sorting keys produced by
5340      * ucol_getSortKey() to gain more speed on large arrays.
5341      *
5342      * @param array $arr Collator object.
5343      * @return bool
5344      * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
5345      **/
5346     public function sortWithSortKeys(&$arr){}
5347 
5348 }
5349 /**
5350  * Represents a garbage-collectable object.
5351  **/
5352 interface Collectable {
5353     /**
5354      * Determine whether an object has been marked as garbage
5355      *
5356      * Can be called in Pool::collect to determine if this object is garbage.
5357      *
5358      * @return bool
5359      * @since PECL pthreads >= 2.0.8
5360      **/
5361     public function isGarbage();
5362 
5363     /**
5364      * Mark an object as garbage
5365      *
5366      * Should be called once per object when the object is finished being
5367      * executed or referenced.
5368      *
5369      * @return void
5370      * @since PECL pthreads < 3.0.0
5371      **/
5372     public function setGarbage();
5373 
5374 }
5375 /**
5376  * The com class allows you to instantiate an OLE compatible COM object
5377  * and call its methods and access its properties.
5378  **/
5379 class com extends variant {
5380 }
5381 namespace CommonMark {
5382 class CQL {
5383     /**
5384      * CQL Execution
5385      *
5386      * Shall invoke the current CQL function on the given {@link root},
5387      * executing the given {@link handler} on entry to a \CommonMark\Node
5388      *
5389      * @param \CommonMark\Node $root the root node of a tree
5390      * @param callable $handler should have the prototype: ?boolhandler
5391      *   \CommonMark\Node{@link root} \CommonMark\Node{@link entering} Should
5392      *   {@link handler} fail to return (void), or return null, CQL will
5393      *   continue executing Should the handler return a truthy value, CQL
5394      *   will continue executing. Should the handler return a falsy value,
5395      *   CQL will stop executing
5396      **/
5397     public function __invoke($root, $handler){}
5398 
5399 }
5400 }
5401 namespace CommonMark\Interfaces {
5402 interface IVisitable {
5403     /**
5404      * Visitation
5405      *
5406      * @param CommonMark\Interfaces\IVisitor $visitor An object
5407      *   implementing CommonMark\Interfaces\IVisitor
5408      * @return void
5409      **/
5410     public function accept($visitor);
5411 
5412 }
5413 }
5414 namespace CommonMark\Interfaces {
5415 interface IVisitor {
5416     /**
5417      * Visitation
5418      *
5419      * @param IVisitable $visitable The current
5420      *   CommonMark\Interfaces\IVisitable being entered
5421      * @return ?int|IVisitable Returning
5422      *   CommonMark\Interfaces\IVisitor::Done will cause the backing iterator
5423      *   to exit.
5424      **/
5425     public function enter($visitable);
5426 
5427     /**
5428      * Visitation
5429      *
5430      * @param IVisitable $visitable The current
5431      *   CommonMark\Interfaces\IVisitable being exited
5432      * @return ?int|IVisitable Returning
5433      *   CommonMark\Interfaces\IVisitor::Done will cause the backing iterator
5434      *   to exit.
5435      **/
5436     public function leave($visitable);
5437 
5438 }
5439 }
5440 namespace CommonMark {
5441 final class Node implements CommonMark\Interfaces\IVisitable, Traversable {
5442     /**
5443      * @var int
5444      **/
5445     public $endColumn;
5446 
5447     /**
5448      * @var int
5449      **/
5450     public $endLine;
5451 
5452     /**
5453      * @var ?Node
5454      **/
5455     public $firstChild;
5456 
5457     /**
5458      * @var ?Node
5459      **/
5460     public $lastChild;
5461 
5462     /**
5463      * @var ?Node
5464      **/
5465     public $next;
5466 
5467     /**
5468      * @var ?Node
5469      **/
5470     public $parent;
5471 
5472     /**
5473      * @var ?Node
5474      **/
5475     public $previous;
5476 
5477     /**
5478      * @var int
5479      **/
5480     public $startColumn;
5481 
5482     /**
5483      * @var int
5484      **/
5485     public $startLine;
5486 
5487     /**
5488      * Visitation
5489      *
5490      * @param CommonMark\Interfaces\IVisitor $visitor An object
5491      *   implementing CommonMark\Interfaces\IVisitor
5492      * @return void
5493      **/
5494     public function accept($visitor){}
5495 
5496     /**
5497      * AST Manipulation
5498      *
5499      * @param CommonMark\Node $child
5500      * @return CommonMark\Node
5501      **/
5502     public function appendChild($child){}
5503 
5504     /**
5505      * AST Manipulation
5506      *
5507      * @param CommonMark\Node $sibling
5508      * @return CommonMark\Node
5509      **/
5510     public function insertAfter($sibling){}
5511 
5512     /**
5513      * AST Manipulation
5514      *
5515      * @param CommonMark\Node $sibling
5516      * @return CommonMark\Node
5517      **/
5518     public function insertBefore($sibling){}
5519 
5520     /**
5521      * AST Manipulation
5522      *
5523      * @param CommonMark\Node $child
5524      * @return CommonMark\Node
5525      **/
5526     public function prependChild($child){}
5527 
5528     /**
5529      * AST Manipulation
5530      *
5531      * @param CommonMark\Node $target
5532      * @return CommonMark\Node
5533      **/
5534     public function replace($target){}
5535 
5536     /**
5537      * AST Manipulation
5538      *
5539      * @return void
5540      **/
5541     public function unlink(){}
5542 
5543 }
5544 }
5545 namespace CommonMark\Node {
5546 final class BlockQuote extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5547 }
5548 }
5549 namespace CommonMark\Node {
5550 final class BulletList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5551 }
5552 }
5553 namespace CommonMark\Node {
5554 final class Code extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
5555 }
5556 }
5557 namespace CommonMark\Node {
5558 final class CodeBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
5559 }
5560 }
5561 namespace CommonMark\Node {
5562 final class CustomBlock extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5563 }
5564 }
5565 namespace CommonMark\Node {
5566 final class CustomInline extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5567 }
5568 }
5569 namespace CommonMark\Node {
5570 final class Document extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5571 }
5572 }
5573 namespace CommonMark\Node {
5574 final class Heading extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5575 }
5576 }
5577 namespace CommonMark\Node {
5578 final class HTMLBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
5579 }
5580 }
5581 namespace CommonMark\Node {
5582 final class HTMLInline extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
5583 }
5584 }
5585 namespace CommonMark\Node {
5586 final class Image extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5587 }
5588 }
5589 namespace CommonMark\Node {
5590 final class Item extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5591 }
5592 }
5593 namespace CommonMark\Node {
5594 final class LineBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5595 }
5596 }
5597 namespace CommonMark\Node {
5598 final class Link extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5599 }
5600 }
5601 namespace CommonMark\Node {
5602 final class OrderedList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5603 }
5604 }
5605 namespace CommonMark\Node {
5606 final class Paragraph extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5607 }
5608 }
5609 namespace CommonMark\Node {
5610 final class SoftBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5611 }
5612 }
5613 namespace CommonMark\Node {
5614 final class Text extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5615 }
5616 }
5617 namespace CommonMark\Node\Text {
5618 final class Emphasis extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5619 }
5620 }
5621 namespace CommonMark\Node\Text {
5622 final class Strong extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5623 }
5624 }
5625 namespace CommonMark\Node {
5626 final class ThematicBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
5627 }
5628 }
5629 namespace CommonMark {
5630 final class Parser {
5631     /**
5632      * Parsing
5633      *
5634      * @return CommonMark\Node
5635      **/
5636     public function finish(){}
5637 
5638     /**
5639      * Parsing
5640      *
5641      * @param string $buffer
5642      * @return void
5643      **/
5644     public function parse($buffer){}
5645 
5646 }
5647 }
5648 /**
5649  * COMPersistHelper improves the interoperability of COM and PHP with
5650  * regard to the directive open_basedir, and stream s.
5651  **/
5652 final class COMPersistHelper {
5653     /**
5654      * Get current filename
5655      *
5656      * Retrieves the current name of the file associated with the object.
5657      *
5658      * @return string Returns the current name of the file associated with
5659      *   the object.
5660      * @since PHP 5, PHP 7
5661      **/
5662     public function GetCurFileName(){}
5663 
5664     /**
5665      * Get maximum stream size
5666      *
5667      * Retrieves the size of the stream (in bytes) needed to save the object.
5668      *
5669      * @return int Returns the size of the stream (in bytes) needed to save
5670      *   the object.
5671      * @since PHP 5, PHP 7
5672      **/
5673     public function GetMaxStreamSize(){}
5674 
5675     /**
5676      * Initialize object to default state
5677      *
5678      * Initializes an object to a default state.
5679      *
5680      * @return bool
5681      * @since PHP 5, PHP 7
5682      **/
5683     public function InitNew(){}
5684 
5685     /**
5686      * Load object from file
5687      *
5688      * Opens the specified file and initializes an object from the file
5689      * contents.
5690      *
5691      * @param string $path
5692      * @param int $flags
5693      * @return bool
5694      * @since PHP 5, PHP 7
5695      **/
5696     public function LoadFromFile($path, $flags){}
5697 
5698     /**
5699      * Load object from stream
5700      *
5701      * Initializes an object from the stream where it was saved previously.
5702      *
5703      * @param resource $stream
5704      * @return bool
5705      * @since PHP 5, PHP 7
5706      **/
5707     public function LoadFromStream($stream){}
5708 
5709     /**
5710      * Save object to file
5711      *
5712      * Saves a copy of the object to the specified file.
5713      *
5714      * @param string $filename
5715      * @param bool $remember
5716      * @return bool
5717      * @since PHP 5, PHP 7
5718      **/
5719     public function SaveToFile($filename, $remember){}
5720 
5721     /**
5722      * Save object to stream
5723      *
5724      * Saves an object to the specified stream.
5725      *
5726      * @param resource $stream
5727      * @return bool
5728      * @since PHP 5, PHP 7
5729      **/
5730     public function SaveToStream($stream){}
5731 
5732 }
5733 /**
5734  * CompileError is thrown for some compilation errors, which formerly
5735  * issued a fatal error.
5736  **/
5737 class CompileError extends Error {
5738 }
5739 namespace Componere {
5740 final class Definition {
5741     /**
5742      * Add Constant
5743      *
5744      * Shall declare a class constant on the current Definition
5745      *
5746      * @param string $name The case sensitive name for the constant
5747      * @param \Componere\Value $value The Value for the constant, must not
5748      *   be undefined or static
5749      * @return Definition The current Definition
5750      **/
5751     public function addConstant($name, $value){}
5752 
5753     /**
5754      * Add Interface
5755      *
5756      * Shall implement the given interface on the current definition
5757      *
5758      * @param string $interface The case insensitive name of an interface
5759      * @return Definition The current Definition
5760      **/
5761     public function addInterface($interface){}
5762 
5763     /**
5764      * Add Method
5765      *
5766      * Shall create or override a method on the current definition.
5767      *
5768      * @param string $name The case insensitive name for method
5769      * @param \Componere\Method $method \Componere\Method not previously
5770      *   added to another Definition
5771      * @return Definition The current Definition
5772      **/
5773     public function addMethod($name, $method){}
5774 
5775     /**
5776      * Add Property
5777      *
5778      * Shall declare a class property on the current Definition
5779      *
5780      * @param string $name The case sensitive name for the property
5781      * @param \Componere\Value $value The default Value for the property
5782      * @return Definition The current Definition
5783      **/
5784     public function addProperty($name, $value){}
5785 
5786     /**
5787      * Add Trait
5788      *
5789      * Shall use the given trait for the current definition
5790      *
5791      * @param string $trait The case insensitive name of a trait
5792      * @return Definition The current Definition
5793      **/
5794     public function addTrait($trait){}
5795 
5796     /**
5797      * Get Closure
5798      *
5799      * Shall return a Closure for the method specified by name
5800      *
5801      * @param string $name The case insensitive name of the method
5802      * @return \Closure A Closure bound to the correct scope
5803      **/
5804     public function getClosure($name){}
5805 
5806     /**
5807      * Get Closures
5808      *
5809      * Shall return an array of Closures
5810      *
5811      * @return array Shall return all methods as an array of Closure
5812      *   objects bound to the correct scope
5813      **/
5814     public function getClosures(){}
5815 
5816     /**
5817      * Reflection
5818      *
5819      * Shall create or return a ReflectionClass
5820      *
5821      * @return \ReflectionClass A ReflectionClass for the current
5822      *   definition (cached)
5823      **/
5824     public function getReflector(){}
5825 
5826     /**
5827      * State Detection
5828      *
5829      * Shall detect the registration state of this Definition
5830      *
5831      * @return bool Shall return true if this Definition is registered
5832      **/
5833     public function isRegistered(){}
5834 
5835     /**
5836      * Registration
5837      *
5838      * Shall register the current Definition
5839      *
5840      * @return void
5841      **/
5842     public function register(){}
5843 
5844 }
5845 }
5846 namespace Componere {
5847 final class Method {
5848     /**
5849      * Reflection
5850      *
5851      * Shall create or return a ReflectionMethod
5852      *
5853      * @return \ReflectionMethod A ReflectionMethod for the current method
5854      *   (cached)
5855      **/
5856     public function getReflector(){}
5857 
5858     /**
5859      * Accessibility Modification
5860      *
5861      * @return Method The current Method
5862      **/
5863     public function setPrivate(){}
5864 
5865     /**
5866      * Accessibility Modification
5867      *
5868      * @return Method The current Method
5869      **/
5870     public function setProtected(){}
5871 
5872     /**
5873      * Accessibility Modification
5874      *
5875      * @return Method The current Method
5876      **/
5877     public function setStatic(){}
5878 
5879 }
5880 }
5881 namespace Componere {
5882 final class Patch {
5883     /**
5884      * Add Interface
5885      *
5886      * Shall implement the given interface on the current definition
5887      *
5888      * @param string $interface The case insensitive name of an interface
5889      * @return Definition The current Definition
5890      **/
5891     public function addInterface($interface){}
5892 
5893     /**
5894      * Add Method
5895      *
5896      * Shall create or override a method on the current definition.
5897      *
5898      * @param string $name The case insensitive name for method
5899      * @param \Componere\Method $method \Componere\Method not previously
5900      *   added to another Definition
5901      * @return Definition The current Definition
5902      **/
5903     public function addMethod($name, $method){}
5904 
5905     /**
5906      * Add Trait
5907      *
5908      * Shall use the given trait for the current definition
5909      *
5910      * @param string $trait The case insensitive name of a trait
5911      * @return Definition The current Definition
5912      **/
5913     public function addTrait($trait){}
5914 
5915     /**
5916      * Application
5917      *
5918      * Shall apply the current patch
5919      *
5920      * @return void
5921      **/
5922     public function apply(){}
5923 
5924     /**
5925      * Patch Derivation
5926      *
5927      * Shall derive a Patch for the given {@link instance}
5928      *
5929      * @param object $instance The target for the derived Patch
5930      * @return Patch Patch for {@link instance} derived from the current
5931      *   Patch
5932      **/
5933     public function derive($instance){}
5934 
5935     /**
5936      * Get Closure
5937      *
5938      * Shall return a Closure for the method specified by name
5939      *
5940      * @param string $name The case insensitive name of the method
5941      * @return \Closure A Closure bound to the correct scope and object
5942      **/
5943     public function getClosure($name){}
5944 
5945     /**
5946      * Get Closures
5947      *
5948      * Shall return an array of Closures
5949      *
5950      * @return array Shall return all methods as an array of Closure
5951      *   objects bound to the correct scope and object
5952      **/
5953     public function getClosures(){}
5954 
5955     /**
5956      * Reflection
5957      *
5958      * Shall create or return a ReflectionClass
5959      *
5960      * @return \ReflectionClass A ReflectionClass for the current
5961      *   definition (cached)
5962      **/
5963     public function getReflector(){}
5964 
5965     /**
5966      * State Detection
5967      *
5968      * @return bool
5969      **/
5970     public function isApplied(){}
5971 
5972     /**
5973      * Reversal
5974      *
5975      * Shall revert the current patch
5976      *
5977      * @return void
5978      **/
5979     public function revert(){}
5980 
5981 }
5982 }
5983 namespace Componere {
5984 final class Value {
5985     /**
5986      * Value Interaction
5987      *
5988      * @return bool
5989      **/
5990     public function hasDefault(){}
5991 
5992     /**
5993      * Accessibility Detection
5994      *
5995      * @return bool
5996      **/
5997     public function isPrivate(){}
5998 
5999     /**
6000      * Accessibility Detection
6001      *
6002      * @return bool
6003      **/
6004     public function isProtected(){}
6005 
6006     /**
6007      * Accessibility Detection
6008      *
6009      * @return bool
6010      **/
6011     public function isStatic(){}
6012 
6013     /**
6014      * Accessibility Modification
6015      *
6016      * @return Value The current Value
6017      **/
6018     public function setPrivate(){}
6019 
6020     /**
6021      * Accessibility Modification
6022      *
6023      * @return Value The current Value
6024      **/
6025     public function setProtected(){}
6026 
6027     /**
6028      * Accessibility Modification
6029      *
6030      * @return Value The current Value
6031      **/
6032     public function setStatic(){}
6033 
6034 }
6035 }
6036 class com_exception extends Exception implements Throwable {
6037 }
6038 /**
6039  * The static methods contained in the Cond class provide direct access
6040  * to Posix Condition Variables.
6041  **/
6042 class Cond {
6043     /**
6044      * Broadcast a Condition
6045      *
6046      * Broadcast to all Threads blocking on a call to {@link Cond::wait}.
6047      *
6048      * @param int $condition A handle to a Condition Variable returned by a
6049      *   previous call to {@link Cond::create}
6050      * @return bool A boolean indication of success.
6051      * @since PECL pthreads < 3.0.0
6052      **/
6053     final public static function broadcast($condition){}
6054 
6055     /**
6056      * Create a Condition
6057      *
6058      * Creates a new Condition Variable for the caller.
6059      *
6060      * @return int A handle to a Condition Variable
6061      * @since PECL pthreads < 3.0.0
6062      **/
6063     final public static function create(){}
6064 
6065     /**
6066      * Destroy a Condition
6067      *
6068      * Destroying Condition Variable handles must be carried out explicitly
6069      * by the programmer when they are finished with the Condition Variable.
6070      * No Threads should be blocking on a call to {@link Cond::wait} when the
6071      * call to {@link Cond::destroy} takes place.
6072      *
6073      * @param int $condition A handle to a Condition Variable returned by a
6074      *   previous call to {@link Cond::create}
6075      * @return bool A boolean indication of success.
6076      * @since PECL pthreads < 3.0.0
6077      **/
6078     final public static function destroy($condition){}
6079 
6080     /**
6081      * Signal a Condition
6082      *
6083      * @param int $condition A handle returned by a previous call to {@link
6084      *   Cond::create}
6085      * @return bool A boolean indication of success.
6086      * @since PECL pthreads < 3.0.0
6087      **/
6088     final public static function signal($condition){}
6089 
6090     /**
6091      * Wait for Condition
6092      *
6093      * Wait for a signal on a Condition Variable, optionally specifying a
6094      * timeout to limit waiting time.
6095      *
6096      * @param int $condition A handle returned by a previous call to {@link
6097      *   Cond::create}.
6098      * @param int $mutex A handle returned by a previous call to {@link
6099      *   Mutex::create} and owned (locked) by the caller.
6100      * @param int $timeout An optional timeout, in microseconds (
6101      *   millionths of a second ).
6102      * @return bool A boolean indication of success.
6103      * @since PECL pthreads < 3.0.0
6104      **/
6105     final public static function wait($condition, $mutex, $timeout){}
6106 
6107 }
6108 /**
6109  * Classes implementing Countable can be used with the {@link count}
6110  * function.
6111  **/
6112 interface Countable {
6113     /**
6114      * Count elements of an object
6115      *
6116      * This method is executed when using the {@link count} function on an
6117      * object implementing Countable.
6118      *
6119      * @return int The custom count as an integer.
6120      * @since PHP 5 >= 5.1.0, PHP 7
6121      **/
6122     public function count();
6123 
6124 }
6125 /**
6126  * CURLFile should be used to upload a file with CURLOPT_POSTFIELDS.
6127  * {@link curl_setopt}
6128  **/
6129 class CURLFile {
6130     /**
6131      * MIME type of the file (default is application/octet-stream).
6132      *
6133      * @var mixed
6134      **/
6135     public $mime;
6136 
6137     /**
6138      * Name of the file to be uploaded.
6139      *
6140      * @var mixed
6141      **/
6142     public $name;
6143 
6144     /**
6145      * The name of the file in the upload data (defaults to the name
6146      * property).
6147      *
6148      * @var mixed
6149      **/
6150     public $postname;
6151 
6152     /**
6153      * Get file name
6154      *
6155      * @return string Returns file name.
6156      * @since PHP 5 >= 5.5.0, PHP 7
6157      **/
6158     public function getFilename(){}
6159 
6160     /**
6161      * Get MIME type
6162      *
6163      * @return string Returns MIME type.
6164      * @since PHP 5 >= 5.5.0, PHP 7
6165      **/
6166     public function getMimeType(){}
6167 
6168     /**
6169      * Get file name for POST
6170      *
6171      * @return string Returns file name for POST.
6172      * @since PHP 5 >= 5.5.0, PHP 7
6173      **/
6174     public function getPostFilename(){}
6175 
6176     /**
6177      * Set MIME type
6178      *
6179      * @param string $mime MIME type to be used in POST data.
6180      * @return void
6181      * @since PHP 5 >= 5.5.0, PHP 7
6182      **/
6183     public function setMimeType($mime){}
6184 
6185     /**
6186      * Set file name for POST
6187      *
6188      * @param string $postname Filename to be used in POST data.
6189      * @return void
6190      * @since PHP 5 >= 5.5.0, PHP 7
6191      **/
6192     public function setPostFilename($postname){}
6193 
6194     /**
6195      * Create a CURLFile object
6196      *
6197      * Creates a CURLFile object, used to upload a file with
6198      * CURLOPT_POSTFIELDS.
6199      *
6200      * @param string $filename Path to the file which will be uploaded.
6201      * @param string $mimetype Mimetype of the file.
6202      * @param string $postname Name of the file to be used in the upload
6203      *   data.
6204      * @since PHP 5 >= 5.5.0, PHP 7
6205      **/
6206     public function __construct($filename, $mimetype, $postname){}
6207 
6208     /**
6209      * Unserialization handler
6210      *
6211      * @return void
6212      * @since PHP 5 >= 5.5.0, PHP 7
6213      **/
6214     public function __wakeup(){}
6215 
6216 }
6217 /**
6218  * Represents a date interval. A date interval stores either a fixed
6219  * amount of time (in years, months, days, hours etc) or a relative time
6220  * string in the format that DateTime's constructor supports. More
6221  * specifically, the information in an object of the DateInterval class
6222  * is an instruction to get from one date/time to another date/time. This
6223  * process is not always reversible. A common way to create a
6224  * DateInterval object is by calculating the difference between two
6225  * date/time objects through {@link DateTimeInterface::diff}. 7.1.0 The f
6226  * property was added.
6227  **/
6228 class DateInterval {
6229     /**
6230      * Number of days.
6231      *
6232      * @var integer
6233      **/
6234     public $d;
6235 
6236     /**
6237      * If the DateInterval object was created by {@link DateTime::diff}, then
6238      * this is the total number of days between the start and end dates.
6239      * Otherwise, days will be FALSE.
6240      *
6241      * Before PHP 5.4.20/5.5.4 instead of FALSE you will receive -99999 upon
6242      * accessing the property.
6243      *
6244      * @var mixed
6245      **/
6246     public $days;
6247 
6248     /**
6249      * Number of microseconds, as a fraction of a second.
6250      *
6251      * @var float
6252      **/
6253     public $f;
6254 
6255     /**
6256      * Number of hours.
6257      *
6258      * @var integer
6259      **/
6260     public $h;
6261 
6262     /**
6263      * Number of minutes.
6264      *
6265      * @var integer
6266      **/
6267     public $i;
6268 
6269     /**
6270      * Is 1 if the interval represents a negative time period and 0
6271      * otherwise. See DateInterval::format.
6272      *
6273      * @var integer
6274      **/
6275     public $invert;
6276 
6277     /**
6278      * Number of months.
6279      *
6280      * @var integer
6281      **/
6282     public $m;
6283 
6284     /**
6285      * Number of seconds.
6286      *
6287      * @var integer
6288      **/
6289     public $s;
6290 
6291     /**
6292      * Number of years.
6293      *
6294      * @var integer
6295      **/
6296     public $y;
6297 
6298     /**
6299      * Sets up a DateInterval from the relative parts of the string
6300      *
6301      * Uses the normal date parsers and sets up a DateInterval from the
6302      * relative parts of the parsed string.
6303      *
6304      * @param string $datetime A date with relative parts. Specifically,
6305      *   the relative formats supported by the parser used for {@link
6306      *   strtotime} and DateTime will be used to construct the DateInterval.
6307      * @return DateInterval Returns a new DateInterval instance.
6308      * @since PHP 5 >= 5.3.0, PHP 7
6309      **/
6310     public static function createFromDateString($datetime){}
6311 
6312     /**
6313      * Formats the interval
6314      *
6315      * @param string $format The following characters are recognized in the
6316      *   {@link format} parameter string. Each format character must be
6317      *   prefixed by a percent sign (%). {@link format} character Description
6318      *   Example values % Literal % % Y Years, numeric, at least 2 digits
6319      *   with leading 0 01, 03 y Years, numeric 1, 3 M Months, numeric, at
6320      *   least 2 digits with leading 0 01, 03, 12 m Months, numeric 1, 3, 12
6321      *   D Days, numeric, at least 2 digits with leading 0 01, 03, 31 d Days,
6322      *   numeric 1, 3, 31 a Total number of days as a result of a
6323      *   DateTime::diff or (unknown) otherwise 4, 18, 8123 H Hours, numeric,
6324      *   at least 2 digits with leading 0 01, 03, 23 h Hours, numeric 1, 3,
6325      *   23 I Minutes, numeric, at least 2 digits with leading 0 01, 03, 59 i
6326      *   Minutes, numeric 1, 3, 59 S Seconds, numeric, at least 2 digits with
6327      *   leading 0 01, 03, 57 s Seconds, numeric 1, 3, 57 F Microseconds,
6328      *   numeric, at least 6 digits with leading 0 007701, 052738, 428291 f
6329      *   Microseconds, numeric 7701, 52738, 428291 R Sign "-" when negative,
6330      *   "+" when positive -, + r Sign "-" when negative, empty when positive
6331      *   -,
6332      * @return string Returns the formatted interval.
6333      * @since PHP 5 >= 5.3.0, PHP 7
6334      **/
6335     public function format($format){}
6336 
6337 }
6338 /**
6339  * Represents a date period. A date period allows iteration over a set of
6340  * dates and times, recurring at regular intervals, over a given period.
6341  * 5.3.27, 5.4.17 The public properties recurrences, include_start_date,
6342  * start, current, end and interval have been exposed.
6343  **/
6344 class DatePeriod implements Traversable {
6345     /**
6346      * @var integer
6347      **/
6348     const EXCLUDE_START_DATE = 0;
6349 
6350     /**
6351      * During iteration this will contain the current date within the period.
6352      *
6353      * @var DateTimeInterface
6354      **/
6355     public $current;
6356 
6357     /**
6358      * The end date of the period.
6359      *
6360      * @var DateTimeInterface
6361      **/
6362     public $end;
6363 
6364     /**
6365      * Whether to include the start date in the set of recurring dates or
6366      * not.
6367      *
6368      * @var boolean
6369      **/
6370     public $include_start_date;
6371 
6372     /**
6373      * An ISO 8601 repeating interval specification.
6374      *
6375      * @var DateInterval
6376      **/
6377     public $interval;
6378 
6379     /**
6380      * The number of recurrences, if the DatePeriod instance had been created
6381      * by explicitly passing $recurrences. See also
6382      * DatePeriod::getRecurrences.
6383      *
6384      * @var integer
6385      **/
6386     public $recurrences;
6387 
6388     /**
6389      * The start date of the period.
6390      *
6391      * @var DateTimeInterface
6392      **/
6393     public $start;
6394 
6395     /**
6396      * Gets the interval
6397      *
6398      * Gets a DateInterval object representing the interval used for the
6399      * period.
6400      *
6401      * @return DateInterval Returns a DateInterval object
6402      * @since PHP 5 >= 5.6.5, PHP 7
6403      **/
6404     public function getDateInterval(){}
6405 
6406     /**
6407      * Gets the end date
6408      *
6409      * Gets the end date of the period.
6410      *
6411      * @return DateTimeInterface Returns NULL if the DatePeriod does not
6412      *   have an end date. For example, when initialized with the {@link
6413      *   recurrences} parameter, or the {@link isostr} parameter without an
6414      *   end date.
6415      * @since PHP 5 >= 5.6.5, PHP 7
6416      **/
6417     public function getEndDate(){}
6418 
6419     /**
6420      * Gets the number of recurrences
6421      *
6422      * Get the number of recurrences.
6423      *
6424      * @return int Returns the number of recurrences.
6425      * @since PHP 7 >= 7.2.17/7.3.4
6426      **/
6427     public function getRecurrences(){}
6428 
6429     /**
6430      * Gets the start date
6431      *
6432      * Gets the start date of the period.
6433      *
6434      * @return DateTimeInterface Returns a DateTimeImmutable object when
6435      *   the DatePeriod is initialized with a DateTimeImmutable object as the
6436      *   {@link start} parameter.
6437      * @since PHP 5 >= 5.6.5, PHP 7
6438      **/
6439     public function getStartDate(){}
6440 
6441 }
6442 /**
6443  * This class behaves the same as DateTimeImmutable except objects are
6444  * modified itself when modification methods such as {@link
6445  * DateTime::modify} are called. 7.2.0 The class constants of DateTime
6446  * are now defined on DateTimeInterface. 7.0.0 Added constants:
6447  * DATE_RFC3339_EXTENDED and DateTime::RFC3339_EXTENDED. 5.5.0 The class
6448  * now implements DateTimeInterface. 5.4.24 The COOKIE constant was
6449  * changed to reflect RFC 1036 using a four digit year rather than a two
6450  * digit year (RFC 850) as prior versions. 5.2.2 DateTime object
6451  * comparison with the comparison operators changed to work as expected.
6452  * Previously, all DateTime objects were considered equal (using ==).
6453  **/
6454 class DateTime implements DateTimeInterface {
6455     /**
6456      * Adds an amount of days, months, years, hours, minutes and seconds to a
6457      * DateTime object
6458      *
6459      * Adds the specified DateInterval object to the specified DateTime
6460      * object.
6461      *
6462      * @param DateInterval $interval A DateInterval object
6463      * @return DateTime
6464      * @since PHP 5 >= 5.3.0, PHP 7
6465      **/
6466     public function add($interval){}
6467 
6468     /**
6469      * Parses a time string according to a specified format
6470      *
6471      * Returns a new DateTime object representing the date and time specified
6472      * by the {@link datetime} string, which was formatted in the given
6473      * {@link format}.
6474      *
6475      * @param string $format The format that the passed in string should be
6476      *   in. See the formatting options below. In most cases, the same
6477      *   letters as for the {@link date} can be used.
6478      *   
6479      *   The following characters are recognized in the {@link format}
6480      *   parameter string {@link format} character Description Example
6481      *   parsable values Day --- --- d and j Day of the month, 2 digits with
6482      *   or without leading zeros 01 to 31 or 1 to 31 D and l A textual
6483      *   representation of a day Mon through Sun or Sunday through Saturday S
6484      *   English ordinal suffix for the day of the month, 2 characters. It's
6485      *   ignored while processing. st, nd, rd or th. z The day of the year
6486      *   (starting from 0) 0 through 365 Month --- --- F and M A textual
6487      *   representation of a month, such as January or Sept January through
6488      *   December or Jan through Dec m and n Numeric representation of a
6489      *   month, with or without leading zeros 01 through 12 or 1 through 12
6490      *   Year --- --- Y A full numeric representation of a year, 4 digits
6491      *   Examples: 1999 or 2003 y A two digit representation of a year (which
6492      *   is assumed to be in the range 1970-2069, inclusive) Examples: 99 or
6493      *   03 (which will be interpreted as 1999 and 2003, respectively) Time
6494      *   --- --- a and A Ante meridiem and Post meridiem am or pm g and h
6495      *   12-hour format of an hour with or without leading zero 1 through 12
6496      *   or 01 through 12 G and H 24-hour format of an hour with or without
6497      *   leading zeros 0 through 23 or 00 through 23 i Minutes with leading
6498      *   zeros 00 to 59 s Seconds, with leading zeros 00 through 59 v
6499      *   Milliseconds (up to three digits) Example: 12, 345 u Microseconds
6500      *   (up to six digits) Example: 45, 654321 Timezone --- --- e, O, P and
6501      *   T Timezone identifier, or difference to UTC in hours, or difference
6502      *   to UTC with colon between hours and minutes, or timezone
6503      *   abbreviation Examples: UTC, GMT, Atlantic/Azores or +0200 or +02:00
6504      *   or EST, MDT Full Date/Time --- --- U Seconds since the Unix Epoch
6505      *   (January 1 1970 00:00:00 GMT) Example: 1292177455 Whitespace and
6506      *   Separators --- --- (space) One space or one tab Example: # One of
6507      *   the following separation symbol: ;, :, /, ., ,, -, ( or ) Example: /
6508      *   ;, :, /, ., ,, -, ( or ) The specified character. Example: - ? A
6509      *   random byte Example: ^ (Be aware that for UTF-8 characters you might
6510      *   need more than one ?. In this case, using * is probably what you
6511      *   want instead) * Random bytes until the next separator or digit
6512      *   Example: * in Y-*-d with the string 2009-aWord-08 will match aWord !
6513      *   Resets all fields (year, month, day, hour, minute, second, fraction
6514      *   and timezone information) to the Unix Epoch Without !, all fields
6515      *   will be set to the current date and time. | Resets all fields (year,
6516      *   month, day, hour, minute, second, fraction and timezone information)
6517      *   to the Unix Epoch if they have not been parsed yet Y-m-d| will set
6518      *   the year, month and day to the information found in the string to
6519      *   parse, and sets the hour, minute and second to 0. + If this format
6520      *   specifier is present, trailing data in the string will not cause an
6521      *   error, but a warning instead Use DateTime::getLastErrors to find out
6522      *   whether trailing data was present. Unrecognized characters in the
6523      *   format string will cause the parsing to fail and an error message is
6524      *   appended to the returned structure. You can query error messages
6525      *   with DateTime::getLastErrors. To include literal characters in
6526      *   {@link format}, you have to escape them with a backslash (\). If
6527      *   {@link format} does not contain the character ! then portions of the
6528      *   generated time which are not specified in {@link format} will be set
6529      *   to the current system time. If {@link format} contains the character
6530      *   !, then portions of the generated time not provided in {@link
6531      *   format}, as well as values to the left-hand side of the !, will be
6532      *   set to corresponding values from the Unix epoch. The Unix epoch is
6533      *   1970-01-01 00:00:00 UTC.
6534      * @param string $datetime String representing the time.
6535      * @param DateTimeZone $timezone A DateTimeZone object representing the
6536      *   desired time zone. If {@link timezone} is omitted and {@link
6537      *   datetime} contains no timezone, the current timezone will be used.
6538      * @return DateTime Returns a new DateTime instance.
6539      * @since PHP 5 >= 5.3.0, PHP 7
6540      **/
6541     public static function createFromFormat($format, $datetime, $timezone){}
6542 
6543     /**
6544      * Returns new DateTime object encapsulating the given DateTimeImmutable
6545      * object
6546      *
6547      * @param DateTimeImmutable $object The immutable DateTimeImmutable
6548      *   object that needs to be converted to a mutable version. This object
6549      *   is not modified, but instead a new DateTime object is created
6550      *   containing the same date, time, and timezone information.
6551      * @return DateTime Returns a new DateTime instance.
6552      * @since PHP 7 >= 7.3.0
6553      **/
6554     public static function createFromImmutable($object){}
6555 
6556     /**
6557      * Returns the difference between two DateTime objects
6558      *
6559      * Returns the difference between two DateTimeInterface objects.
6560      *
6561      * @param DateTimeInterface $targetObject The date to compare to.
6562      * @param bool $absolute Should the interval be forced to be positive?
6563      * @return DateInterval The DateInterval object represents the
6564      *   difference between the two dates.
6565      * @since PHP 5 >= 5.3.0, PHP 7
6566      **/
6567     public function diff($targetObject, $absolute){}
6568 
6569     /**
6570      * Returns date formatted according to given format
6571      *
6572      * @param string $format The format of the outputted date string. See
6573      *   the formatting options below. There are also several predefined date
6574      *   constants that may be used instead, so for example DATE_RSS contains
6575      *   the format string 'D, d M Y H:i:s'.
6576      *   
6577      *   The following characters are recognized in the {@link format}
6578      *   parameter string {@link format} character Description Example
6579      *   returned values Day --- --- d Day of the month, 2 digits with
6580      *   leading zeros 01 to 31 D A textual representation of a day, three
6581      *   letters Mon through Sun j Day of the month without leading zeros 1
6582      *   to 31 l (lowercase 'L') A full textual representation of the day of
6583      *   the week Sunday through Saturday N ISO-8601 numeric representation
6584      *   of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7
6585      *   (for Sunday) S English ordinal suffix for the day of the month, 2
6586      *   characters st, nd, rd or th. Works well with j w Numeric
6587      *   representation of the day of the week 0 (for Sunday) through 6 (for
6588      *   Saturday) z The day of the year (starting from 0) 0 through 365 Week
6589      *   --- --- W ISO-8601 week number of year, weeks starting on Monday
6590      *   Example: 42 (the 42nd week in the year) Month --- --- F A full
6591      *   textual representation of a month, such as January or March January
6592      *   through December m Numeric representation of a month, with leading
6593      *   zeros 01 through 12 M A short textual representation of a month,
6594      *   three letters Jan through Dec n Numeric representation of a month,
6595      *   without leading zeros 1 through 12 t Number of days in the given
6596      *   month 28 through 31 Year --- --- L Whether it's a leap year 1 if it
6597      *   is a leap year, 0 otherwise. o ISO-8601 week-numbering year. This
6598      *   has the same value as Y, except that if the ISO week number (W)
6599      *   belongs to the previous or next year, that year is used instead.
6600      *   (added in PHP 5.1.0) Examples: 1999 or 2003 Y A full numeric
6601      *   representation of a year, 4 digits Examples: 1999 or 2003 y A two
6602      *   digit representation of a year Examples: 99 or 03 Time --- --- a
6603      *   Lowercase Ante meridiem and Post meridiem am or pm A Uppercase Ante
6604      *   meridiem and Post meridiem AM or PM B Swatch Internet time 000
6605      *   through 999 g 12-hour format of an hour without leading zeros 1
6606      *   through 12 G 24-hour format of an hour without leading zeros 0
6607      *   through 23 h 12-hour format of an hour with leading zeros 01 through
6608      *   12 H 24-hour format of an hour with leading zeros 00 through 23 i
6609      *   Minutes with leading zeros 00 to 59 s Seconds with leading zeros 00
6610      *   through 59 u Microseconds (added in PHP 5.2.2). Note that {@link
6611      *   date} will always generate 000000 since it takes an integer
6612      *   parameter, whereas DateTime::format does support microseconds if
6613      *   DateTime was created with microseconds. Example: 654321 v
6614      *   Milliseconds (added in PHP 7.0.0). Same note applies as for u.
6615      *   Example: 654 Timezone --- --- e Timezone identifier (added in PHP
6616      *   5.1.0) Examples: UTC, GMT, Atlantic/Azores I (capital i) Whether or
6617      *   not the date is in daylight saving time 1 if Daylight Saving Time, 0
6618      *   otherwise. O Difference to Greenwich time (GMT) without colon
6619      *   between hours and minutes Example: +0200 P Difference to Greenwich
6620      *   time (GMT) with colon between hours and minutes (added in PHP 5.1.3)
6621      *   Example: +02:00 T Timezone abbreviation Examples: EST, MDT ... Z
6622      *   Timezone offset in seconds. The offset for timezones west of UTC is
6623      *   always negative, and for those east of UTC is always positive.
6624      *   -43200 through 50400 Full Date/Time --- --- c ISO 8601 date (added
6625      *   in PHP 5) 2004-02-12T15:19:21+00:00 r RFC 2822 formatted date
6626      *   Example: Thu, 21 Dec 2000 16:01:07 +0200 U Seconds since the Unix
6627      *   Epoch (January 1 1970 00:00:00 GMT) See also {@link time}
6628      *   Unrecognized characters in the format string will be printed as-is.
6629      *   The Z format will always return 0 when using {@link gmdate}.
6630      * @return string Returns the formatted date string on success.
6631      * @since PHP 5 >= 5.2.1, PHP 7
6632      **/
6633     public function format($format){}
6634 
6635     /**
6636      * Returns the warnings and errors
6637      *
6638      * Returns an array of warnings and errors found while parsing a
6639      * date/time string.
6640      *
6641      * @return array Returns array containing info about warnings and
6642      *   errors.
6643      * @since PHP 5 >= 5.3.0, PHP 7
6644      **/
6645     public static function getLastErrors(){}
6646 
6647     /**
6648      * Returns the timezone offset
6649      *
6650      * @return int Returns the timezone offset in seconds from UTC on
6651      *   success .
6652      * @since PHP 5 >= 5.2.1, PHP 7
6653      **/
6654     public function getOffset(){}
6655 
6656     /**
6657      * Gets the Unix timestamp
6658      *
6659      * @return int Returns the Unix timestamp representing the date.
6660      * @since PHP 5 >= 5.3.0, PHP 7
6661      **/
6662     public function getTimestamp(){}
6663 
6664     /**
6665      * Return time zone relative to given DateTime
6666      *
6667      * @return DateTimeZone Returns a DateTimeZone object on success .
6668      * @since PHP 5 >= 5.2.1, PHP 7
6669      **/
6670     public function getTimezone(){}
6671 
6672     /**
6673      * Alters the timestamp
6674      *
6675      * Alter the timestamp of a DateTime object by incrementing or
6676      * decrementing in a format accepted by {@link
6677      * DateTimeImmutable::__construct}.
6678      *
6679      * @param string $modifier
6680      * @return DateTime
6681      * @since PHP 5 >= 5.2.0, PHP 7
6682      **/
6683     public function modify($modifier){}
6684 
6685     /**
6686      * Sets the date
6687      *
6688      * Resets the current date of the DateTime object to a different date.
6689      *
6690      * @param int $year Year of the date.
6691      * @param int $month Month of the date.
6692      * @param int $day Day of the date.
6693      * @return DateTime
6694      * @since PHP 5 >= 5.2.0, PHP 7
6695      **/
6696     public function setDate($year, $month, $day){}
6697 
6698     /**
6699      * Sets the ISO date
6700      *
6701      * Set a date according to the ISO 8601 standard - using weeks and day
6702      * offsets rather than specific dates.
6703      *
6704      * @param int $year Year of the date.
6705      * @param int $week Week of the date.
6706      * @param int $dayOfWeek Offset from the first day of the week.
6707      * @return DateTime
6708      * @since PHP 5 >= 5.2.0, PHP 7
6709      **/
6710     public function setISODate($year, $week, $dayOfWeek){}
6711 
6712     /**
6713      * Sets the time
6714      *
6715      * Resets the current time of the DateTime object to a different time.
6716      *
6717      * @param int $hour Hour of the time.
6718      * @param int $minute Minute of the time.
6719      * @param int $second Second of the time.
6720      * @param int $microsecond Microsecond of the time.
6721      * @return DateTime
6722      * @since PHP 5 >= 5.2.0, PHP 7
6723      **/
6724     public function setTime($hour, $minute, $second, $microsecond){}
6725 
6726     /**
6727      * Sets the date and time based on an Unix timestamp
6728      *
6729      * @param int $timestamp Unix timestamp representing the date.
6730      * @return DateTime
6731      * @since PHP 5 >= 5.3.0, PHP 7
6732      **/
6733     public function setTimestamp($timestamp){}
6734 
6735     /**
6736      * Sets the time zone for the DateTime object
6737      *
6738      * Sets a new timezone for a DateTime object.
6739      *
6740      * @param DateTimeZone $timezone A DateTimeZone object representing the
6741      *   desired time zone.
6742      * @return DateTime
6743      * @since PHP 5 >= 5.2.0, PHP 7
6744      **/
6745     public function setTimezone($timezone){}
6746 
6747     /**
6748      * Subtracts an amount of days, months, years, hours, minutes and seconds
6749      * from a DateTime object
6750      *
6751      * Subtracts the specified DateInterval object from the specified
6752      * DateTime object.
6753      *
6754      * @param DateInterval $interval A DateInterval object
6755      * @return DateTime
6756      * @since PHP 5 >= 5.3.0, PHP 7
6757      **/
6758     public function sub($interval){}
6759 
6760     /**
6761      * The __set_state handler
6762      *
6763      * The __set_state() handler.
6764      *
6765      * @param array $array Initialization array.
6766      * @return DateTime Returns a new instance of a DateTime object.
6767      * @since PHP 5 >= 5.3.0, PHP 7
6768      **/
6769     public static function __set_state($array){}
6770 
6771     /**
6772      * The __wakeup handler
6773      *
6774      * The __wakeup() handler.
6775      *
6776      * @since PHP 5 >= 5.3.0, PHP 7
6777      **/
6778     public function __wakeup(){}
6779 
6780 }
6781 /**
6782  * Representation of date and time.
6783  **/
6784 class DateTimeImmutable implements DateTimeInterface {
6785     /**
6786      * Adds an amount of days, months, years, hours, minutes and seconds
6787      *
6788      * Like DateTime::add but works with DateTimeImmutable.
6789      *
6790      * @param DateInterval $interval
6791      * @return DateTimeImmutable
6792      * @since PHP 5 >= 5.5.0, PHP 7
6793      **/
6794     public function add($interval){}
6795 
6796     /**
6797      * Parses a time string according to a specified format
6798      *
6799      * Like DateTime::createFromFormat but works with DateTimeImmutable.
6800      *
6801      * @param string $format
6802      * @param string $datetime
6803      * @param DateTimeZone $timezone
6804      * @return DateTimeImmutable
6805      * @since PHP 5 >= 5.5.0, PHP 7
6806      **/
6807     public static function createFromFormat($format, $datetime, $timezone){}
6808 
6809     /**
6810      * Returns new DateTimeImmutable object encapsulating the given DateTime
6811      * object
6812      *
6813      * @param DateTime $object The mutable DateTime object that you want to
6814      *   convert to an immutable version. This object is not modified, but
6815      *   instead a new DateTimeImmutable object is created containing the
6816      *   same date time and timezone information.
6817      * @return DateTimeImmutable Returns a new DateTimeImmutable instance.
6818      * @since PHP 5 >= 5.6.0, PHP 7
6819      **/
6820     public static function createFromMutable($object){}
6821 
6822     /**
6823      * Returns the difference between two DateTime objects
6824      *
6825      * Returns the difference between two DateTimeInterface objects.
6826      *
6827      * @param DateTimeInterface $targetObject The date to compare to.
6828      * @param bool $absolute Should the interval be forced to be positive?
6829      * @return DateInterval The DateInterval object represents the
6830      *   difference between the two dates.
6831      * @since PHP 5 >= 5.5.0, PHP 7
6832      **/
6833     public function diff($targetObject, $absolute){}
6834 
6835     /**
6836      * Returns date formatted according to given format
6837      *
6838      * @param string $format The format of the outputted date string. See
6839      *   the formatting options below. There are also several predefined date
6840      *   constants that may be used instead, so for example DATE_RSS contains
6841      *   the format string 'D, d M Y H:i:s'.
6842      *   
6843      *   The following characters are recognized in the {@link format}
6844      *   parameter string {@link format} character Description Example
6845      *   returned values Day --- --- d Day of the month, 2 digits with
6846      *   leading zeros 01 to 31 D A textual representation of a day, three
6847      *   letters Mon through Sun j Day of the month without leading zeros 1
6848      *   to 31 l (lowercase 'L') A full textual representation of the day of
6849      *   the week Sunday through Saturday N ISO-8601 numeric representation
6850      *   of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7
6851      *   (for Sunday) S English ordinal suffix for the day of the month, 2
6852      *   characters st, nd, rd or th. Works well with j w Numeric
6853      *   representation of the day of the week 0 (for Sunday) through 6 (for
6854      *   Saturday) z The day of the year (starting from 0) 0 through 365 Week
6855      *   --- --- W ISO-8601 week number of year, weeks starting on Monday
6856      *   Example: 42 (the 42nd week in the year) Month --- --- F A full
6857      *   textual representation of a month, such as January or March January
6858      *   through December m Numeric representation of a month, with leading
6859      *   zeros 01 through 12 M A short textual representation of a month,
6860      *   three letters Jan through Dec n Numeric representation of a month,
6861      *   without leading zeros 1 through 12 t Number of days in the given
6862      *   month 28 through 31 Year --- --- L Whether it's a leap year 1 if it
6863      *   is a leap year, 0 otherwise. o ISO-8601 week-numbering year. This
6864      *   has the same value as Y, except that if the ISO week number (W)
6865      *   belongs to the previous or next year, that year is used instead.
6866      *   (added in PHP 5.1.0) Examples: 1999 or 2003 Y A full numeric
6867      *   representation of a year, 4 digits Examples: 1999 or 2003 y A two
6868      *   digit representation of a year Examples: 99 or 03 Time --- --- a
6869      *   Lowercase Ante meridiem and Post meridiem am or pm A Uppercase Ante
6870      *   meridiem and Post meridiem AM or PM B Swatch Internet time 000
6871      *   through 999 g 12-hour format of an hour without leading zeros 1
6872      *   through 12 G 24-hour format of an hour without leading zeros 0
6873      *   through 23 h 12-hour format of an hour with leading zeros 01 through
6874      *   12 H 24-hour format of an hour with leading zeros 00 through 23 i
6875      *   Minutes with leading zeros 00 to 59 s Seconds with leading zeros 00
6876      *   through 59 u Microseconds (added in PHP 5.2.2). Note that {@link
6877      *   date} will always generate 000000 since it takes an integer
6878      *   parameter, whereas DateTime::format does support microseconds if
6879      *   DateTime was created with microseconds. Example: 654321 v
6880      *   Milliseconds (added in PHP 7.0.0). Same note applies as for u.
6881      *   Example: 654 Timezone --- --- e Timezone identifier (added in PHP
6882      *   5.1.0) Examples: UTC, GMT, Atlantic/Azores I (capital i) Whether or
6883      *   not the date is in daylight saving time 1 if Daylight Saving Time, 0
6884      *   otherwise. O Difference to Greenwich time (GMT) without colon
6885      *   between hours and minutes Example: +0200 P Difference to Greenwich
6886      *   time (GMT) with colon between hours and minutes (added in PHP 5.1.3)
6887      *   Example: +02:00 T Timezone abbreviation Examples: EST, MDT ... Z
6888      *   Timezone offset in seconds. The offset for timezones west of UTC is
6889      *   always negative, and for those east of UTC is always positive.
6890      *   -43200 through 50400 Full Date/Time --- --- c ISO 8601 date (added
6891      *   in PHP 5) 2004-02-12T15:19:21+00:00 r RFC 2822 formatted date
6892      *   Example: Thu, 21 Dec 2000 16:01:07 +0200 U Seconds since the Unix
6893      *   Epoch (January 1 1970 00:00:00 GMT) See also {@link time}
6894      *   Unrecognized characters in the format string will be printed as-is.
6895      *   The Z format will always return 0 when using {@link gmdate}.
6896      * @return string Returns the formatted date string on success.
6897      * @since PHP 5 >= 5.5.0, PHP 7
6898      **/
6899     public function format($format){}
6900 
6901     /**
6902      * Returns the warnings and errors
6903      *
6904      * Like DateTime::getLastErrors but works with DateTimeImmutable.
6905      *
6906      * @return array
6907      * @since PHP 5 >= 5.5.0, PHP 7
6908      **/
6909     public static function getLastErrors(){}
6910 
6911     /**
6912      * Returns the timezone offset
6913      *
6914      * @return int Returns the timezone offset in seconds from UTC on
6915      *   success .
6916      * @since PHP 5 >= 5.5.0, PHP 7
6917      **/
6918     public function getOffset(){}
6919 
6920     /**
6921      * Gets the Unix timestamp
6922      *
6923      * @return int Returns the Unix timestamp representing the date.
6924      * @since PHP 5 >= 5.5.0, PHP 7
6925      **/
6926     public function getTimestamp(){}
6927 
6928     /**
6929      * Return time zone relative to given DateTime
6930      *
6931      * @return DateTimeZone Returns a DateTimeZone object on success .
6932      * @since PHP 5 >= 5.5.0, PHP 7
6933      **/
6934     public function getTimezone(){}
6935 
6936     /**
6937      * Creates a new object with modified timestamp
6938      *
6939      * Creates a new DateTimeImmutable object with modified timestamp. The
6940      * original object is not modified.
6941      *
6942      * @param string $modifier
6943      * @return DateTimeImmutable Returns the newly created object.
6944      * @since PHP 5 >= 5.5.0, PHP 7
6945      **/
6946     public function modify($modifier){}
6947 
6948     /**
6949      * Sets the date
6950      *
6951      * Like DateTime::setDate but works with DateTimeImmutable.
6952      *
6953      * @param int $year
6954      * @param int $month
6955      * @param int $day
6956      * @return DateTimeImmutable
6957      * @since PHP 5 >= 5.5.0, PHP 7
6958      **/
6959     public function setDate($year, $month, $day){}
6960 
6961     /**
6962      * Sets the ISO date
6963      *
6964      * Like DateTime::setISODate but works with DateTimeImmutable.
6965      *
6966      * @param int $year
6967      * @param int $week
6968      * @param int $day
6969      * @return DateTimeImmutable
6970      * @since PHP 5 >= 5.5.0, PHP 7
6971      **/
6972     public function setISODate($year, $week, $day){}
6973 
6974     /**
6975      * Sets the time
6976      *
6977      * Like DateTime::setTime but works with DateTimeImmutable.
6978      *
6979      * @param int $hour
6980      * @param int $minute
6981      * @param int $second
6982      * @param int $microsecond
6983      * @return DateTimeImmutable
6984      * @since PHP 5 >= 5.5.0, PHP 7
6985      **/
6986     public function setTime($hour, $minute, $second, $microsecond){}
6987 
6988     /**
6989      * Sets the date and time based on a Unix timestamp
6990      *
6991      * Like DateTime::setTimestamp but works with DateTimeImmutable.
6992      *
6993      * @param int $timestamp
6994      * @return DateTimeImmutable
6995      * @since PHP 5 >= 5.5.0, PHP 7
6996      **/
6997     public function setTimestamp($timestamp){}
6998 
6999     /**
7000      * Sets the time zone
7001      *
7002      * Like DateTime::setTimezone but works with DateTimeImmutable.
7003      *
7004      * @param DateTimeZone $timezone
7005      * @return DateTimeImmutable
7006      * @since PHP 5 >= 5.5.0, PHP 7
7007      **/
7008     public function setTimezone($timezone){}
7009 
7010     /**
7011      * Subtracts an amount of days, months, years, hours, minutes and seconds
7012      *
7013      * Like DateTime::sub but works with DateTimeImmutable.
7014      *
7015      * @param DateInterval $interval
7016      * @return DateTimeImmutable
7017      * @since PHP 5 >= 5.5.0, PHP 7
7018      **/
7019     public function sub($interval){}
7020 
7021     /**
7022      * The __set_state handler
7023      *
7024      * Like DateTime::__set_state but works with DateTimeImmutable.
7025      *
7026      * @param array $array
7027      * @return DateTimeImmutable
7028      * @since PHP 5 >= 5.5.0, PHP 7
7029      **/
7030     public static function __set_state($array){}
7031 
7032     /**
7033      * The __wakeup handler
7034      *
7035      * The __wakeup() handler.
7036      *
7037      * @since PHP 5 >= 5.5.0, PHP 7
7038      **/
7039     public function __wakeup(){}
7040 
7041 }
7042 /**
7043  * DateTimeInterface is meant so that both DateTime and DateTimeImmutable
7044  * can be type hinted for. It is not possible to implement this interface
7045  * with userland classes. 7.2.0 The class constants of DateTime are now
7046  * defined on DateTimeInterface. 5.5.8 Trying to implement
7047  * DateTimeInterface raises a fatal error now. Formerly implementing the
7048  * interface didn't raise an error, but the behavior was erroneous.
7049  **/
7050 interface DateTimeInterface {
7051     /**
7052      * @var string
7053      **/
7054     const ATOM = '';
7055 
7056     /**
7057      * @var string
7058      **/
7059     const COOKIE = '';
7060 
7061     /**
7062      * @var string
7063      **/
7064     const ISO8601 = '';
7065 
7066     /**
7067      * @var string
7068      **/
7069     const RFC822 = '';
7070 
7071     /**
7072      * @var string
7073      **/
7074     const RFC850 = '';
7075 
7076     /**
7077      * @var string
7078      **/
7079     const RFC1036 = '';
7080 
7081     /**
7082      * @var string
7083      **/
7084     const RFC1123 = '';
7085 
7086     /**
7087      * @var string
7088      **/
7089     const RFC2822 = '';
7090 
7091     /**
7092      * @var string
7093      **/
7094     const RFC3339 = '';
7095 
7096     /**
7097      * @var string
7098      **/
7099     const RFC3339_EXTENDED = '';
7100 
7101     /**
7102      * @var string
7103      **/
7104     const RFC7231 = '';
7105 
7106     /**
7107      * @var string
7108      **/
7109     const RSS = '';
7110 
7111     /**
7112      * @var string
7113      **/
7114     const W3C = '';
7115 
7116     /**
7117      * Returns the difference between two DateTime objects
7118      *
7119      * Returns the difference between two DateTimeInterface objects.
7120      *
7121      * @param DateTimeInterface $targetObject The date to compare to.
7122      * @param bool $absolute Should the interval be forced to be positive?
7123      * @return DateInterval The DateInterval object represents the
7124      *   difference between the two dates.
7125      * @since PHP 5 >= 5.3.0, PHP 7
7126      **/
7127     public function diff($targetObject, $absolute);
7128 
7129     /**
7130      * Returns date formatted according to given format
7131      *
7132      * @param string $format The format of the outputted date string. See
7133      *   the formatting options below. There are also several predefined date
7134      *   constants that may be used instead, so for example DATE_RSS contains
7135      *   the format string 'D, d M Y H:i:s'.
7136      *   
7137      *   The following characters are recognized in the {@link format}
7138      *   parameter string {@link format} character Description Example
7139      *   returned values Day --- --- d Day of the month, 2 digits with
7140      *   leading zeros 01 to 31 D A textual representation of a day, three
7141      *   letters Mon through Sun j Day of the month without leading zeros 1
7142      *   to 31 l (lowercase 'L') A full textual representation of the day of
7143      *   the week Sunday through Saturday N ISO-8601 numeric representation
7144      *   of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7
7145      *   (for Sunday) S English ordinal suffix for the day of the month, 2
7146      *   characters st, nd, rd or th. Works well with j w Numeric
7147      *   representation of the day of the week 0 (for Sunday) through 6 (for
7148      *   Saturday) z The day of the year (starting from 0) 0 through 365 Week
7149      *   --- --- W ISO-8601 week number of year, weeks starting on Monday
7150      *   Example: 42 (the 42nd week in the year) Month --- --- F A full
7151      *   textual representation of a month, such as January or March January
7152      *   through December m Numeric representation of a month, with leading
7153      *   zeros 01 through 12 M A short textual representation of a month,
7154      *   three letters Jan through Dec n Numeric representation of a month,
7155      *   without leading zeros 1 through 12 t Number of days in the given
7156      *   month 28 through 31 Year --- --- L Whether it's a leap year 1 if it
7157      *   is a leap year, 0 otherwise. o ISO-8601 week-numbering year. This
7158      *   has the same value as Y, except that if the ISO week number (W)
7159      *   belongs to the previous or next year, that year is used instead.
7160      *   (added in PHP 5.1.0) Examples: 1999 or 2003 Y A full numeric
7161      *   representation of a year, 4 digits Examples: 1999 or 2003 y A two
7162      *   digit representation of a year Examples: 99 or 03 Time --- --- a
7163      *   Lowercase Ante meridiem and Post meridiem am or pm A Uppercase Ante
7164      *   meridiem and Post meridiem AM or PM B Swatch Internet time 000
7165      *   through 999 g 12-hour format of an hour without leading zeros 1
7166      *   through 12 G 24-hour format of an hour without leading zeros 0
7167      *   through 23 h 12-hour format of an hour with leading zeros 01 through
7168      *   12 H 24-hour format of an hour with leading zeros 00 through 23 i
7169      *   Minutes with leading zeros 00 to 59 s Seconds with leading zeros 00
7170      *   through 59 u Microseconds (added in PHP 5.2.2). Note that {@link
7171      *   date} will always generate 000000 since it takes an integer
7172      *   parameter, whereas DateTime::format does support microseconds if
7173      *   DateTime was created with microseconds. Example: 654321 v
7174      *   Milliseconds (added in PHP 7.0.0). Same note applies as for u.
7175      *   Example: 654 Timezone --- --- e Timezone identifier (added in PHP
7176      *   5.1.0) Examples: UTC, GMT, Atlantic/Azores I (capital i) Whether or
7177      *   not the date is in daylight saving time 1 if Daylight Saving Time, 0
7178      *   otherwise. O Difference to Greenwich time (GMT) without colon
7179      *   between hours and minutes Example: +0200 P Difference to Greenwich
7180      *   time (GMT) with colon between hours and minutes (added in PHP 5.1.3)
7181      *   Example: +02:00 T Timezone abbreviation Examples: EST, MDT ... Z
7182      *   Timezone offset in seconds. The offset for timezones west of UTC is
7183      *   always negative, and for those east of UTC is always positive.
7184      *   -43200 through 50400 Full Date/Time --- --- c ISO 8601 date (added
7185      *   in PHP 5) 2004-02-12T15:19:21+00:00 r RFC 2822 formatted date
7186      *   Example: Thu, 21 Dec 2000 16:01:07 +0200 U Seconds since the Unix
7187      *   Epoch (January 1 1970 00:00:00 GMT) See also {@link time}
7188      *   Unrecognized characters in the format string will be printed as-is.
7189      *   The Z format will always return 0 when using {@link gmdate}.
7190      * @return string Returns the formatted date string on success.
7191      * @since PHP 5 >= 5.2.0, PHP 7
7192      **/
7193     public function format($format);
7194 
7195     /**
7196      * Returns the timezone offset
7197      *
7198      * @return int Returns the timezone offset in seconds from UTC on
7199      *   success .
7200      * @since PHP 5 >= 5.2.0, PHP 7
7201      **/
7202     public function getOffset();
7203 
7204     /**
7205      * Gets the Unix timestamp
7206      *
7207      * @return int Returns the Unix timestamp representing the date.
7208      * @since PHP 5 >= 5.3.0, PHP 7
7209      **/
7210     public function getTimestamp();
7211 
7212     /**
7213      * Return time zone relative to given DateTime
7214      *
7215      * @return DateTimeZone Returns a DateTimeZone object on success .
7216      * @since PHP 5 >= 5.2.0, PHP 7
7217      **/
7218     public function getTimezone();
7219 
7220     /**
7221      * The __wakeup handler
7222      *
7223      * The __wakeup() handler.
7224      *
7225      * @since PHP 5 >= 5.2.0, PHP 7
7226      **/
7227     public function __wakeup();
7228 
7229 }
7230 /**
7231  * Representation of time zone.
7232  **/
7233 class DateTimeZone {
7234     /**
7235      * Africa time zones.
7236      *
7237      * @var integer
7238      **/
7239     const AFRICA = 0;
7240 
7241     /**
7242      * All time zones.
7243      *
7244      * @var integer
7245      **/
7246     const ALL = 0;
7247 
7248     /**
7249      * @var integer
7250      **/
7251     const ALL_WITH_BC = 0;
7252 
7253     /**
7254      * America time zones.
7255      *
7256      * @var integer
7257      **/
7258     const AMERICA = 0;
7259 
7260     /**
7261      * Antarctica time zones.
7262      *
7263      * @var integer
7264      **/
7265     const ANTARCTICA = 0;
7266 
7267     /**
7268      * Arctic time zones.
7269      *
7270      * @var integer
7271      **/
7272     const ARCTIC = 0;
7273 
7274     /**
7275      * Asia time zones.
7276      *
7277      * @var integer
7278      **/
7279     const ASIA = 0;
7280 
7281     /**
7282      * Atlantic time zones.
7283      *
7284      * @var integer
7285      **/
7286     const ATLANTIC = 0;
7287 
7288     /**
7289      * Australia time zones.
7290      *
7291      * @var integer
7292      **/
7293     const AUSTRALIA = 0;
7294 
7295     /**
7296      * Europe time zones.
7297      *
7298      * @var integer
7299      **/
7300     const EUROPE = 0;
7301 
7302     /**
7303      * Indian time zones.
7304      *
7305      * @var integer
7306      **/
7307     const INDIAN = 0;
7308 
7309     /**
7310      * Pacific time zones.
7311      *
7312      * @var integer
7313      **/
7314     const PACIFIC = 0;
7315 
7316     /**
7317      * @var integer
7318      **/
7319     const PER_COUNTRY = 0;
7320 
7321     /**
7322      * UTC time zones.
7323      *
7324      * @var integer
7325      **/
7326     const UTC = 0;
7327 
7328     /**
7329      * Returns location information for a timezone
7330      *
7331      * Returns location information for a timezone, including country code,
7332      * latitude/longitude and comments.
7333      *
7334      * @return array Array containing location information about timezone.
7335      * @since PHP 5 >= 5.3.0, PHP 7
7336      **/
7337     public function getLocation(){}
7338 
7339     /**
7340      * Returns the name of the timezone
7341      *
7342      * @return string One of the timezone names in the list of timezones.
7343      * @since PHP 5 >= 5.2.0, PHP 7
7344      **/
7345     public function getName(){}
7346 
7347     /**
7348      * Returns the timezone offset from GMT
7349      *
7350      * This function returns the offset to GMT for the date/time specified in
7351      * the {@link datetime} parameter. The GMT offset is calculated with the
7352      * timezone information contained in the DateTimeZone object being used.
7353      *
7354      * @param DateTimeInterface $datetime DateTime that contains the
7355      *   date/time to compute the offset from.
7356      * @return int Returns time zone offset in seconds on success.
7357      * @since PHP 5 >= 5.2.0, PHP 7
7358      **/
7359     public function getOffset($datetime){}
7360 
7361     /**
7362      * Returns all transitions for the timezone
7363      *
7364      * @param int $timestampBegin Begin timestamp.
7365      * @param int $timestampEnd End timestamp.
7366      * @return array Returns numerically indexed array containing
7367      *   associative array with all transitions on success.
7368      * @since PHP 5 >= 5.2.0, PHP 7
7369      **/
7370     public function getTransitions($timestampBegin, $timestampEnd){}
7371 
7372     /**
7373      * Returns associative array containing dst, offset and the timezone name
7374      *
7375      * @return array Returns array on success.
7376      * @since PHP 5 >= 5.2.0, PHP 7
7377      **/
7378     public static function listAbbreviations(){}
7379 
7380     /**
7381      * Returns a numerically indexed array containing all defined timezone
7382      * identifiers
7383      *
7384      * @param int $timezoneGroup One of the DateTimeZone class constants
7385      *   (or a combination).
7386      * @param string $countryCode A two-letter ISO 3166-1 compatible
7387      *   country code.
7388      * @return array Returns array on success.
7389      * @since PHP 5 >= 5.2.0, PHP 7
7390      **/
7391     public static function listIdentifiers($timezoneGroup, $countryCode){}
7392 
7393 }
7394 /**
7395  * Created by {@link dir}.
7396  **/
7397 class Directory {
7398     /**
7399      * Can be used with other directory functions such as {@link readdir},
7400      * {@link rewinddir} and {@link closedir}.
7401      *
7402      * @var resource
7403      **/
7404     public $handle;
7405 
7406     /**
7407      * The directory that was opened.
7408      *
7409      * @var string
7410      **/
7411     public $path;
7412 
7413     /**
7414      * Close directory handle
7415      *
7416      * Same as {@link closedir}, only dir_handle defaults to $this->handle.
7417      *
7418      * @param resource $dir_handle
7419      * @return void
7420      * @since PHP 4, PHP 5, PHP 7
7421      **/
7422     public function close($dir_handle){}
7423 
7424     /**
7425      * Read entry from directory handle
7426      *
7427      * Same as {@link readdir}, only dir_handle defaults to $this->handle.
7428      *
7429      * @param resource $dir_handle
7430      * @return string
7431      * @since PHP 4, PHP 5, PHP 7
7432      **/
7433     public function read($dir_handle){}
7434 
7435     /**
7436      * Rewind directory handle
7437      *
7438      * Same as {@link rewinddir}, only dir_handle defaults to $this->handle.
7439      *
7440      * @param resource $dir_handle
7441      * @return void
7442      * @since PHP 4, PHP 5, PHP 7
7443      **/
7444     public function rewind($dir_handle){}
7445 
7446 }
7447 /**
7448  * The DirectoryIterator class provides a simple interface for viewing
7449  * the contents of filesystem directories. 5.1.2 DirectoryIterator
7450  * extends SplFileInfo.
7451  **/
7452 class DirectoryIterator extends SplFileInfo implements SeekableIterator {
7453     /**
7454      * Return the current DirectoryIterator item
7455      *
7456      * Get the current DirectoryIterator item.
7457      *
7458      * @return DirectoryIterator The current DirectoryIterator item.
7459      * @since PHP 5, PHP 7
7460      **/
7461     public function current(){}
7462 
7463     /**
7464      * Get last access time of the current DirectoryIterator item
7465      *
7466      * Get the last access time of the current DirectoryIterator item.
7467      *
7468      * @return int Returns the time the file was last accessed, as a Unix
7469      *   timestamp.
7470      * @since PHP 5, PHP 7
7471      **/
7472     public function getATime(){}
7473 
7474     /**
7475      * Get base name of current DirectoryIterator item
7476      *
7477      * Get the base name of the current DirectoryIterator item.
7478      *
7479      * @param string $suffix If the base name ends in {@link suffix}, this
7480      *   will be cut.
7481      * @return string The base name of the current DirectoryIterator item.
7482      * @since PHP 5 >= 5.2.2, PHP 7
7483      **/
7484     public function getBasename($suffix){}
7485 
7486     /**
7487      * Get inode change time of the current DirectoryIterator item
7488      *
7489      * Get the inode change time for the current DirectoryIterator item.
7490      *
7491      * @return int Returns the last change time of the file, as a Unix
7492      *   timestamp.
7493      * @since PHP 5, PHP 7
7494      **/
7495     public function getCTime(){}
7496 
7497     /**
7498      * Gets the file extension
7499      *
7500      * Retrieves the file extension.
7501      *
7502      * @return string Returns a string containing the file extension, or an
7503      *   empty string if the file has no extension.
7504      * @since PHP 5 >= 5.3.6, PHP 7
7505      **/
7506     public function getExtension(){}
7507 
7508     /**
7509      * Return file name of current DirectoryIterator item
7510      *
7511      * Get the file name of the current DirectoryIterator item.
7512      *
7513      * @return string Returns the file name of the current
7514      *   DirectoryIterator item.
7515      * @since PHP 5, PHP 7
7516      **/
7517     public function getFilename(){}
7518 
7519     /**
7520      * Get group for the current DirectoryIterator item
7521      *
7522      * Get the group id of the file.
7523      *
7524      * @return int Returns the group id of the current DirectoryIterator
7525      *   item in numerical format.
7526      * @since PHP 5, PHP 7
7527      **/
7528     public function getGroup(){}
7529 
7530     /**
7531      * Get inode for the current DirectoryIterator item
7532      *
7533      * Get the inode number for the current DirectoryIterator item.
7534      *
7535      * @return int Returns the inode number for the file.
7536      * @since PHP 5, PHP 7
7537      **/
7538     public function getInode(){}
7539 
7540     /**
7541      * Get last modification time of current DirectoryIterator item
7542      *
7543      * Get the last modification time of the current DirectoryIterator item,
7544      * as a Unix timestamp.
7545      *
7546      * @return int The last modification time of the file, as a Unix
7547      *   timestamp.
7548      * @since PHP 5, PHP 7
7549      **/
7550     public function getMTime(){}
7551 
7552     /**
7553      * Get owner of current DirectoryIterator item
7554      *
7555      * Get the owner of the current DirectoryIterator item, in numerical
7556      * format.
7557      *
7558      * @return int The file owner of the file, in numerical format.
7559      * @since PHP 5, PHP 7
7560      **/
7561     public function getOwner(){}
7562 
7563     /**
7564      * Get path of current Iterator item without filename
7565      *
7566      * Get the path to the current DirectoryIterator item.
7567      *
7568      * @return string Returns the path to the file, omitting the file name
7569      *   and any trailing slash.
7570      * @since PHP 5, PHP 7
7571      **/
7572     public function getPath(){}
7573 
7574     /**
7575      * Return path and file name of current DirectoryIterator item
7576      *
7577      * Get the path and file name of the current file.
7578      *
7579      * @return string Returns the path and file name of current file.
7580      *   Directories do not have a trailing slash.
7581      * @since PHP 5, PHP 7
7582      **/
7583     public function getPathname(){}
7584 
7585     /**
7586      * Get the permissions of current DirectoryIterator item
7587      *
7588      * Get the permissions of the current DirectoryIterator item.
7589      *
7590      * @return int Returns the permissions of the file, as a decimal
7591      *   integer.
7592      * @since PHP 5, PHP 7
7593      **/
7594     public function getPerms(){}
7595 
7596     /**
7597      * Get size of current DirectoryIterator item
7598      *
7599      * Get the file size for the current DirectoryIterator item.
7600      *
7601      * @return int Returns the size of the file, in bytes.
7602      * @since PHP 5, PHP 7
7603      **/
7604     public function getSize(){}
7605 
7606     /**
7607      * Determine the type of the current DirectoryIterator item
7608      *
7609      * Determines which file type the current DirectoryIterator item belongs
7610      * to. One of file, link, or dir.
7611      *
7612      * @return string Returns a string representing the type of the file.
7613      *   May be one of file, link, or dir.
7614      * @since PHP 5, PHP 7
7615      **/
7616     public function getType(){}
7617 
7618     /**
7619      * Determine if current DirectoryIterator item is a directory
7620      *
7621      * Determines if the current DirectoryIterator item is a directory.
7622      *
7623      * @return bool Returns TRUE if it is a directory, otherwise FALSE
7624      * @since PHP 5, PHP 7
7625      **/
7626     public function isDir(){}
7627 
7628     /**
7629      * Determine if current DirectoryIterator item is '.' or '..'
7630      *
7631      * Determines if the current DirectoryIterator item is a directory and
7632      * either . or ..
7633      *
7634      * @return bool TRUE if the entry is . or .., otherwise FALSE
7635      * @since PHP 5, PHP 7
7636      **/
7637     public function isDot(){}
7638 
7639     /**
7640      * Determine if current DirectoryIterator item is executable
7641      *
7642      * Determines if the current DirectoryIterator item is executable.
7643      *
7644      * @return bool Returns TRUE if the entry is executable, otherwise
7645      *   FALSE
7646      * @since PHP 5, PHP 7
7647      **/
7648     public function isExecutable(){}
7649 
7650     /**
7651      * Determine if current DirectoryIterator item is a regular file
7652      *
7653      * Determines if the current DirectoryIterator item is a regular file.
7654      *
7655      * @return bool Returns TRUE if the file exists and is a regular file
7656      *   (not a link or dir), otherwise FALSE
7657      * @since PHP 5, PHP 7
7658      **/
7659     public function isFile(){}
7660 
7661     /**
7662      * Determine if current DirectoryIterator item is a symbolic link
7663      *
7664      * Determines if the current DirectoryIterator item is a symbolic link.
7665      *
7666      * @return bool Returns TRUE if the item is a symbolic link, otherwise
7667      *   FALSE
7668      * @since PHP 5, PHP 7
7669      **/
7670     public function isLink(){}
7671 
7672     /**
7673      * Determine if current DirectoryIterator item can be read
7674      *
7675      * Determines if the current DirectoryIterator item is readable.
7676      *
7677      * @return bool Returns TRUE if the file is readable, otherwise FALSE
7678      * @since PHP 5, PHP 7
7679      **/
7680     public function isReadable(){}
7681 
7682     /**
7683      * Determine if current DirectoryIterator item can be written to
7684      *
7685      * Determines if the current DirectoryIterator item is writable.
7686      *
7687      * @return bool Returns TRUE if the file/directory is writable,
7688      *   otherwise FALSE
7689      * @since PHP 5, PHP 7
7690      **/
7691     public function isWritable(){}
7692 
7693     /**
7694      * Return the key for the current DirectoryIterator item
7695      *
7696      * Get the key for the current DirectoryIterator item.
7697      *
7698      * @return string The key for the current DirectoryIterator item.
7699      * @since PHP 5, PHP 7
7700      **/
7701     public function key(){}
7702 
7703     /**
7704      * Move forward to next DirectoryIterator item
7705      *
7706      * Move forward to the next DirectoryIterator item.
7707      *
7708      * @return void
7709      * @since PHP 5, PHP 7
7710      **/
7711     public function next(){}
7712 
7713     /**
7714      * Rewind the DirectoryIterator back to the start
7715      *
7716      * Rewind the DirectoryIterator back to the start.
7717      *
7718      * @return void
7719      * @since PHP 5, PHP 7
7720      **/
7721     public function rewind(){}
7722 
7723     /**
7724      * Seek to a DirectoryIterator item
7725      *
7726      * Seek to a given position in the DirectoryIterator.
7727      *
7728      * @param int $position The zero-based numeric position to seek to.
7729      * @return void
7730      * @since PHP 5 >= 5.3.0, PHP 7
7731      **/
7732     public function seek($position){}
7733 
7734     /**
7735      * Check whether current DirectoryIterator position is a valid file
7736      *
7737      * Check whether current DirectoryIterator position is a valid file.
7738      *
7739      * @return bool Returns TRUE if the position is valid, otherwise FALSE
7740      * @since PHP 5, PHP 7
7741      **/
7742     public function valid(){}
7743 
7744     /**
7745      * Get file name as a string
7746      *
7747      * Get the file name of the current DirectoryIterator item.
7748      *
7749      * @return string Returns the file name of the current
7750      *   DirectoryIterator item.
7751      * @since PHP 5, PHP 7
7752      **/
7753     public function __toString(){}
7754 
7755 }
7756 /**
7757  * DivisionByZeroError is thrown when an attempt is made to divide a
7758  * number by zero.
7759  **/
7760 class DivisionByZeroError extends ArithmeticError {
7761 }
7762 /**
7763  * Exception thrown if a value does not adhere to a defined valid data
7764  * domain.
7765  **/
7766 class DomainException extends LogicException {
7767 }
7768 /**
7769  * DOMAttr represents an attribute in the DOMElement object.
7770  **/
7771 class DomAttr extends DOMNode {
7772     /**
7773      * The name of the attribute
7774      *
7775      * @var string
7776      **/
7777     public $name;
7778 
7779     /**
7780      * @var DOMElement
7781      **/
7782     public $ownerElement;
7783 
7784     /**
7785      * @var bool
7786      **/
7787     public $schemaTypeInfo;
7788 
7789     /**
7790      * Not implemented yet, always is NULL
7791      *
7792      * @var bool
7793      **/
7794     public $specified;
7795 
7796     /**
7797      * The value of the attribute
7798      *
7799      * @var string
7800      **/
7801     public $value;
7802 
7803     /**
7804      * Checks if attribute is a defined ID
7805      *
7806      * This function checks if the attribute is a defined ID.
7807      *
7808      * According to the DOM standard this requires a DTD which defines the
7809      * attribute ID to be of type ID. You need to validate your document with
7810      * or DOMDocument::validateOnParse before using this function.
7811      *
7812      * @return bool
7813      * @since PHP 5, PHP 7
7814      **/
7815     public function isId(){}
7816 
7817     /**
7818      * Creates a new object
7819      *
7820      * Creates a new DOMAttr object. This object is read only. It may be
7821      * appended to a document, but additional nodes may not be appended to
7822      * this node until the node is associated with a document. To create a
7823      * writable node, use .
7824      *
7825      * @param string $name The tag name of the attribute.
7826      * @param string $value The value of the attribute.
7827      * @since PHP 5, PHP 7
7828      **/
7829     public function __construct($name, $value){}
7830 
7831 }
7832 /**
7833  * The DOMCdataSection inherits from DOMText for textural representation
7834  * of CData constructs.
7835  **/
7836 class DOMCdataSection extends DOMText {
7837 }
7838 /**
7839  * Represents nodes with character data. No nodes directly correspond to
7840  * this class, but other nodes do inherit from it.
7841  **/
7842 class DomCharacterData extends DOMNode {
7843     /**
7844      * The contents of the node.
7845      *
7846      * @var string
7847      **/
7848     public $data;
7849 
7850     /**
7851      * The length of the contents.
7852      *
7853      * @var int
7854      **/
7855     public $length;
7856 
7857     /**
7858      * Append the string to the end of the character data of the node
7859      *
7860      * Append the string {@link data} to the end of the character data of the
7861      * node.
7862      *
7863      * @param string $data The string to append.
7864      * @return void
7865      * @since PHP 5, PHP 7
7866      **/
7867     public function appendData($data){}
7868 
7869     /**
7870      * Remove a range of characters from the node
7871      *
7872      * Deletes {@link count} characters starting from position {@link
7873      * offset}.
7874      *
7875      * @param int $offset The offset from which to start removing.
7876      * @param int $count The number of characters to delete. If the sum of
7877      *   {@link offset} and {@link count} exceeds the length, then all
7878      *   characters to the end of the data are deleted.
7879      * @return void
7880      * @since PHP 5, PHP 7
7881      **/
7882     public function deleteData($offset, $count){}
7883 
7884     /**
7885      * Insert a string at the specified 16-bit unit offset
7886      *
7887      * Inserts string {@link data} at position {@link offset}.
7888      *
7889      * @param int $offset The character offset at which to insert.
7890      * @param string $data The string to insert.
7891      * @return void
7892      * @since PHP 5, PHP 7
7893      **/
7894     public function insertData($offset, $data){}
7895 
7896     /**
7897      * Replace a substring within the DOMCharacterData node
7898      *
7899      * Replace {@link count} characters starting from position {@link offset}
7900      * with {@link data}.
7901      *
7902      * @param int $offset The offset from which to start replacing.
7903      * @param int $count The number of characters to replace. If the sum of
7904      *   {@link offset} and {@link count} exceeds the length, then all
7905      *   characters to the end of the data are replaced.
7906      * @param string $data The string with which the range must be
7907      *   replaced.
7908      * @return void
7909      * @since PHP 5, PHP 7
7910      **/
7911     public function replaceData($offset, $count, $data){}
7912 
7913     /**
7914      * Extracts a range of data from the node
7915      *
7916      * Returns the specified substring.
7917      *
7918      * @param int $offset Start offset of substring to extract.
7919      * @param int $count The number of characters to extract.
7920      * @return string The specified substring. If the sum of {@link offset}
7921      *   and {@link count} exceeds the length, then all 16-bit units to the
7922      *   end of the data are returned.
7923      * @since PHP 5, PHP 7
7924      **/
7925     public function substringData($offset, $count){}
7926 
7927 }
7928 /**
7929  * Represents comment nodes, characters delimited by .
7930  **/
7931 class DomComment extends DOMCharacterData {
7932     /**
7933      * Creates a new DOMComment object
7934      *
7935      * Creates a new DOMComment object. This object is read only. It may be
7936      * appended to a document, but additional nodes may not be appended to
7937      * this node until the node is associated with a document. To create a
7938      * writeable node, use .
7939      *
7940      * @param string $value The value of the comment.
7941      * @since PHP 5, PHP 7
7942      **/
7943     public function __construct($value){}
7944 
7945 }
7946 /**
7947  * Represents an entire HTML or XML document; serves as the root of the
7948  * document tree.
7949  **/
7950 class DomDocument extends DOMNode {
7951     /**
7952      * @var string
7953      **/
7954     public $actualEncoding;
7955 
7956     /**
7957      * Deprecated. Configuration used when {@link
7958      * DOMDocument::normalizeDocument} is invoked.
7959      *
7960      * @var DOMConfiguration
7961      **/
7962     public $config;
7963 
7964     /**
7965      * The Document Type Declaration associated with this document.
7966      *
7967      * @var DOMDocumentType
7968      **/
7969     public $doctype;
7970 
7971     /**
7972      * @var DOMElement
7973      **/
7974     public $documentElement;
7975 
7976     /**
7977      * @var string
7978      **/
7979     public $documentURI;
7980 
7981     /**
7982      * Encoding of the document, as specified by the XML declaration. This
7983      * attribute is not present in the final DOM Level 3 specification, but
7984      * is the only way of manipulating XML document encoding in this
7985      * implementation.
7986      *
7987      * @var string
7988      **/
7989     public $encoding;
7990 
7991     /**
7992      * @var bool
7993      **/
7994     public $formatOutput;
7995 
7996     /**
7997      * The DOMImplementation object that handles this document.
7998      *
7999      * @var DOMImplementation
8000      **/
8001     public $implementation;
8002 
8003     /**
8004      * @var bool
8005      **/
8006     public $preserveWhiteSpace;
8007 
8008     /**
8009      * Proprietary. Enables recovery mode, i.e. trying to parse non-well
8010      * formed documents. This attribute is not part of the DOM specification
8011      * and is specific to libxml.
8012      *
8013      * @var bool
8014      **/
8015     public $recover;
8016 
8017     /**
8018      * @var bool
8019      **/
8020     public $resolveExternals;
8021 
8022     /**
8023      * Deprecated. Whether or not the document is standalone, as specified by
8024      * the XML declaration, corresponds to xmlStandalone.
8025      *
8026      * @var bool
8027      **/
8028     public $standalone;
8029 
8030     /**
8031      * @var bool
8032      **/
8033     public $strictErrorChecking;
8034 
8035     /**
8036      * @var bool
8037      **/
8038     public $substituteEntities;
8039 
8040     /**
8041      * @var bool
8042      **/
8043     public $validateOnParse;
8044 
8045     /**
8046      * Deprecated. Version of XML, corresponds to xmlVersion.
8047      *
8048      * @var string
8049      **/
8050     public $version;
8051 
8052     /**
8053      * @var string
8054      **/
8055     public $xmlEncoding;
8056 
8057     /**
8058      * @var bool
8059      **/
8060     public $xmlStandalone;
8061 
8062     /**
8063      * @var string
8064      **/
8065     public $xmlVersion;
8066 
8067     /**
8068      * Create new attribute
8069      *
8070      * This function creates a new instance of class DOMAttr.
8071      *
8072      * @param string $name The name of the attribute.
8073      * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
8074      * @since PHP 5, PHP 7
8075      **/
8076     public function createAttribute($name){}
8077 
8078     /**
8079      * Create new attribute node with an associated namespace
8080      *
8081      * This function creates a new instance of class DOMAttr.
8082      *
8083      * @param string $namespaceURI The URI of the namespace.
8084      * @param string $qualifiedName The tag name and prefix of the
8085      *   attribute, as prefix:tagname.
8086      * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
8087      * @since PHP 5, PHP 7
8088      **/
8089     public function createAttributeNS($namespaceURI, $qualifiedName){}
8090 
8091     /**
8092      * Create new cdata node
8093      *
8094      * This function creates a new instance of class DOMCDATASection.
8095      *
8096      * @param string $data The content of the cdata.
8097      * @return DOMCDATASection The new DOMCDATASection or FALSE if an error
8098      *   occurred.
8099      * @since PHP 5, PHP 7
8100      **/
8101     public function createCDATASection($data){}
8102 
8103     /**
8104      * Create new comment node
8105      *
8106      * This function creates a new instance of class DOMComment.
8107      *
8108      * @param string $data The content of the comment.
8109      * @return DOMComment The new DOMComment or FALSE if an error occurred.
8110      * @since PHP 5, PHP 7
8111      **/
8112     public function createComment($data){}
8113 
8114     /**
8115      * Create new document fragment
8116      *
8117      * This function creates a new instance of class DOMDocumentFragment.
8118      *
8119      * @return DOMDocumentFragment The new DOMDocumentFragment or FALSE if
8120      *   an error occurred.
8121      * @since PHP 5, PHP 7
8122      **/
8123     public function createDocumentFragment(){}
8124 
8125     /**
8126      * Create new element node
8127      *
8128      * This function creates a new instance of class DOMElement.
8129      *
8130      * @param string $name The tag name of the element.
8131      * @param string $value The value of the element. By default, an empty
8132      *   element will be created. The value can also be set later with
8133      *   DOMElement::$nodeValue. The value is used verbatim except that the <
8134      *   and > entity references will escaped. Note that & has to be manually
8135      *   escaped; otherwise it is regarded as starting an entity reference.
8136      *   Also " won't be escaped.
8137      * @return DOMElement Returns a new instance of class DOMElement or
8138      *   FALSE if an error occurred.
8139      * @since PHP 5, PHP 7
8140      **/
8141     public function createElement($name, $value){}
8142 
8143     /**
8144      * Create new element node with an associated namespace
8145      *
8146      * This function creates a new element node with an associated namespace.
8147      *
8148      * @param string $namespaceURI The URI of the namespace.
8149      * @param string $qualifiedName The qualified name of the element, as
8150      *   prefix:tagname.
8151      * @param string $value The value of the element. By default, an empty
8152      *   element will be created. You can also set the value later with
8153      *   DOMElement::$nodeValue.
8154      * @return DOMElement The new DOMElement or FALSE if an error occurred.
8155      * @since PHP 5, PHP 7
8156      **/
8157     public function createElementNS($namespaceURI, $qualifiedName, $value){}
8158 
8159     /**
8160      * Create new entity reference node
8161      *
8162      * This function creates a new instance of class DOMEntityReference.
8163      *
8164      * @param string $name The content of the entity reference, e.g. the
8165      *   entity reference minus the leading & and the trailing ; characters.
8166      * @return DOMEntityReference The new DOMEntityReference or FALSE if an
8167      *   error occurred.
8168      * @since PHP 5, PHP 7
8169      **/
8170     public function createEntityReference($name){}
8171 
8172     /**
8173      * Creates new PI node
8174      *
8175      * This function creates a new instance of class
8176      * DOMProcessingInstruction.
8177      *
8178      * @param string $target The target of the processing instruction.
8179      * @param string $data The content of the processing instruction.
8180      * @return DOMProcessingInstruction The new DOMProcessingInstruction or
8181      *   FALSE if an error occurred.
8182      * @since PHP 5, PHP 7
8183      **/
8184     public function createProcessingInstruction($target, $data){}
8185 
8186     /**
8187      * Create new text node
8188      *
8189      * This function creates a new instance of class DOMText.
8190      *
8191      * @param string $content The content of the text.
8192      * @return DOMText The new DOMText or FALSE if an error occurred.
8193      * @since PHP 5, PHP 7
8194      **/
8195     public function createTextNode($content){}
8196 
8197     /**
8198      * Searches for an element with a certain id
8199      *
8200      * This function is similar to but searches for an element with a given
8201      * id.
8202      *
8203      * For this function to work, you will need either to set some ID
8204      * attributes with or a DTD which defines an attribute to be of type ID.
8205      * In the later case, you will need to validate your document with or
8206      * DOMDocument::$validateOnParse before using this function.
8207      *
8208      * @param string $elementId The unique id value for an element.
8209      * @return DOMElement Returns the DOMElement or NULL if the element is
8210      *   not found.
8211      * @since PHP 5, PHP 7
8212      **/
8213     public function getElementById($elementId){}
8214 
8215     /**
8216      * Searches for all elements with given local tag name
8217      *
8218      * This function returns a new instance of class DOMNodeList containing
8219      * all the elements with a given local tag name.
8220      *
8221      * @param string $name The local name (without namespace) of the tag to
8222      *   match on. The special value * matches all tags.
8223      * @return DOMNodeList A new DOMNodeList object containing all the
8224      *   matched elements.
8225      * @since PHP 5, PHP 7
8226      **/
8227     public function getElementsByTagName($name){}
8228 
8229     /**
8230      * Searches for all elements with given tag name in specified namespace
8231      *
8232      * Returns a DOMNodeList of all elements with a given local name and a
8233      * namespace URI.
8234      *
8235      * @param string $namespaceURI The namespace URI of the elements to
8236      *   match on. The special value * matches all namespaces.
8237      * @param string $localName The local name of the elements to match on.
8238      *   The special value * matches all local names.
8239      * @return DOMNodeList A new DOMNodeList object containing all the
8240      *   matched elements.
8241      * @since PHP 5, PHP 7
8242      **/
8243     public function getElementsByTagNameNS($namespaceURI, $localName){}
8244 
8245     /**
8246      * Import node into current document
8247      *
8248      * This function returns a copy of the node to import and associates it
8249      * with the current document.
8250      *
8251      * @param DOMNode $importedNode The node to import.
8252      * @param bool $deep If set to TRUE, this method will recursively
8253      *   import the subtree under the {@link importedNode}.
8254      * @return DOMNode The copied node or FALSE, if it cannot be copied.
8255      * @since PHP 5, PHP 7
8256      **/
8257     public function importNode($importedNode, $deep){}
8258 
8259     /**
8260      * Load XML from a file
8261      *
8262      * Loads an XML document from a file.
8263      *
8264      * @param string $filename The path to the XML document.
8265      * @param int $options Bitwise OR of the libxml option constants.
8266      * @return mixed If called statically, returns a DOMDocument.
8267      * @since PHP 5, PHP 7
8268      **/
8269     public function load($filename, $options){}
8270 
8271     /**
8272      * Load HTML from a string
8273      *
8274      * The function parses the HTML contained in the string {@link source}.
8275      * Unlike loading XML, HTML does not have to be well-formed to load. This
8276      * function may also be called statically to load and create a
8277      * DOMDocument object. The static invocation may be used when no
8278      * DOMDocument properties need to be set prior to loading.
8279      *
8280      * @param string $source The HTML string.
8281      * @param int $options Since PHP 5.4.0 and Libxml 2.6.0, you may also
8282      *   use the {@link options} parameter to specify additional Libxml
8283      *   parameters.
8284      * @return bool If called statically, returns a DOMDocument.
8285      * @since PHP 5, PHP 7
8286      **/
8287     public function loadHTML($source, $options){}
8288 
8289     /**
8290      * Load HTML from a file
8291      *
8292      * The function parses the HTML document in the file named {@link
8293      * filename}. Unlike loading XML, HTML does not have to be well-formed to
8294      * load.
8295      *
8296      * @param string $filename The path to the HTML file.
8297      * @param int $options Since PHP 5.4.0 and Libxml 2.6.0, you may also
8298      *   use the {@link options} parameter to specify additional Libxml
8299      *   parameters.
8300      * @return bool If called statically, returns a DOMDocument.
8301      * @since PHP 5, PHP 7
8302      **/
8303     public function loadHTMLFile($filename, $options){}
8304 
8305     /**
8306      * Load XML from a string
8307      *
8308      * Loads an XML document from a string.
8309      *
8310      * @param string $source The string containing the XML.
8311      * @param int $options Bitwise OR of the libxml option constants.
8312      * @return mixed If called statically, returns a DOMDocument.
8313      * @since PHP 5, PHP 7
8314      **/
8315     public function loadXML($source, $options){}
8316 
8317     /**
8318      * Normalizes the document
8319      *
8320      * This method acts as if you saved and then loaded the document, putting
8321      * the document in a "normal" form.
8322      *
8323      * @return void
8324      * @since PHP 5, PHP 7
8325      **/
8326     public function normalizeDocument(){}
8327 
8328     /**
8329      * Register extended class used to create base node type
8330      *
8331      * This method allows you to register your own extended DOM class to be
8332      * used afterward by the PHP DOM extension.
8333      *
8334      * This method is not part of the DOM standard.
8335      *
8336      * @param string $baseclass The DOM class that you want to extend. You
8337      *   can find a list of these classes in the chapter introduction.
8338      * @param string $extendedclass Your extended class name. If NULL is
8339      *   provided, any previously registered class extending {@link
8340      *   baseclass} will be removed.
8341      * @return bool
8342      * @since PHP 5 >= 5.2.0, PHP 7
8343      **/
8344     public function registerNodeClass($baseclass, $extendedclass){}
8345 
8346     /**
8347      * Performs relaxNG validation on the document
8348      *
8349      * Performs relaxNG validation on the document based on the given RNG
8350      * schema.
8351      *
8352      * @param string $filename The RNG file.
8353      * @return bool
8354      * @since PHP 5, PHP 7
8355      **/
8356     public function relaxNGValidate($filename){}
8357 
8358     /**
8359      * Performs relaxNG validation on the document
8360      *
8361      * Performs relaxNG validation on the document based on the given RNG
8362      * source.
8363      *
8364      * @param string $source A string containing the RNG schema.
8365      * @return bool
8366      * @since PHP 5, PHP 7
8367      **/
8368     public function relaxNGValidateSource($source){}
8369 
8370     /**
8371      * Dumps the internal XML tree back into a file
8372      *
8373      * Creates an XML document from the DOM representation. This function is
8374      * usually called after building a new dom document from scratch as in
8375      * the example below.
8376      *
8377      * @param string $filename The path to the saved XML document.
8378      * @param int $options Additional Options. Currently only
8379      *   LIBXML_NOEMPTYTAG is supported.
8380      * @return int Returns the number of bytes written or FALSE if an error
8381      *   occurred.
8382      * @since PHP 5, PHP 7
8383      **/
8384     public function save($filename, $options){}
8385 
8386     /**
8387      * Dumps the internal document into a string using HTML formatting
8388      *
8389      * Creates an HTML document from the DOM representation. This function is
8390      * usually called after building a new dom document from scratch as in
8391      * the example below.
8392      *
8393      * @param DOMNode $node Optional parameter to output a subset of the
8394      *   document.
8395      * @return string Returns the HTML, or FALSE if an error occurred.
8396      * @since PHP 5, PHP 7
8397      **/
8398     public function saveHTML($node){}
8399 
8400     /**
8401      * Dumps the internal document into a file using HTML formatting
8402      *
8403      * Creates an HTML document from the DOM representation. This function is
8404      * usually called after building a new dom document from scratch as in
8405      * the example below.
8406      *
8407      * @param string $filename The path to the saved HTML document.
8408      * @return int Returns the number of bytes written or FALSE if an error
8409      *   occurred.
8410      * @since PHP 5, PHP 7
8411      **/
8412     public function saveHTMLFile($filename){}
8413 
8414     /**
8415      * Dumps the internal XML tree back into a string
8416      *
8417      * Creates an XML document from the DOM representation. This function is
8418      * usually called after building a new dom document from scratch as in
8419      * the example below.
8420      *
8421      * @param DOMNode $node Use this parameter to output only a specific
8422      *   node without XML declaration rather than the entire document.
8423      * @param int $options Additional Options. Currently only
8424      *   LIBXML_NOEMPTYTAG is supported.
8425      * @return string Returns the XML, or FALSE if an error occurred.
8426      * @since PHP 5, PHP 7
8427      **/
8428     public function saveXML($node, $options){}
8429 
8430     /**
8431      * Validates a document based on a schema
8432      *
8433      * Validates a document based on the given schema file.
8434      *
8435      * @param string $filename The path to the schema.
8436      * @param int $flags A bitmask of Libxml schema validation flags.
8437      *   Currently the only supported value is LIBXML_SCHEMA_CREATE.
8438      *   Available since PHP 5.5.2 and Libxml 2.6.14.
8439      * @return bool
8440      * @since PHP 5, PHP 7
8441      **/
8442     public function schemaValidate($filename, $flags){}
8443 
8444     /**
8445      * Validates a document based on a schema
8446      *
8447      * Validates a document based on a schema defined in the given string.
8448      *
8449      * @param string $source A string containing the schema.
8450      * @param int $flags A bitmask of Libxml schema validation flags.
8451      *   Currently the only supported value is LIBXML_SCHEMA_CREATE.
8452      *   Available since PHP 5.5.2 and Libxml 2.6.14.
8453      * @return bool
8454      * @since PHP 5, PHP 7
8455      **/
8456     public function schemaValidateSource($source, $flags){}
8457 
8458     /**
8459      * Validates the document based on its DTD
8460      *
8461      * Validates the document based on its DTD.
8462      *
8463      * You can also use the validateOnParse property of DOMDocument to make a
8464      * DTD validation.
8465      *
8466      * @return bool If the document has no DTD attached, this method will
8467      *   return FALSE.
8468      * @since PHP 5, PHP 7
8469      **/
8470     public function validate(){}
8471 
8472     /**
8473      * Substitutes XIncludes in a DOMDocument Object
8474      *
8475      * This method substitutes XIncludes in a DOMDocument object.
8476      *
8477      * @param int $options libxml parameters. Available since PHP 5.1.0 and
8478      *   Libxml 2.6.7.
8479      * @return int Returns the number of XIncludes in the document, -1 if
8480      *   some processing failed, or FALSE if there were no substitutions.
8481      * @since PHP 5, PHP 7
8482      **/
8483     public function xinclude($options){}
8484 
8485     /**
8486      * Creates a new DOMDocument object
8487      *
8488      * Creates a new DOMDocument object.
8489      *
8490      * @param string $version The version number of the document as part of
8491      *   the XML declaration.
8492      * @param string $encoding The encoding of the document as part of the
8493      *   XML declaration.
8494      * @since PHP 5, PHP 7
8495      **/
8496     public function __construct($version, $encoding){}
8497 
8498 }
8499 class DOMDocumentFragment extends DOMNode {
8500     /**
8501      * Append raw XML data
8502      *
8503      * Appends raw XML data to a DOMDocumentFragment.
8504      *
8505      * This method is not part of the DOM standard. It was created as a
8506      * simpler approach for appending an XML DocumentFragment in a
8507      * DOMDocument.
8508      *
8509      * If you want to stick to the standards, you will have to create a
8510      * temporary DOMDocument with a dummy root and then loop through the
8511      * child nodes of the root of your XML data to append them.
8512      *
8513      * @param string $data XML to append.
8514      * @return bool
8515      * @since PHP 5 >= 5.1.0, PHP 7
8516      **/
8517     public function appendXML($data){}
8518 
8519 }
8520 /**
8521  * Each DOMDocument has a doctype attribute whose value is either NULL or
8522  * a DOMDocumentType object.
8523  **/
8524 class DOMDocumentType extends DOMNode {
8525     /**
8526      * A DOMNamedNodeMap containing the general entities, both external and
8527      * internal, declared in the DTD.
8528      *
8529      * @var DOMNamedNodeMap
8530      **/
8531     public $entities;
8532 
8533     /**
8534      * @var string
8535      **/
8536     public $internalSubset;
8537 
8538     /**
8539      * The name of DTD; i.e., the name immediately following the DOCTYPE
8540      * keyword.
8541      *
8542      * @var string
8543      **/
8544     public $name;
8545 
8546     /**
8547      * A DOMNamedNodeMap containing the notations declared in the DTD.
8548      *
8549      * @var DOMNamedNodeMap
8550      **/
8551     public $notations;
8552 
8553     /**
8554      * @var string
8555      **/
8556     public $publicId;
8557 
8558     /**
8559      * @var string
8560      **/
8561     public $systemId;
8562 
8563 }
8564 class DomElement extends DOMNode {
8565     /**
8566      * Returns value of attribute
8567      *
8568      * Gets the value of the attribute with name {@link name} for the current
8569      * node.
8570      *
8571      * @param string $name The name of the attribute.
8572      * @return string The value of the attribute, or an empty string if no
8573      *   attribute with the given {@link name} is found.
8574      * @since PHP 5, PHP 7
8575      **/
8576     public function getAttribute($name){}
8577 
8578     /**
8579      * Returns attribute node
8580      *
8581      * Returns the attribute node with name {@link name} for the current
8582      * element.
8583      *
8584      * @param string $name The name of the attribute.
8585      * @return DOMAttr The attribute node. Note that for XML namespace
8586      *   declarations (xmlns and xmlns:* attributes) an instance of
8587      *   DOMNameSpaceNode is returned instead of a DOMAttr.
8588      * @since PHP 5, PHP 7
8589      **/
8590     public function getAttributeNode($name){}
8591 
8592     /**
8593      * Returns attribute node
8594      *
8595      * Returns the attribute node in namespace {@link namespaceURI} with
8596      * local name {@link localName} for the current node.
8597      *
8598      * @param string $namespaceURI The namespace URI.
8599      * @param string $localName The local name.
8600      * @return DOMAttr The attribute node. Note that for XML namespace
8601      *   declarations (xmlns and xmlns:* attributes) an instance of
8602      *   DOMNameSpaceNode is returned instead of a DOMAttr object.
8603      * @since PHP 5, PHP 7
8604      **/
8605     public function getAttributeNodeNS($namespaceURI, $localName){}
8606 
8607     /**
8608      * Returns value of attribute
8609      *
8610      * Gets the value of the attribute in namespace {@link namespaceURI} with
8611      * local name {@link localName} for the current node.
8612      *
8613      * @param string $namespaceURI The namespace URI.
8614      * @param string $localName The local name.
8615      * @return string The value of the attribute, or an empty string if no
8616      *   attribute with the given {@link localName} and {@link namespaceURI}
8617      *   is found.
8618      * @since PHP 5, PHP 7
8619      **/
8620     public function getAttributeNS($namespaceURI, $localName){}
8621 
8622     /**
8623      * Gets elements by tagname
8624      *
8625      * This function returns a new instance of the class DOMNodeList of all
8626      * descendant elements with a given tag {@link name}, in the order in
8627      * which they are encountered in a preorder traversal of this element
8628      * tree.
8629      *
8630      * @param string $name The tag name. Use * to return all elements
8631      *   within the element tree.
8632      * @return DOMNodeList This function returns a new instance of the
8633      *   class DOMNodeList of all matched elements.
8634      * @since PHP 5, PHP 7
8635      **/
8636     public function getElementsByTagName($name){}
8637 
8638     /**
8639      * Get elements by namespaceURI and localName
8640      *
8641      * This function fetch all the descendant elements with a given {@link
8642      * localName} and {@link namespaceURI}.
8643      *
8644      * @param string $namespaceURI The namespace URI.
8645      * @param string $localName The local name. Use * to return all
8646      *   elements within the element tree.
8647      * @return DOMNodeList This function returns a new instance of the
8648      *   class DOMNodeList of all matched elements in the order in which they
8649      *   are encountered in a preorder traversal of this element tree.
8650      * @since PHP 5, PHP 7
8651      **/
8652     public function getElementsByTagNameNS($namespaceURI, $localName){}
8653 
8654     /**
8655      * Checks to see if attribute exists
8656      *
8657      * Indicates whether attribute named {@link name} exists as a member of
8658      * the element.
8659      *
8660      * @param string $name The attribute name.
8661      * @return bool
8662      * @since PHP 5, PHP 7
8663      **/
8664     public function hasAttribute($name){}
8665 
8666     /**
8667      * Checks to see if attribute exists
8668      *
8669      * Indicates whether attribute in namespace {@link namespaceURI} named
8670      * {@link localName} exists as a member of the element.
8671      *
8672      * @param string $namespaceURI The namespace URI.
8673      * @param string $localName The local name.
8674      * @return bool
8675      * @since PHP 5, PHP 7
8676      **/
8677     public function hasAttributeNS($namespaceURI, $localName){}
8678 
8679     /**
8680      * Removes attribute
8681      *
8682      * Removes attribute named {@link name} from the element.
8683      *
8684      * @param string $name The name of the attribute.
8685      * @return bool
8686      * @since PHP 5, PHP 7
8687      **/
8688     public function removeAttribute($name){}
8689 
8690     /**
8691      * Removes attribute
8692      *
8693      * Removes attribute {@link oldnode} from the element.
8694      *
8695      * @param DOMAttr $oldnode The attribute node.
8696      * @return bool
8697      * @since PHP 5, PHP 7
8698      **/
8699     public function removeAttributeNode($oldnode){}
8700 
8701     /**
8702      * Removes attribute
8703      *
8704      * Removes attribute {@link localName} in namespace {@link namespaceURI}
8705      * from the element.
8706      *
8707      * @param string $namespaceURI The namespace URI.
8708      * @param string $localName The local name.
8709      * @return bool
8710      * @since PHP 5, PHP 7
8711      **/
8712     public function removeAttributeNS($namespaceURI, $localName){}
8713 
8714     /**
8715      * Adds new attribute
8716      *
8717      * Sets an attribute with name {@link name} to the given value. If the
8718      * attribute does not exist, it will be created.
8719      *
8720      * @param string $name The name of the attribute.
8721      * @param string $value The value of the attribute.
8722      * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
8723      * @since PHP 5, PHP 7
8724      **/
8725     public function setAttribute($name, $value){}
8726 
8727     /**
8728      * Adds new attribute node to element
8729      *
8730      * Adds new attribute node {@link attr} to element.
8731      *
8732      * @param DOMAttr $attr The attribute node.
8733      * @return DOMAttr Returns old node if the attribute has been replaced
8734      *   or NULL.
8735      * @since PHP 5, PHP 7
8736      **/
8737     public function setAttributeNode($attr){}
8738 
8739     /**
8740      * Adds new attribute node to element
8741      *
8742      * Adds new attribute node {@link attr} to element.
8743      *
8744      * @param DOMAttr $attr The attribute node.
8745      * @return DOMAttr Returns the old node if the attribute has been
8746      *   replaced.
8747      * @since PHP 5, PHP 7
8748      **/
8749     public function setAttributeNodeNS($attr){}
8750 
8751     /**
8752      * Adds new attribute
8753      *
8754      * Sets an attribute with namespace {@link namespaceURI} and name {@link
8755      * name} to the given value. If the attribute does not exist, it will be
8756      * created.
8757      *
8758      * @param string $namespaceURI The namespace URI.
8759      * @param string $qualifiedName The qualified name of the attribute, as
8760      *   prefix:tagname.
8761      * @param string $value The value of the attribute.
8762      * @return void
8763      * @since PHP 5, PHP 7
8764      **/
8765     public function setAttributeNS($namespaceURI, $qualifiedName, $value){}
8766 
8767     /**
8768      * Declares the attribute specified by name to be of type ID
8769      *
8770      * Declares the attribute {@link name} to be of type ID.
8771      *
8772      * @param string $name The name of the attribute.
8773      * @param bool $isId Set it to TRUE if you want {@link name} to be of
8774      *   type ID, FALSE otherwise.
8775      * @return void
8776      * @since PHP 5, PHP 7
8777      **/
8778     public function setIdAttribute($name, $isId){}
8779 
8780     /**
8781      * Declares the attribute specified by node to be of type ID
8782      *
8783      * Declares the attribute specified by {@link attr} to be of type ID.
8784      *
8785      * @param DOMAttr $attr The attribute node.
8786      * @param bool $isId Set it to TRUE if you want {@link name} to be of
8787      *   type ID, FALSE otherwise.
8788      * @return void
8789      * @since PHP 5, PHP 7
8790      **/
8791     public function setIdAttributeNode($attr, $isId){}
8792 
8793     /**
8794      * Declares the attribute specified by local name and namespace URI to be
8795      * of type ID
8796      *
8797      * Declares the attribute specified by {@link localName} and {@link
8798      * namespaceURI} to be of type ID.
8799      *
8800      * @param string $namespaceURI The namespace URI of the attribute.
8801      * @param string $localName The local name of the attribute, as
8802      *   prefix:tagname.
8803      * @param bool $isId Set it to TRUE if you want {@link name} to be of
8804      *   type ID, FALSE otherwise.
8805      * @return void
8806      * @since PHP 5, PHP 7
8807      **/
8808     public function setIdAttributeNS($namespaceURI, $localName, $isId){}
8809 
8810     /**
8811      * Creates a new DOMElement object
8812      *
8813      * Creates a new DOMElement object. This object is read only. It may be
8814      * appended to a document, but additional nodes may not be appended to
8815      * this node until the node is associated with a document. To create a
8816      * writeable node, use or .
8817      *
8818      * @param string $name The tag name of the element. When also passing
8819      *   in namespaceURI, the element name may take a prefix to be associated
8820      *   with the URI.
8821      * @param string $value The value of the element.
8822      * @param string $namespaceURI A namespace URI to create the element
8823      *   within a specific namespace.
8824      * @since PHP 5, PHP 7
8825      **/
8826     public function __construct($name, $value, $namespaceURI){}
8827 
8828 }
8829 /**
8830  * This interface represents a known entity, either parsed or unparsed,
8831  * in an XML document.
8832  **/
8833 class DOMEntity extends DOMNode {
8834     /**
8835      * @var string
8836      **/
8837     public $actualEncoding;
8838 
8839     /**
8840      * An attribute specifying, as part of the text declaration, the encoding
8841      * of this entity, when it is an external parsed entity. This is NULL
8842      * otherwise.
8843      *
8844      * @var string
8845      **/
8846     public $encoding;
8847 
8848     /**
8849      * @var string
8850      **/
8851     public $notationName;
8852 
8853     /**
8854      * @var string
8855      **/
8856     public $publicId;
8857 
8858     /**
8859      * @var string
8860      **/
8861     public $systemId;
8862 
8863     /**
8864      * An attribute specifying, as part of the text declaration, the version
8865      * number of this entity, when it is an external parsed entity. This is
8866      * NULL otherwise.
8867      *
8868      * @var string
8869      **/
8870     public $version;
8871 
8872 }
8873 class DomEntityReference extends DOMNode {
8874     /**
8875      * Creates a new DOMEntityReference object
8876      *
8877      * Creates a new DOMEntityReference object.
8878      *
8879      * @param string $name The name of the entity reference.
8880      * @since PHP 5, PHP 7
8881      **/
8882     public function __construct($name){}
8883 
8884 }
8885 /**
8886  * DOM operations raise exceptions under particular circumstances, i.e.,
8887  * when an operation is impossible to perform for logical reasons. See
8888  * also .
8889  **/
8890 class DOMException extends Exception {
8891     /**
8892      * An integer indicating the type of error generated
8893      *
8894      * @var int
8895      **/
8896     public $code;
8897 
8898 }
8899 /**
8900  * The DOMImplementation class provides a number of methods for
8901  * performing operations that are independent of any particular instance
8902  * of the document object model.
8903  **/
8904 class DOMImplementation {
8905     /**
8906      * Creates a DOMDocument object of the specified type with its document
8907      * element
8908      *
8909      * Creates a DOMDocument object of the specified type with its document
8910      * element.
8911      *
8912      * @param string $namespaceURI The namespace URI of the document
8913      *   element to create.
8914      * @param string $qualifiedName The qualified name of the document
8915      *   element to create.
8916      * @param DOMDocumentType $doctype The type of document to create or
8917      *   NULL.
8918      * @return DOMDocument A new DOMDocument object. If {@link
8919      *   namespaceURI}, {@link qualifiedName}, and {@link doctype} are null,
8920      *   the returned DOMDocument is empty with no document element
8921      * @since PHP 5, PHP 7
8922      **/
8923     public function createDocument($namespaceURI, $qualifiedName, $doctype){}
8924 
8925     /**
8926      * Creates an empty DOMDocumentType object
8927      *
8928      * Creates an empty DOMDocumentType object. Entity declarations and
8929      * notations are not made available. Entity reference expansions and
8930      * default attribute additions do not occur.
8931      *
8932      * @param string $qualifiedName The qualified name of the document type
8933      *   to create.
8934      * @param string $publicId The external subset public identifier.
8935      * @param string $systemId The external subset system identifier.
8936      * @return DOMDocumentType A new DOMDocumentType node with its
8937      *   ownerDocument set to NULL.
8938      * @since PHP 5, PHP 7
8939      **/
8940     public function createDocumentType($qualifiedName, $publicId, $systemId){}
8941 
8942     /**
8943      * Test if the DOM implementation implements a specific feature
8944      *
8945      * Test if the DOM implementation implements a specific {@link feature}.
8946      *
8947      * You can find a list of all features in the Conformance section of the
8948      * DOM specification.
8949      *
8950      * @param string $feature The feature to test.
8951      * @param string $version The version number of the {@link feature} to
8952      *   test. In level 2, this can be either 2.0 or 1.0.
8953      * @return bool
8954      * @since PHP 5, PHP 7
8955      **/
8956     public function hasFeature($feature, $version){}
8957 
8958     /**
8959      * Creates a new DOMImplementation object
8960      *
8961      * Creates a new DOMImplementation object.
8962      *
8963      * @since PHP 5, PHP 7
8964      **/
8965     function __construct(){}
8966 
8967 }
8968 class DomNamedNodeMap implements Traversable, Countable {
8969     /**
8970      * Get number of nodes in the map
8971      *
8972      * Gets the number of nodes in the map.
8973      *
8974      * @return int Returns the number of nodes in the map, which is
8975      *   identical to the length property.
8976      * @since PHP 7 >= 7.2.0
8977      **/
8978     public function count(){}
8979 
8980     /**
8981      * Retrieves a node specified by name
8982      *
8983      * Retrieves a node specified by its nodeName.
8984      *
8985      * @param string $name The nodeName of the node to retrieve.
8986      * @return DOMNode A node (of any type) with the specified nodeName, or
8987      *   NULL if no node is found.
8988      * @since PHP 5, PHP 7
8989      **/
8990     function getNamedItem($name){}
8991 
8992     /**
8993      * Retrieves a node specified by local name and namespace URI
8994      *
8995      * Retrieves a node specified by {@link localName} and {@link
8996      * namespaceURI}.
8997      *
8998      * @param string $namespaceURI The namespace URI of the node to
8999      *   retrieve.
9000      * @param string $localName The local name of the node to retrieve.
9001      * @return DOMNode A node (of any type) with the specified local name
9002      *   and namespace URI, or NULL if no node is found.
9003      * @since PHP 5, PHP 7
9004      **/
9005     function getNamedItemNS($namespaceURI, $localName){}
9006 
9007     /**
9008      * Retrieves a node specified by index
9009      *
9010      * Retrieves a node specified by {@link index} within the DOMNamedNodeMap
9011      * object.
9012      *
9013      * @param int $index Index into this map.
9014      * @return DOMNode The node at the {@link index}th position in the map,
9015      *   or NULL if that is not a valid index (greater than or equal to the
9016      *   number of nodes in this map).
9017      * @since PHP 5, PHP 7
9018      **/
9019     function item($index){}
9020 
9021 }
9022 class DOMNode {
9023     /**
9024      * Adds new child at the end of the children
9025      *
9026      * This function appends a child to an existing list of children or
9027      * creates a new list of children. The child can be created with e.g.
9028      * DOMDocument::createElement, DOMDocument::createTextNode etc. or simply
9029      * by using any other node.
9030      *
9031      * @param DOMNode $newnode The appended child.
9032      * @return DOMNode The node added.
9033      * @since PHP 5, PHP 7
9034      **/
9035     public function appendChild($newnode){}
9036 
9037     /**
9038      * Canonicalize nodes to a string
9039      *
9040      * @param bool $exclusive Enable exclusive parsing of only the nodes
9041      *   matched by the provided xpath or namespace prefixes.
9042      * @param bool $with_comments Retain comments in output.
9043      * @param array $xpath An array of xpaths to filter the nodes by.
9044      * @param array $ns_prefixes An array of namespace prefixes to filter
9045      *   the nodes by.
9046      * @return string Returns canonicalized nodes as a string
9047      * @since PHP 5 >= 5.2.0, PHP 7
9048      **/
9049     public function C14N($exclusive, $with_comments, $xpath, $ns_prefixes){}
9050 
9051     /**
9052      * Canonicalize nodes to a file
9053      *
9054      * @param string $uri Path to write the output to.
9055      * @param bool $exclusive Enable exclusive parsing of only the nodes
9056      *   matched by the provided xpath or namespace prefixes.
9057      * @param bool $with_comments Retain comments in output.
9058      * @param array $xpath An array of xpaths to filter the nodes by.
9059      * @param array $ns_prefixes An array of namespace prefixes to filter
9060      *   the nodes by.
9061      * @return int Number of bytes written
9062      * @since PHP 5 >= 5.2.0, PHP 7
9063      **/
9064     public function C14NFile($uri, $exclusive, $with_comments, $xpath, $ns_prefixes){}
9065 
9066     /**
9067      * Clones a node
9068      *
9069      * Creates a copy of the node.
9070      *
9071      * @param bool $deep Indicates whether to copy all descendant nodes.
9072      *   This parameter is defaulted to FALSE.
9073      * @return DOMNode The cloned node.
9074      * @since PHP 5, PHP 7
9075      **/
9076     public function cloneNode($deep){}
9077 
9078     /**
9079      * Get line number for a node
9080      *
9081      * Gets line number for where the node is defined.
9082      *
9083      * @return int Always returns the line number where the node was
9084      *   defined in.
9085      * @since PHP 5 >= 5.3.0, PHP 7
9086      **/
9087     public function getLineNo(){}
9088 
9089     /**
9090      * Get an XPath for a node
9091      *
9092      * Gets an XPath location path for the node.
9093      *
9094      * @return string Returns a string containing the XPath, or NULL in
9095      *   case of an error.
9096      * @since PHP 5 >= 5.2.0, PHP 7
9097      **/
9098     public function getNodePath(){}
9099 
9100     /**
9101      * Checks if node has attributes
9102      *
9103      * This method checks if the node has attributes. The tested node has to
9104      * be an XML_ELEMENT_NODE.
9105      *
9106      * @return bool
9107      * @since PHP 5, PHP 7
9108      **/
9109     public function hasAttributes(){}
9110 
9111     /**
9112      * Checks if node has children
9113      *
9114      * This function checks if the node has children.
9115      *
9116      * @return bool
9117      * @since PHP 5, PHP 7
9118      **/
9119     public function hasChildNodes(){}
9120 
9121     /**
9122      * Adds a new child before a reference node
9123      *
9124      * This function inserts a new node right before the reference node. If
9125      * you plan to do further modifications on the appended child you must
9126      * use the returned node.
9127      *
9128      * @param DOMNode $newnode The new node.
9129      * @param DOMNode $refnode The reference node. If not supplied, {@link
9130      *   newnode} is appended to the children.
9131      * @return DOMNode The inserted node.
9132      * @since PHP 5, PHP 7
9133      **/
9134     public function insertBefore($newnode, $refnode){}
9135 
9136     /**
9137      * Checks if the specified namespaceURI is the default namespace or not
9138      *
9139      * Tells whether {@link namespaceURI} is the default namespace.
9140      *
9141      * @param string $namespaceURI The namespace URI to look for.
9142      * @return bool Return TRUE if {@link namespaceURI} is the default
9143      *   namespace, FALSE otherwise.
9144      * @since PHP 5, PHP 7
9145      **/
9146     public function isDefaultNamespace($namespaceURI){}
9147 
9148     /**
9149      * Indicates if two nodes are the same node
9150      *
9151      * This function indicates if two nodes are the same node. The comparison
9152      * is not based on content
9153      *
9154      * @param DOMNode $node The compared node.
9155      * @return bool
9156      * @since PHP 5, PHP 7
9157      **/
9158     public function isSameNode($node){}
9159 
9160     /**
9161      * Checks if feature is supported for specified version
9162      *
9163      * Checks if the asked {@link feature} is supported for the specified
9164      * {@link version}.
9165      *
9166      * @param string $feature The feature to test. See the example of
9167      *   DOMImplementation::hasFeature for a list of features.
9168      * @param string $version The version number of the {@link feature} to
9169      *   test.
9170      * @return bool
9171      * @since PHP 5, PHP 7
9172      **/
9173     public function isSupported($feature, $version){}
9174 
9175     /**
9176      * Gets the namespace URI of the node based on the prefix
9177      *
9178      * Gets the namespace URI of the node based on the {@link prefix}.
9179      *
9180      * @param string $prefix The prefix of the namespace.
9181      * @return string The namespace URI of the node.
9182      * @since PHP 5, PHP 7
9183      **/
9184     public function lookupNamespaceUri($prefix){}
9185 
9186     /**
9187      * Gets the namespace prefix of the node based on the namespace URI
9188      *
9189      * Gets the namespace prefix of the node based on the namespace URI.
9190      *
9191      * @param string $namespaceURI The namespace URI.
9192      * @return string The prefix of the namespace.
9193      * @since PHP 5, PHP 7
9194      **/
9195     public function lookupPrefix($namespaceURI){}
9196 
9197     /**
9198      * Normalizes the node
9199      *
9200      * Remove empty text nodes and merge adjacent text nodes in this node and
9201      * all its children.
9202      *
9203      * @return void
9204      * @since PHP 5, PHP 7
9205      **/
9206     public function normalize(){}
9207 
9208     /**
9209      * Removes child from list of children
9210      *
9211      * This functions removes a child from a list of children.
9212      *
9213      * @param DOMNode $oldnode The removed child.
9214      * @return DOMNode If the child could be removed the function returns
9215      *   the old child.
9216      * @since PHP 5, PHP 7
9217      **/
9218     public function removeChild($oldnode){}
9219 
9220     /**
9221      * Replaces a child
9222      *
9223      * This function replaces the child {@link oldnode} with the passed new
9224      * node. If the {@link newnode} is already a child it will not be added a
9225      * second time. If the replacement succeeds the old node is returned.
9226      *
9227      * @param DOMNode $newnode The new node. It must be a member of the
9228      *   target document, i.e. created by one of the DOMDocument->createXXX()
9229      *   methods or imported in the document by .
9230      * @param DOMNode $oldnode The old node.
9231      * @return DOMNode The old node or FALSE if an error occur.
9232      * @since PHP 5, PHP 7
9233      **/
9234     public function replaceChild($newnode, $oldnode){}
9235 
9236 }
9237 /**
9238  * 7.2.0 The Countable interface is implemented and returns the value of
9239  * the length property.
9240  **/
9241 class DomNodeList implements Traversable, Countable {
9242     /**
9243      * Get number of nodes in the list
9244      *
9245      * Gets the number of nodes in the list.
9246      *
9247      * @return int Returns the number of nodes in the list, which is
9248      *   identical to the length property.
9249      * @since PHP 7 >= 7.2.0
9250      **/
9251     public function count(){}
9252 
9253     /**
9254      * Retrieves a node specified by index
9255      *
9256      * Retrieves a node specified by {@link index} within the DOMNodeList
9257      * object.
9258      *
9259      * @param int $index Index of the node into the collection.
9260      * @return DOMNode The node at the {@link index}th position in the
9261      *   DOMNodeList, or NULL if that is not a valid index.
9262      * @since PHP 5, PHP 7
9263      **/
9264     function item($index){}
9265 
9266 }
9267 class DOMNotation extends DOMNode {
9268 }
9269 class DomProcessingInstruction extends DOMNode {
9270     /**
9271      * Creates a new object
9272      *
9273      * Creates a new DOMProcessingInstruction object. This object is read
9274      * only. It may be appended to a document, but additional nodes may not
9275      * be appended to this node until the node is associated with a document.
9276      * To create a writeable node, use .
9277      *
9278      * @param string $name The tag name of the processing instruction.
9279      * @param string $value The value of the processing instruction.
9280      * @since PHP 5, PHP 7
9281      **/
9282     public function __construct($name, $value){}
9283 
9284 }
9285 /**
9286  * The DOMText class inherits from DOMCharacterData and represents the
9287  * textual content of a DOMElement or DOMAttr.
9288  **/
9289 class DOMText extends DOMCharacterData {
9290     /**
9291      * @var string
9292      **/
9293     public $wholeText;
9294 
9295     /**
9296      * Returns whether this text node contains whitespace in element content
9297      *
9298      * @return bool
9299      **/
9300     public function isElementContentWhitespace(){}
9301 
9302     /**
9303      * Indicates whether this text node contains whitespace
9304      *
9305      * Indicates whether this text node contains only whitespace or it is
9306      * empty. The text node is determined to contain whitespace in element
9307      * content during the load of the document.
9308      *
9309      * @return bool Returns TRUE if node contains zero or more whitespace
9310      *   characters and nothing else. Returns FALSE otherwise.
9311      * @since PHP 5, PHP 7
9312      **/
9313     public function isWhitespaceInElementContent(){}
9314 
9315     /**
9316      * Breaks this node into two nodes at the specified offset
9317      *
9318      * Breaks this node into two nodes at the specified {@link offset},
9319      * keeping both in the tree as siblings.
9320      *
9321      * After being split, this node will contain all the content up to the
9322      * {@link offset}. If the original node had a parent node, the new node
9323      * is inserted as the next sibling of the original node. When the {@link
9324      * offset} is equal to the length of this node, the new node has no data.
9325      *
9326      * @param int $offset The offset at which to split, starting from 0.
9327      * @return DOMText The new node of the same type, which contains all
9328      *   the content at and after the {@link offset}.
9329      * @since PHP 5, PHP 7
9330      **/
9331     public function splitText($offset){}
9332 
9333 }
9334 /**
9335  * Supports XPath 1.0
9336  **/
9337 class DomXPath {
9338     /**
9339      * @var DOMDocument
9340      **/
9341     public $document;
9342 
9343     /**
9344      * Evaluates the given XPath expression and returns a typed result if
9345      * possible
9346      *
9347      * Executes the given XPath {@link expression} and returns a typed result
9348      * if possible.
9349      *
9350      * @param string $expression The XPath expression to execute.
9351      * @param DOMNode $contextnode The optional {@link contextnode} can be
9352      *   specified for doing relative XPath queries. By default, the queries
9353      *   are relative to the root element.
9354      * @param bool $registerNodeNS The optional {@link registerNodeNS} can
9355      *   be specified to disable automatic registration of the context node.
9356      * @return mixed Returns a typed result if possible or a DOMNodeList
9357      *   containing all nodes matching the given XPath {@link expression}.
9358      * @since PHP 5 >= 5.1.0, PHP 7
9359      **/
9360     public function evaluate($expression, $contextnode, $registerNodeNS){}
9361 
9362     /**
9363      * Evaluates the given XPath expression
9364      *
9365      * Executes the given XPath {@link expression}.
9366      *
9367      * @param string $expression The XPath expression to execute.
9368      * @param DOMNode $contextnode The optional {@link contextnode} can be
9369      *   specified for doing relative XPath queries. By default, the queries
9370      *   are relative to the root element.
9371      * @param bool $registerNodeNS The optional {@link registerNodeNS} can
9372      *   be specified to disable automatic registration of the context node.
9373      * @return DOMNodeList Returns a DOMNodeList containing all nodes
9374      *   matching the given XPath {@link expression}. Any expression which
9375      *   does not return nodes will return an empty DOMNodeList.
9376      * @since PHP 5, PHP 7
9377      **/
9378     public function query($expression, $contextnode, $registerNodeNS){}
9379 
9380     /**
9381      * Registers the namespace with the object
9382      *
9383      * Registers the {@link namespaceURI} and {@link prefix} with the
9384      * DOMXPath object.
9385      *
9386      * @param string $prefix The prefix.
9387      * @param string $namespaceURI The URI of the namespace.
9388      * @return bool
9389      * @since PHP 5, PHP 7
9390      **/
9391     public function registerNamespace($prefix, $namespaceURI){}
9392 
9393     /**
9394      * Register PHP functions as XPath functions
9395      *
9396      * This method enables the ability to use PHP functions within XPath
9397      * expressions.
9398      *
9399      * @param mixed $restrict Use this parameter to only allow certain
9400      *   functions to be called from XPath. This parameter can be either a
9401      *   string (a function name) or an array of function names.
9402      * @return void
9403      * @since PHP 5 >= 5.3.0, PHP 7
9404      **/
9405     public function registerPhpFunctions($restrict){}
9406 
9407     /**
9408      * Creates a new object
9409      *
9410      * Creates a new DOMXPath object.
9411      *
9412      * @param DOMDocument $doc The DOMDocument associated with the
9413      *   DOMXPath.
9414      * @since PHP 5, PHP 7
9415      **/
9416     public function __construct($doc){}
9417 
9418 }
9419 /**
9420  * The dotnet class allows you to instantiate a class from a .Net
9421  * assembly and call its methods and access its properties, if the class
9422  * and the methods and properties are visible to COM. Neither
9423  * instantiating static classes nor calling static methods is supported.
9424  * Some .Net classes do not implement IDispatch, so while they can be
9425  * instantiated, calling methods or accessing properties on these classes
9426  * is not supported.
9427  **/
9428 class dotnet extends variant {
9429 }
9430 namespace Ds {
9431 interface Collection extends Traversable, Countable, JsonSerializable {
9432     /**
9433      * Removes all values
9434      *
9435      * Removes all values from the collection.
9436      *
9437      * @return void
9438      **/
9439     public function clear();
9440 
9441     /**
9442      * Returns a shallow copy of the collection
9443      *
9444      * @return Ds\Collection Returns a shallow copy of the collection.
9445      **/
9446     public function copy();
9447 
9448     /**
9449      * Returns whether the collection is empty
9450      *
9451      * @return bool Returns TRUE if the collection is empty, FALSE
9452      *   otherwise.
9453      **/
9454     public function isEmpty();
9455 
9456     /**
9457      * Converts the collection to an
9458      *
9459      * Converts the collection to an .
9460      *
9461      * @return array An containing all the values in the same order as the
9462      *   collection.
9463      **/
9464     public function toArray();
9465 
9466 }
9467 }
9468 namespace Ds {
9469 class Deque implements Ds\Sequence {
9470     /**
9471      * Allocates enough memory for a required capacity
9472      *
9473      * Ensures that enough memory is allocated for a required capacity. This
9474      * removes the need to reallocate the internal as values are added.
9475      *
9476      * @param int $capacity The number of values for which capacity should
9477      *   be allocated.
9478      * @return void
9479      **/
9480     public function allocate($capacity){}
9481 
9482     /**
9483      * Updates all values by applying a callback function to each value
9484      *
9485      * Updates all values by applying a {@link callback} function to each
9486      * value in the deque.
9487      *
9488      * @param callable $callback mixed callback mixed{@link value} A
9489      *   callable to apply to each value in the deque. The callback should
9490      *   return what the value should be replaced by.
9491      * @return void
9492      **/
9493     public function apply($callback){}
9494 
9495     /**
9496      * Returns the current capacity
9497      *
9498      * @return int The current capacity.
9499      **/
9500     public function capacity(){}
9501 
9502     /**
9503      * Removes all values from the deque
9504      *
9505      * @return void
9506      **/
9507     public function clear(){}
9508 
9509     /**
9510      * Determines if the deque contains given values
9511      *
9512      * Determines if the deque contains all values.
9513      *
9514      * @param mixed ...$values Values to check.
9515      * @return bool FALSE if any of the provided {@link values} are not in
9516      *   the deque, TRUE otherwise.
9517      **/
9518     public function contains(...$values){}
9519 
9520     /**
9521      * Returns a shallow copy of the deque
9522      *
9523      * @return Ds\Deque A shallow copy of the deque.
9524      **/
9525     public function copy(){}
9526 
9527     /**
9528      * Creates a new deque using a to determine which values to include
9529      *
9530      * Creates a new deque using a callable to determine which values to
9531      * include.
9532      *
9533      * @param callable $callback bool callback mixed{@link value} Optional
9534      *   callable which returns TRUE if the value should be included, FALSE
9535      *   otherwise. If a callback is not provided, only values which are TRUE
9536      *   (see converting to boolean) will be included.
9537      * @return Ds\Deque A new deque containing all the values for which
9538      *   either the {@link callback} returned TRUE, or all values that
9539      *   convert to TRUE if a {@link callback} was not provided.
9540      **/
9541     public function filter($callback){}
9542 
9543     /**
9544      * Attempts to find a value's index
9545      *
9546      * Returns the index of the {@link value}, or FALSE if not found.
9547      *
9548      * @param mixed $value The value to find.
9549      * @return mixed The index of the value, or FALSE if not found.
9550      **/
9551     public function find($value){}
9552 
9553     /**
9554      * Returns the first value in the deque
9555      *
9556      * @return mixed The first value in the deque.
9557      **/
9558     public function first(){}
9559 
9560     /**
9561      * Returns the value at a given index
9562      *
9563      * @param int $index The index to access, starting at 0.
9564      * @return mixed The value at the requested index.
9565      **/
9566     public function get($index){}
9567 
9568     /**
9569      * Inserts values at a given index
9570      *
9571      * Inserts values into the deque at a given index.
9572      *
9573      * @param int $index The index at which to insert. 0 <= index <= count
9574      * @param mixed ...$values The value or values to insert.
9575      * @return void
9576      **/
9577     public function insert($index, ...$values){}
9578 
9579     /**
9580      * Returns whether the deque is empty
9581      *
9582      * @return bool Returns TRUE if the deque is empty, FALSE otherwise.
9583      **/
9584     public function isEmpty(){}
9585 
9586     /**
9587      * Joins all values together as a string
9588      *
9589      * Joins all values together as a string using an optional separator
9590      * between each value.
9591      *
9592      * @param string $glue An optional string to separate each value.
9593      * @return string All values of the deque joined together as a string.
9594      **/
9595     public function join($glue){}
9596 
9597     /**
9598      * Returns the last value
9599      *
9600      * Returns the last value in the deque.
9601      *
9602      * @return mixed The last value in the deque.
9603      **/
9604     public function last(){}
9605 
9606     /**
9607      * Returns the result of applying a callback to each value
9608      *
9609      * Returns the result of applying a {@link callback} function to each
9610      * value in the deque.
9611      *
9612      * @param callable $callback mixed callback mixed{@link value} A
9613      *   callable to apply to each value in the deque. The callable should
9614      *   return what the new value will be in the new deque.
9615      * @return Ds\Deque The result of applying a {@link callback} to each
9616      *   value in the deque.
9617      **/
9618     public function map($callback){}
9619 
9620     /**
9621      * Returns the result of adding all given values to the deque
9622      *
9623      * @param mixed $values A traversable object or an .
9624      * @return Ds\Deque The result of adding all given values to the deque,
9625      *   effectively the same as adding the values to a copy, then returning
9626      *   that copy.
9627      **/
9628     public function merge($values){}
9629 
9630     /**
9631      * Removes and returns the last value
9632      *
9633      * @return mixed The removed last value.
9634      **/
9635     public function pop(){}
9636 
9637     /**
9638      * Adds values to the end of the deque
9639      *
9640      * @param mixed ...$values The values to add.
9641      * @return void
9642      **/
9643     public function push(...$values){}
9644 
9645     /**
9646      * Reduces the deque to a single value using a callback function
9647      *
9648      * @param callable $callback
9649      * @param mixed $initial The return value of the previous callback, or
9650      *   {@link initial} if it's the first iteration.
9651      * @return mixed The return value of the final callback.
9652      **/
9653     public function reduce($callback, $initial){}
9654 
9655     /**
9656      * Removes and returns a value by index
9657      *
9658      * @param int $index The index of the value to remove.
9659      * @return mixed The value that was removed.
9660      **/
9661     public function remove($index){}
9662 
9663     /**
9664      * Reverses the deque in-place
9665      *
9666      * Reverses the deque in-place.
9667      *
9668      * @return void
9669      **/
9670     public function reverse(){}
9671 
9672     /**
9673      * Returns a reversed copy
9674      *
9675      * Returns a reversed copy of the deque.
9676      *
9677      * @return Ds\Deque A reversed copy of the deque.
9678      *   
9679      *   The current instance is not affected.
9680      **/
9681     public function reversed(){}
9682 
9683     /**
9684      * Rotates the deque by a given number of rotations
9685      *
9686      * Rotates the deque by a given number of rotations, which is equivalent
9687      * to successively calling $deque->push($deque->shift()) if the number of
9688      * rotations is positive, or $deque->unshift($deque->pop()) if negative.
9689      *
9690      * @param int $rotations The number of times the deque should be
9691      *   rotated.
9692      * @return void . The deque of the current instance will be rotated.
9693      **/
9694     public function rotate($rotations){}
9695 
9696     /**
9697      * Updates a value at a given index
9698      *
9699      * @param int $index The index of the value to update.
9700      * @param mixed $value The new value.
9701      * @return void
9702      **/
9703     public function set($index, $value){}
9704 
9705     /**
9706      * Removes and returns the first value
9707      *
9708      * @return mixed The first value, which was removed.
9709      **/
9710     public function shift(){}
9711 
9712     /**
9713      * Returns a sub-deque of a given range
9714      *
9715      * Creates a sub-deque of a given range.
9716      *
9717      * @param int $index The index at which the sub-deque starts. If
9718      *   positive, the deque will start at that index in the deque. If
9719      *   negative, the deque will start that far from the end.
9720      * @param int $length If a length is given and is positive, the
9721      *   resulting deque will have up to that many values in it.
9722      *   
9723      *   If the length results in an overflow, only values up to the end of
9724      *   the deque will be included.
9725      *   
9726      *   If a length is given and is negative, the deque will stop that many
9727      *   values from the end.
9728      *   
9729      *   If a length is not provided, the resulting deque will contain all
9730      *   values between the index and the end of the deque.
9731      * @return Ds\Deque A sub-deque of the given range.
9732      **/
9733     public function slice($index, $length){}
9734 
9735     /**
9736      * Sorts the deque in-place
9737      *
9738      * Sorts the deque in-place, using an optional {@link comparator}
9739      * function.
9740      *
9741      * @param callable $comparator
9742      * @return void
9743      **/
9744     public function sort($comparator){}
9745 
9746     /**
9747      * Returns a sorted copy
9748      *
9749      * Returns a sorted copy, using an optional {@link comparator} function.
9750      *
9751      * @param callable $comparator
9752      * @return Ds\Deque Returns a sorted copy of the deque.
9753      **/
9754     public function sorted($comparator){}
9755 
9756     /**
9757      * Returns the sum of all values in the deque
9758      *
9759      * @return number The sum of all the values in the deque as either a
9760      *   float or int depending on the values in the deque.
9761      **/
9762     public function sum(){}
9763 
9764     /**
9765      * Converts the deque to an
9766      *
9767      * Converts the deque to an .
9768      *
9769      * @return array An containing all the values in the same order as the
9770      *   deque.
9771      **/
9772     public function toArray(){}
9773 
9774     /**
9775      * Adds values to the front of the deque
9776      *
9777      * Adds values to the front of the deque, moving all the current values
9778      * forward to make room for the new values.
9779      *
9780      * @param mixed $values The values to add to the front of the deque.
9781      *   Multiple values will be added in the same order that they are
9782      *   passed.
9783      * @return void
9784      **/
9785     public function unshift($values){}
9786 
9787 }
9788 }
9789 namespace Ds {
9790 interface Hashable {
9791     /**
9792      * Determines whether an object is equal to the current instance
9793      *
9794      * Determines whether another object is equal to the current instance.
9795      *
9796      * This method allows objects to be used as keys in structures such as
9797      * Ds\Map and Ds\Set, or any other lookup structure that honors this
9798      * interface.
9799      *
9800      * @param object $obj The object to compare the current instance to,
9801      *   which is always an instance of the same class.
9802      * @return bool TRUE if equal, FALSE otherwise.
9803      **/
9804     public function equals($obj);
9805 
9806     /**
9807      * Returns a scalar value to be used as a hash value
9808      *
9809      * Returns a scalar value to be used as the hash value of the objects.
9810      *
9811      * While the hash value does not define equality, all objects that are
9812      * equal according to {@link Ds\Hashable::equals} must have the same hash
9813      * value. Hash values of equal objects don't have to be unique, for
9814      * example you could just return TRUE for all objects and nothing would
9815      * break - the only implication would be that hash tables then turn into
9816      * linked lists because all your objects will be hashed to the same
9817      * bucket. It's therefore very important that you pick a good hash value,
9818      * such as an ID or email address.
9819      *
9820      * This method allows objects to be used as keys in structures such as
9821      * Ds\Map and Ds\Set, or any other lookup structure that honors this
9822      * interface.
9823      *
9824      * @return mixed A scalar value to be used as this object's hash value.
9825      **/
9826     public function hash();
9827 
9828 }
9829 }
9830 namespace Ds {
9831 class Map implements Ds\Collection {
9832     /**
9833      * Allocates enough memory for a required capacity
9834      *
9835      * @param int $capacity The number of values for which capacity should
9836      *   be allocated.
9837      * @return void
9838      **/
9839     public function allocate($capacity){}
9840 
9841     /**
9842      * Updates all values by applying a callback function to each value
9843      *
9844      * Updates all values by applying a {@link callback} function to each
9845      * value in the map.
9846      *
9847      * @param callable $callback mixed callback mixed{@link key}
9848      *   mixed{@link value} A callable to apply to each value in the map. The
9849      *   callback should return what the value should be replaced by.
9850      * @return void
9851      **/
9852     public function apply($callback){}
9853 
9854     /**
9855      * Returns the current capacity
9856      *
9857      * @return int The current capacity.
9858      **/
9859     public function capacity(){}
9860 
9861     /**
9862      * Removes all values
9863      *
9864      * Removes all values from the map.
9865      *
9866      * @return void
9867      **/
9868     public function clear(){}
9869 
9870     /**
9871      * Returns a shallow copy of the map
9872      *
9873      * @return Ds\Map Returns a shallow copy of the map.
9874      **/
9875     public function copy(){}
9876 
9877     /**
9878      * Creates a new map using keys that aren't in another map
9879      *
9880      * Returns the result of removing all keys from the current instance that
9881      * are present in a given {@link map}.
9882      *
9883      * A \ B = {x ∈ A | x ∉ B}
9884      *
9885      * @param Ds\Map $map The map containing the keys to exclude in the
9886      *   resulting map.
9887      * @return Ds\Map The result of removing all keys from the current
9888      *   instance that are present in a given {@link map}.
9889      **/
9890     public function diff($map){}
9891 
9892     /**
9893      * Creates a new map using a to determine which pairs to include
9894      *
9895      * Creates a new map using a callable to determine which pairs to
9896      * include.
9897      *
9898      * @param callable $callback bool callback mixed{@link key} mixed{@link
9899      *   value} Optional callable which returns TRUE if the pair should be
9900      *   included, FALSE otherwise. If a callback is not provided, only
9901      *   values which are TRUE (see converting to boolean) will be included.
9902      * @return Ds\Map A new map containing all the pairs for which either
9903      *   the {@link callback} returned TRUE, or all values that convert to
9904      *   TRUE if a {@link callback} was not provided.
9905      **/
9906     public function filter($callback){}
9907 
9908     /**
9909      * Returns the first pair in the map
9910      *
9911      * @return Ds\Pair The first pair in the map.
9912      **/
9913     public function first(){}
9914 
9915     /**
9916      * Returns the value for a given key
9917      *
9918      * Returns the value for a given key, or an optional default value if the
9919      * key could not be found.
9920      *
9921      * @param mixed $key The key to look up.
9922      * @param mixed $default The optional default value, returned if the
9923      *   key could not be found.
9924      * @return mixed The value mapped to the given {@link key}, or the
9925      *   {@link default} value if provided a