<?php

namespace {
	/**
	 * Validate value of meta fields.
	 * Define ALL validation methods inside this class and use the names of these.
	 * methods in the definition of meta boxes (key 'validate_func' of each field).
	 */
	/**
	 * Bsf_Meta_Box_Validate
	 */
	class Bsf_Meta_Box_Validate {

		/**
		 * Check_text.
		 *
		 * @param string $text Text.
		 */
		public function check_text( $text ) {       }
	}
	/**
	 * Create meta boxes.
	 */
	class Bsf_Meta_Box {

        //phpcs:ignore:Generic.Files.OneObjectStructurePerFile.MultipleFound
		/**
		 * Meta Box.
		 *
		 * @var $_meta_box.
		 */
		protected $_meta_box;
        //phpcs:ignore:PSR2.Classes.PropertyDeclaration.Underscore
		/**
		 * Initiator.
		 *
		 * @param string $meta_box Meta Box.
		 */
		public function __construct( $meta_box ) {      }
		/**
		 * Add_post_enctype.
		 */
		public function add_post_enctype() {        }
		/**
		 * Add metaboxes.
		 */
		public function add() {         }
		/**
		 * Show On Filters
		 * Use the 'bsf_show_on' filter to further refine the conditions under which a metabox is displayed.
		 * Below you can limit it by ID and page template.
		 *
		 * @param string $display Display.
		 * @param string $meta_box Meta Box.
		 */
		public function add_for_id( $display, $meta_box ) {         }
		/**
		 * Add for Page Template.
		 *
		 * @param string $display Display.
		 * @param string $meta_box Meta Box.
		 */
		public function add_for_page_template( $display, $meta_box ) {      }
		/**
		 * Show fields.
		 */
		public function show() {        }
		/**
		 * Save data from metabox.
		 *
		 * @param string $post_id Post ID.
		 */
		public function save( $post_id ) {      }
	}
	/**
	 * RichSnippets
	 */
	class RichSnippets {

		/**
		 * Initiator
		 */
		public function __construct() {         }
		/**
		 * Defines all constants
		 */
		public function define_constants() {        }
		/**
		 * Admin bar menu.
		 */
		public function aiosrs_admin_bar() {        }
		/**
		 * Register_custom_menu_page.
		 */
		public function register_custom_menu_page() {       }
		/**
		 * Add settings link on plugin page.
		 *
		 * @param string $links Links.
		 */
		public function bsf_settings_link( $links ) {       }
		/**
		 *  Print the star rating style on post edit page.
		 *
		 * @param string $hook Hook.
		 */
		public function post_enqueue( $hook ) {         }
		/**
		 *  Post_new_enqueue.
		 *
		 * @param string $hook Hook.
		 */
		public function post_new_enqueue( $hook ) {         }
		/**
		 * Initialize the metabox class.
		 */
		public function wp_initialize_bsf_meta_boxes() {        }
		/**
		 * Set_styles.
		 */
		public function set_styles() {      }
		/**
		 * Define icon styles for the custom post type.
		 */
		public function star_icons() {      }
		/**
		 * Translation.
		 */
		public function rich_snippet_translation() {        }
		/**
		 * Register_bsf_settings.
		 */
		public function register_bsf_settings() {       }
		/**
		 * Aiosrs_admin_redirect.
		 */
		public function aiosrs_admin_redirect() {       }
		/**
		 * Submit_request.
		 */
		public function submit_request() {      }
		/**
		 * Submit_color.
		 */
		public function submit_color() {        }
		/**
		 * Iris_enqueue_scripts.
		 */
		public function iris_enqueue_scripts() {        }
		/**
		 * Bsf_color_scripts.
		 */
		public function bsf_color_scripts() {       }
	}
	/**
	 * BSF analytics stat class.
	 */
	class BSF_Analytics_Stats {

		/**
		 * Create only once instance of a class.
		 *
		 * @return object
		 * @since 1.0.0
		 */
		public static function instance() {         }
		/**
		 * Get stats.
		 *
		 * @return array stats data.
		 * @since 1.0.0
		 */
		public function get_stats() {       }
		/**
		 * Format plugin data.
		 *
		 * @param string $plugin plugin.
		 * @return array formatted plugin data.
		 * @since 1.0.0
		 */
		public function format_plugin( $plugin ) {      }
	}
	/**
	 * BSF analytics
	 */
	class BSF_Analytics {

		/**
		 * Member Variable
		 *
		 * @var string Usage tracking document URL
		 */
		public $usage_doc_link = 'https://store.brainstormforce.com/usage-tracking/?utm_source=wp_dashboard&utm_medium=general_settings&utm_campaign=usage_tracking';
		/**
		 * Setup actions, load files.
		 *
		 * @param array  $args entity data for analytics.
		 * @param string $analytics_path directory path to analytics library.
		 * @param float  $analytics_version analytics library version.
		 * @since 1.0.0
		 */
		public function __construct( $args, $analytics_path, $analytics_version ) {         }
		/**
		 * Setup actions for admin notice style and analytics cron event.
		 *
		 * @since 1.0.4
		 */
		public function set_actions() {         }
		/**
		 * BSF Analytics URL
		 *
		 * @param string $analytics_path directory path to analytics library.
		 * @return String URL of bsf-analytics directory.
		 * @since 1.0.0
		 */
		public function get_analytics_url( $analytics_path ) {      }
		/**
		 * Enqueue Scripts.
		 *
		 * @since 1.0.0
		 * @return void
		 */
		public function enqueue_assets() {      }
		/**
		 * Send analytics API call.
		 *
		 * @since 1.0.0
		 */
		public function send() {        }
		/**
		 * Check if usage tracking is enabled.
		 *
		 * @return bool
		 * @since 1.0.0
		 */
		public function is_tracking_enabled() {         }
		/**
		 * Check if WHITE label is enabled for BSF products.
		 *
		 * @param string $source source of analytics.
		 * @return bool
		 * @since 1.0.0
		 */
		public function is_white_label_enabled( $source ) {         }
		/**
		 * Display admin notice for usage tracking.
		 *
		 * @since 1.0.0
		 */
		public function option_notice() {       }
		/**
		 * Process usage tracking opt out.
		 *
		 * @since 1.0.0
		 */
		public function handle_optin_optout() {         }
		/**
		 * Register usage tracking option in General settings page.
		 *
		 * @since 1.0.0
		 */
		public function register_usage_tracking_setting() {         }
		/**
		 * Sanitize Callback Function
		 *
		 * @param bool $input Option value.
		 * @since 1.0.0
		 */
		public function sanitize_option( $input ) {         }
		/**
		 * Print settings field HTML.
		 *
		 * @param array $args arguments to field.
		 * @since 1.0.0
		 */
		public function render_settings_field_html( $args ) {       }
		/**
		 * Schedule/unschedule cron event on updation of option.
		 *
		 * @param string $old_value old value of option.
		 * @param string $value value of option.
		 * @param string $option Option name.
		 * @since 1.0.0
		 */
		public function update_analytics_option_callback( $old_value, $value, $option ) {       }
		/**
		 * Analytics option add callback.
		 *
		 * @param string $option Option name.
		 * @param string $value value of option.
		 * @since 1.0.0
		 */
		public function add_analytics_option_callback( $option, $value ) {      }
		/**
		 * Send analaytics track event if tracking is enabled.
		 *
		 * @since 1.0.0
		 */
		public function maybe_track_analytics() {       }
		/**
		 * Save analytics option to network.
		 *
		 * @param string $option name of option.
		 * @param string $value value of option.
		 * @since 1.0.0
		 */
		public function add_option_to_network( $option, $value ) {      }
	}
	/**
	 * Class BSF_Analytics_Loader.
	 */
	class BSF_Analytics_Loader {

		/**
		 * Get instace of class.
		 *
		 * @return object
		 */
		public static function get_instance() {         }
		/**
		 * Constructor
		 */
		public function __construct() {         }
		/**
		 * Set entity for analytics.
		 *
		 * @param string $data Entity attributes data.
		 * @return void
		 */
		public function set_entity( $data ) {       }
		/**
		 * Load Analytics library.
		 *
		 * @return void
		 */
		public function load_analytics() {      }
	}
	/**
	 * Astra_Notices
	 *
	 * @since 1.4.0
	 */
	class Astra_Notices {

		/**
		 * Initiator
		 *
		 * @since 1.4.0
		 * @return object initialized object of class.
		 */
		public static function get_instance() {         }
		/**
		 * Constructor
		 *
		 * @since 1.4.0
		 */
		public function __construct() {         }
		/**
		 * Filters and Returns a list of allowed tags and attributes for a given context.
		 *
		 * @param Array  $allowedposttags Array of allowed tags.
		 * @param String $context Context type (explicit).
		 * @since 1.4.0
		 * @return Array
		 */
		public function add_data_attributes( $allowedposttags, $context ) {         }
		/**
		 * Add Notice.
		 *
		 * @since 1.4.0
		 * @param array $args Notice arguments.
		 * @return void
		 */
		public static function add_notice( $args = array() ) {      }
		/**
		 * Dismiss Notice.
		 *
		 * @since 1.4.0
		 * @return void
		 */
		public function dismiss_notice() {      }
		/**
		 * Enqueue Scripts.
		 *
		 * @since 1.4.0
		 * @return void
		 */
		public function enqueue_scripts() {         }
		/**
		 * Rating priority sort
		 *
		 * @since 1.5.2
		 * @param array $array1 array one.
		 * @param array $array2 array two.
		 * @return array
		 */
		public function sort_notices( $array1, $array2 ) {      }
		/**
		 * Notice Types
		 *
		 * @since 1.4.0
		 * @return void
		 */
		public function show_notices() {        }
		/**
		 * Markup Notice.
		 *
		 * @since 1.4.0
		 * @param  array $notice Notice markup.
		 * @return void
		 */
		public static function markup( $notice = array() ) {        }
		/**
		 * Get URI
		 *
		 * @return mixed URL.
		 */
		public static function _get_uri() {         }
	}
	/**
	 * Base class for WP-CLI commands
	 *
	 * @package wp-cli
	 */
	abstract class WP_CLI_Command {

		public function __construct() {         }
	}
	/**
	 * Imports files as attachments, regenerates thumbnails, or lists registered image sizes.
	 *
	 * ## EXAMPLES
	 *
	 *     # Re-generate all thumbnails, without confirmation.
	 *     $ wp media regenerate --yes
	 *     Found 3 images to regenerate.
	 *     1/3 Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760).
	 *     2/3 Regenerated thumbnails for "Boardwalk" (ID 757).
	 *     3/3 Regenerated thumbnails for "Sunburst Over River" (ID 756).
	 *     Success: Regenerated 3 of 3 images.
	 *
	 *     # Import a local image and set it to be the featured image for a post.
	 *     $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image
	 *     Imported file '/home/person/Downloads/image.png' as attachment ID 1753 and attached to post 123 as featured image.
	 *     Success: Imported 1 of 1 images.
	 *
	 *     # List all registered image sizes
	 *     $ wp media image-size
	 *     +---------------------------+-------+--------+-------+
	 *     | name                      | width | height | crop  |
	 *     +---------------------------+-------+--------+-------+
	 *     | full                      |       |        | N/A   |
	 *     | twentyfourteen-full-width | 1038  | 576    | hard  |
	 *     | large                     | 1024  | 1024   | soft  |
	 *     | medium_large              | 768   | 0      | soft  |
	 *     | medium                    | 300   | 300    | soft  |
	 *     | thumbnail                 | 150   | 150    | hard  |
	 *     +---------------------------+-------+--------+-------+
	 *
	 *     # Fix orientation for specific images.
	 *     $ wp media fix-orientation 63
	 *     1/1 Fixing orientation for "Portrait_6" (ID 63).
	 *     Success: Fixed 1 of 1 images.
	 *
	 * @package wp-cli
	 */
	class Media_Command extends \WP_CLI_Command {

		/**
		 * Clear the WP object cache after this many regenerations/imports.
		 *
		 * @var integer
		 */
		const WP_CLEAR_OBJECT_CACHE_INTERVAL = 500;
		/**
		 * Regenerates thumbnails for one or more attachments.
		 *
		 * ## OPTIONS
		 *
		 * [<attachment-id>...]
		 * : One or more IDs of the attachments to regenerate.
		 *
		 * [--image_size=<image_size>]
		 * : Name of the image size to regenerate. Only thumbnails of this image size will be regenerated, thumbnails of other image sizes will not.
		 *
		 * [--skip-delete]
		 * : Skip deletion of the original thumbnails. If your thumbnails are linked from sources outside your control, it's likely best to leave them around. Defaults to false.
		 *
		 * [--only-missing]
		 * : Only generate thumbnails for images missing image sizes.
		 *
		 * [--delete-unknown]
		 * : Only delete thumbnails for old unregistered image sizes.
		 *
		 * [--yes]
		 * : Answer yes to the confirmation message. Confirmation only shows when no IDs passed as arguments.
		 *
		 * ## EXAMPLES
		 *
		 *     # Regenerate thumbnails for given attachment IDs.
		 *     $ wp media regenerate 123 124 125
		 *     Found 3 images to regenerate.
		 *     1/3 Regenerated thumbnails for "Vertical Image" (ID 123).
		 *     2/3 Regenerated thumbnails for "Horizontal Image" (ID 124).
		 *     3/3 Regenerated thumbnails for "Beautiful Picture" (ID 125).
		 *     Success: Regenerated 3 of 3 images.
		 *
		 *     # Regenerate all thumbnails, without confirmation.
		 *     $ wp media regenerate --yes
		 *     Found 3 images to regenerate.
		 *     1/3 Regenerated thumbnails for "Sydney Harbor Bridge" (ID 760).
		 *     2/3 Regenerated thumbnails for "Boardwalk" (ID 757).
		 *     3/3 Regenerated thumbnails for "Sunburst Over River" (ID 756).
		 *     Success: Regenerated 3 of 3 images.
		 *
		 *     # Re-generate all thumbnails that have IDs between 1000 and 2000.
		 *     $ seq 1000 2000 | xargs wp media regenerate
		 *     Found 4 images to regenerate.
		 *     1/4 Regenerated thumbnails for "Vertical Featured Image" (ID 1027).
		 *     2/4 Regenerated thumbnails for "Horizontal Featured Image" (ID 1022).
		 *     3/4 Regenerated thumbnails for "Unicorn Wallpaper" (ID 1045).
		 *     4/4 Regenerated thumbnails for "I Am Worth Loving Wallpaper" (ID 1023).
		 *     Success: Regenerated 4 of 4 images.
		 *
		 *     # Re-generate only the thumbnails of "large" image size for all images.
		 *     $ wp media regenerate --image_size=large
		 *     Do you really want to regenerate the "large" image size for all images? [y/n] y
		 *     Found 3 images to regenerate.
		 *     1/3 Regenerated "large" thumbnail for "Sydney Harbor Bridge" (ID 760).
		 *     2/3 No "large" thumbnail regeneration needed for "Boardwalk" (ID 757).
		 *     3/3 Regenerated "large" thumbnail for "Sunburst Over River" (ID 756).
		 *     Success: Regenerated 3 of 3 images.
		 */
		public function regenerate( $args, $assoc_args = array() ) {        }
		/**
		 * Creates attachments from local files or URLs.
		 *
		 * ## OPTIONS
		 *
		 * <file>...
		 * : Path to file or files to be imported. Supports the glob(3) capabilities of the current shell.
		 *     If file is recognized as a URL (for example, with a scheme of http or ftp), the file will be
		 *     downloaded to a temp file before being sideloaded.
		 *
		 * [--post_id=<post_id>]
		 * : ID of the post to attach the imported files to.
		 *
		 * [--post_name=<post_name>]
		 * : Name of the post to attach the imported files to.
		 *
		 * [--file_name=<name>]
		 * : Attachment name (post_name field).
		 *
		 * [--title=<title>]
		 * : Attachment title (post title field).
		 *
		 * [--caption=<caption>]
		 * : Caption for attachment (post excerpt field).
		 *
		 * [--alt=<alt_text>]
		 * : Alt text for image (saved as post meta).
		 *
		 * [--desc=<description>]
		 * : "Description" field (post content) of attachment post.
		 *
		 * [--skip-copy]
		 * : If set, media files (local only) are imported to the library but not moved on disk.
		 * File names will not be run through wp_unique_filename() with this set.
		 *
		 * [--preserve-filetime]
		 * : Use the file modified time as the post published & modified dates.
		 * Remote files will always use the current time.
		 *
		 * [--featured_image]
		 * : If set, set the imported image as the Featured Image of the post it is attached to.
		 *
		 * [--porcelain[=<field>]]
		 * : Output a single field for each imported image. Defaults to attachment ID when used as flag.
		 * ---
		 * options:
		 *   - url
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Import all jpgs in the current user's "Pictures" directory, not attached to any post.
		 *     $ wp media import ~/Pictures/**\/*.jpg
		 *     Imported file '/home/person/Pictures/landscape-photo.jpg' as attachment ID 1751.
		 *     Imported file '/home/person/Pictures/fashion-icon.jpg' as attachment ID 1752.
		 *     Success: Imported 2 of 2 items.
		 *
		 *     # Import a local image and set it to be the post thumbnail for a post.
		 *     $ wp media import ~/Downloads/image.png --post_id=123 --title="A downloaded picture" --featured_image
		 *     Imported file '/home/person/Downloads/image.png' as attachment ID 1753 and attached to post 123 as featured image.
		 *     Success: Imported 1 of 1 images.
		 *
		 *     # Import a local image, but set it as the featured image for all posts.
		 *     # 1. Import the image and get its attachment ID.
		 *     # 2. Assign the attachment ID as the featured image for all posts.
		 *     $ ATTACHMENT_ID="$(wp media import ~/Downloads/image.png --porcelain)"
		 *     $ wp post list --post_type=post --format=ids | xargs -d ' ' -I % wp post meta add % _thumbnail_id $ATTACHMENT_ID
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 *
		 *     # Import an image from the web.
		 *     $ wp media import http://s.wordpress.org/style/images/wp-header-logo.png --title='The WordPress logo' --alt="Semantic personal publishing"
		 *     Imported file 'http://s.wordpress.org/style/images/wp-header-logo.png' as attachment ID 1755.
		 *     Success: Imported 1 of 1 images.
		 *
		 *     # Get the URL for an attachment after import.
		 *     $ wp media import http://s.wordpress.org/style/images/wp-header-logo.png --porcelain | xargs -I {} wp post list --post__in={} --field=url --post_type=attachment
		 *     http://wordpress-develop.dev/wp-header-logo/
		 */
		public function import( $args, $assoc_args = array() ) {        }
		/**
		 * Lists image sizes registered with WordPress.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a specific format
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - yaml
		 *   - count
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each image size:
		 * * name
		 * * width
		 * * height
		 * * crop
		 * * ratio
		 *
		 * ## EXAMPLES
		 *
		 *     # List all registered image sizes
		 *     $ wp media image-size
		 *     +---------------------------+-------+--------+-------+-------+
		 *     | name                      | width | height | crop  | ratio |
		 *     +---------------------------+-------+--------+-------+-------+
		 *     | full                      |       |        | N/A   | N/A   |
		 *     | twentyfourteen-full-width | 1038  | 576    | hard  | 173:96|
		 *     | large                     | 1024  | 1024   | soft  | N/A   |
		 *     | medium_large              | 768   | 0      | soft  | N/A   |
		 *     | medium                    | 300   | 300    | soft  | N/A   |
		 *     | thumbnail                 | 150   | 150    | hard  | 1:1   |
		 *     +---------------------------+-------+--------+-------+-------+
		 *
		 * @subcommand image-size
		 */
		public function image_size( $args, $assoc_args ) {      }
		/**
		 * Fix image orientation for one or more attachments.
		 *
		 * ## OPTIONS
		 *
		 * [<attachment-id>...]
		 * : One or more IDs of the attachments to regenerate.
		 *
		 * [--dry-run]
		 * : Check images needing orientation without performing the operation.
		 *
		 * ## EXAMPLES
		 *
		 *     # Fix orientation for all images.
		 *     $ wp media fix-orientation
		 *     1/3 Fixing orientation for "Landscape_4" (ID 62).
		 *     2/3 Fixing orientation for "Landscape_3" (ID 61).
		 *     3/3 Fixing orientation for "Landscape_2" (ID 60).
		 *     Success: Fixed 3 of 3 images.
		 *
		 *     # Fix orientation dry run.
		 *     $ wp media fix-orientation 63 --dry-run
		 *     1/1 "Portrait_6" (ID 63) will be affected.
		 *     Success: 1 of 1 image will be affected.
		 *
		 *     # Fix orientation for specific images.
		 *     $ wp media fix-orientation 63
		 *     1/1 Fixing orientation for "Portrait_6" (ID 63).
		 *     Success: Fixed 1 of 1 images.
		 *
		 * @subcommand fix-orientation
		 */
		public function fix_orientation( $args, $assoc_args ) {         }
	}
}

namespace WP_CLI\I18n\Tests {

	class MakeJsonMapTest extends \WP_CLI\Tests\TestCase {

		public function set_up() {      }
		public function test_no_map() {         }
		public function test_invalid_map() {        }
		public function test_basic_map() {      }
		public function test_mixed_map() {      }
		public function test_other_map() {      }
		public function test_invalid_values_map() {         }
		public function test_merge_map() {      }
		public function test_merge_same_map() {         }
		public function test_merge_invalid_values_map() {       }
	}
	class IterableCodeExtractorTest extends \WP_CLI\Tests\TestCase {

		public function set_up() {      }
		public function tear_down() {       }
		public function test_can_include_files() {      }
		public function test_can_include_empty_array() {        }
		public function test_can_include_wildcard() {       }
		public function test_can_include_subdirectories() {         }
		public function test_can_include_only_php() {       }
		public function test_can_exclude_override_wildcard() {      }
		public function test_can_exclude_override_matching_directory() {        }
		public function test_can_not_exclude_partially_directory() {        }
		public function test_can_exclude_by_wildcard() {        }
		public function test_can_exclude_files() {      }
		public function test_can_override_exclude_by_include() {        }
		public function test_can_return_all_directory_files_sorted() {      }
		public function test_can_include_file_in_excluded_folder() {        }
		public function test_can_include_folder_in_excluded_folder() {      }
		public function test_can_include_file_in_excluded_folder_with_leading_slash() {         }
		public function test_can_include_file_in_excluded_folder_by_wildcard() {        }
		public function test_exclude_not_included_files() {         }
		public function test_wildcard_exclude() {       }
		public function test_identical_include_exclude() {      }
		public function test_can_include_file_in_symlinked_folder() {       }
		// IterableCodeExtractor::file_get_extension_multi is a private method
		protected static function get_method_as_public( $class_name, $method_name ) {       }
		protected static function file_get_extension_multi_invoke( $file ) {        }
		protected static function file_has_file_extension_invoke( $file, $extensions ) {        }
		/**
		 * @dataProvider file_extension_extract_provider
		 */
		public function test_gets_file_extension_correctly( $rel_input_file, $expected_extension ) {        }
		public static function file_extension_extract_provider() {      }
		/**
		 * @dataProvider file_extensions_matches_provider
		 */
		public function test_matches_file_extensions_correctly( $rel_input_file, $matching_extensions, $expected_result ) {         }
		public static function file_extensions_matches_provider() {         }
	}
}

   // If TestCase is not found, add this stub at the end of the file
namespace WP_CLI\Tests {
	class TestCase {}
}

namespace WP_CLI\I18n {
	trait IterableCodeExtractor {

		protected static $dir = '';
		/**
		 * Extract the translations from a file.
		 *
		 * @param array|string $file_or_files A path of a file or files
		 * @param Translations $translations  The translations instance to append the new translations.
		 * @param array        $options      {
		 *     Optional. An array of options passed down to static::fromString()
		 *
		 *     @type bool  $wpExtractTemplates Extract 'Template Name' headers in theme files. Default 'false'.
		 *     @type bool  $wpExtractPatterns  Extract 'Title' and 'Description' headers in pattern files. Default 'false'.
		 *     @type array $restrictFileNames  Skip all files which are not included in this array.
		 * }
		 * @return null
		 */
		public static function fromFile( $file_or_files, \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Extract the translations from a file.
		 *
		 * @param string       $dir                Root path to start the recursive traversal in.
		 * @param Translations $translations The translations instance to append the new translations.
		 * @param array        $options      {
		 *     Optional. An array of options passed down to static::fromString()
		 *
		 *     @type bool $wpExtractTemplates Extract 'Template Name' headers in theme files. Default 'false'.
		 *     @type array $exclude           A list of path to exclude. Default [].
		 *     @type array $extensions        A list of extensions to process. Default [].
		 * }
		 * @return void
		 */
		public static function fromDirectory( $dir, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * Determines whether a file is valid based on given matchers.
		 *
		 * @param SplFileInfo $file     File or directory.
		 * @param array       $matchers List of files and directories to match.
		 * @return int How strongly the file is matched.
		 */
		protected static function calculateMatchScore( \SplFileInfo $file, array $matchers = array() ) {        }
		/**
		 * Determines whether or not a directory has children that may be matched.
		 *
		 * @param SplFileInfo $dir      Directory.
		 * @param array       $matchers List of files and directories to match.
		 * @return bool Whether or not there are any matchers for children of this directory.
		 */
		protected static function containsMatchingChildren( \SplFileInfo $dir, array $matchers = array() ) {        }
		/**
		 * Recursively gets all PHP files within a directory.
		 *
		 * @param string $dir A path of a directory.
		 * @param array  $includes List of files and directories to include.
		 * @param array  $excludes List of files and directories to skip.
		 * @param array  $extensions List of filename extensions to process.
		 *
		 * @return array File list.
		 */
		public static function getFilesFromDirectory( $dir, array $includes = array(), array $excludes = array(), $extensions = array() ) {         }
		/**
		 * Determines whether the file extension of a file matches any of the given file extensions.
		 * The end/last part of a multi file extension must also match (`js` of `min.js`).
		 *
		 * @param SplFileInfo $file       File or directory.
		 * @param array       $extensions List of file extensions to match.
		 * @return bool Whether the file has a file extension that matches any of the ones in the list.
		 */
		protected static function file_has_file_extension( $file, $extensions ) {       }
		/**
		 * Gets the single- (e.g. `php`) or multi-file extension (e.g. `blade.php`) of a file.
		 *
		 * @param SplFileInfo $file File or directory.
		 * @return string The single- or multi-file extension of the file.
		 */
		protected static function file_get_extension_multi( $file ) {       }
		/**
		 * Trim leading slash from a path.
		 *
		 * @param string $path Path to trim.
		 * @return string Trimmed path.
		 */
		protected static function trim_leading_slash( $path ) {         }
	}
}

namespace WP_CLI\I18n\Tests {
	class TestIterableCodeExtractor {

		use \WP_CLI\I18n\IterableCodeExtractor;
	}
	class PotGeneratorTest extends \WP_CLI\Tests\TestCase {

		public function test_adds_correct_amount_of_plural_strings() {      }
	}
}

namespace Gettext\Extractors {
	interface ExtractorInterface {

		/**
		 * Extract the translations from a file.
		 *
		 * @param array|string $file         A path of a file or files
		 * @param Translations $translations The translations instance to append the new translations.
		 * @param array        $options
		 */
		public static function fromFile( $file, \Gettext\Translations $translations, array $options = array());
		/**
		 * Parses a string and append the translations found in the Translations instance.
		 *
		 * @param string       $string
		 * @param Translations $translations
		 * @param array        $options
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array());
	}
	interface ExtractorMultiInterface {

		/**
		 * Parses a string and append the translations found in the Translations instance.
		 * Allows scanning for multiple domains at a time (each Translation has to have a different domain)
		 *
		 * @param string         $string
		 * @param Translations[] $translations
		 * @param array          $options
		 */
		public static function fromStringMultiple( $string, array $translations, array $options = array());
		/**
		 * Parses a string and append the translations found in the Translations instance.
		 * Allows scanning for multiple domains at a time (each Translation has to have a different domain)
		 *
		 * @param $file
		 * @param Translations[] $translations
		 * @param array          $options
		 */
		public static function fromFileMultiple( $file, array $translations, array $options = array());
	}
	abstract class Extractor implements \Gettext\Extractors\ExtractorInterface {

		/**
		 * {@inheritdoc}
		 */
		public static function fromFile( $file, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * Checks and returns all files.
		 *
		 * @param string|array $file The file/s
		 *
		 * @return array The file paths
		 */
		protected static function getFiles( $file ) {       }
		/**
		 * Reads and returns the content of a file.
		 *
		 * @param string $file
		 *
		 * @return string
		 */
		protected static function readFile( $file ) {       }
	}
	/**
	 * Class to get gettext strings from javascript files.
	 */
	class JsCode extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface, \Gettext\Extractors\ExtractorMultiInterface {

		public static $options                  = array(
			'constants' => array(),
			'functions' => array(
				'gettext'    => 'gettext',
				'__'         => 'gettext',
				'ngettext'   => 'ngettext',
				'n__'        => 'ngettext',
				'pgettext'   => 'pgettext',
				'p__'        => 'pgettext',
				'dgettext'   => 'dgettext',
				'd__'        => 'dgettext',
				'dngettext'  => 'dngettext',
				'dn__'       => 'dngettext',
				'dpgettext'  => 'dpgettext',
				'dp__'       => 'dpgettext',
				'npgettext'  => 'npgettext',
				'np__'       => 'npgettext',
				'dnpgettext' => 'dnpgettext',
				'dnp__'      => 'dnpgettext',
				'noop'       => 'noop',
				'noop__'     => 'noop',
			),
		);
		protected static $functionsScannerClass = 'Gettext\\Utils\\JsFunctionsScanner';
		/**
		 * @inheritdoc
		 * @throws Exception
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * @inheritDoc
		 * @throws Exception
		 */
		public static function fromStringMultiple( $string, array $translations, array $options = array() ) {       }
		/**
		 * @inheritDoc
		 * @throws Exception
		 */
		public static function fromFileMultiple( $file, array $translations, array $options = array() ) {       }
	}
}

namespace WP_CLI\I18n {
	final class JsCodeExtractor extends \Gettext\Extractors\JsCode {

		use \WP_CLI\I18n\IterableCodeExtractor;
		public static $options = array(
			'extractComments' => array( 'translators', 'Translators' ),
			'constants'       => array(),
			'functions'       => array(
				'__'  => 'text_domain',
				'_x'  => 'text_context_domain',
				'_n'  => 'single_plural_number_domain',
				'_nx' => 'single_plural_number_context_domain',
			),
		);
		/**
		 * @inheritdoc
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
		/**
		 * @inheritDoc
		 */
		public static function fromStringMultiple( $text, array $translations, array $options = array() ) {         }
	}
}

namespace Gettext\Utils {
	abstract class FunctionsScanner {

		/**
		 * Scan and returns the functions and the arguments.
		 *
		 * @param array $constants Constants used in the code to replace
		 *
		 * @return array
		 */
		abstract public function getFunctions( array $constants = array());
		/**
		 * Search for specific functions and create translations.
		 *
		 * You can pass multiple translation with different domains and value found will be sorted respectively.
		 *
		 * @param Translations|Translations[] $translations Multiple domain translations instances where to save the values
		 * @param array                       $options The extractor options
		 * @throws Exception
		 */
		public function saveGettextFunctions( $translations, array $options ) {         }
		/**
		 * Deconstruct arguments to translation values
		 *
		 * @param $function
		 * @param $args
		 * @return array|null
		 * @throws Exception
		 */
		protected function deconstructArgs( $function, $args ) {        }
	}
	class JsFunctionsScanner extends \Gettext\Utils\FunctionsScanner {

		protected $code;
		protected $status = array();
		/**
		 * Constructor.
		 *
		 * @param string $code The php code to scan
		 */
		public function __construct( $code ) {      }
		/**
		 * {@inheritdoc}
		 */
		public function getFunctions( array $constants = array() ) {        }
		/**
		 * Get the current context of the scan.
		 *
		 * @param null|string $match To check whether the current status is this value
		 *
		 * @return string|bool
		 */
		protected function status( $match = null ) {        }
		/**
		 * Add a new status to the stack.
		 *
		 * @param string $status
		 */
		protected function downStatus( $status ) {      }
		/**
		 * Removes and return the current status.
		 *
		 * @return string|null
		 */
		protected function upStatus() {         }
		/**
		 * Prepares the arguments found in functions.
		 *
		 * @param string $argument
		 *
		 * @return string
		 */
		protected static function prepareArgument( $argument ) {        }
		/**
		 * Decodes a string with an argument.
		 *
		 * @param string $value
		 *
		 * @return string
		 */
		protected static function convertString( $value ) {         }
	}
}

namespace WP_CLI\I18n {
	final class JsFunctionsScanner extends \Gettext\Utils\JsFunctionsScanner {

		/**
		 * Enable extracting comments that start with a tag (if $tag is empty all the comments will be extracted).
		 *
		 * @param mixed $tag
		 */
		public function enableCommentsExtraction( $tag = '' ) {         }
		/**
		 * Disable comments extraction.
		 */
		public function disableCommentsExtraction() {       }
		/**
		 * {@inheritdoc}
		 */
		public function saveGettextFunctions( $translations, array $options ) {         }
	}
}

namespace Gettext\Extractors {
	/**
	 * Class to get gettext strings from php files returning arrays.
	 */
	class PhpCode extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface, \Gettext\Extractors\ExtractorMultiInterface {

		public static $options                  = array(
			// - false: to not extract comments
			// - empty string: to extract all comments
			// - non-empty string: to extract comments that start with that string
			// - array with strings to extract comments format.
			'extractComments' => false,
			'constants'       => array(),
			'functions'       => array(
				'gettext'    => 'gettext',
				'__'         => 'gettext',
				'ngettext'   => 'ngettext',
				'n__'        => 'ngettext',
				'pgettext'   => 'pgettext',
				'p__'        => 'pgettext',
				'dgettext'   => 'dgettext',
				'd__'        => 'dgettext',
				'dngettext'  => 'dngettext',
				'dn__'       => 'dngettext',
				'dpgettext'  => 'dpgettext',
				'dp__'       => 'dpgettext',
				'npgettext'  => 'npgettext',
				'np__'       => 'npgettext',
				'dnpgettext' => 'dnpgettext',
				'dnp__'      => 'dnpgettext',
				'noop'       => 'noop',
				'noop__'     => 'noop',
			),
		);
		protected static $functionsScannerClass = 'Gettext\\Utils\\PhpFunctionsScanner';
		/**
		 * {@inheritdoc}
		 *
		 * @throws Exception
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * @inheritDoc
		 * @throws Exception
		 */
		public static function fromStringMultiple( $string, array $translations, array $options = array() ) {       }
		/**
		 * @inheritDoc
		 */
		public static function fromFileMultiple( $file, array $translations, array $options = array() ) {       }
		/**
		 * Decodes a T_CONSTANT_ENCAPSED_STRING string.
		 *
		 * @param string $value
		 *
		 * @return string
		 */
		public static function convertString( $value ) {        }
		/**
		 * @param $dec
		 * @return string|null
		 * @see http://php.net/manual/en/function.chr.php#118804
		 */
		protected static function unicodeChar( $dec ) {         }
	}
}

namespace WP_CLI\I18n {
	// Modified Gettext Blade extractor that
	// uses the up-to-date BladeOne standalone Blade engine,
	// correctly supports fromStringMultiple.
	/**
	 * Class to get gettext strings from blade.php files returning arrays.
	 */
	class BladeGettextExtractor extends \Gettext\Extractors\PhpCode {

		/**
		 * Prepares a Blade compiler/engine and returns it.
		 *
		 * @return BladeOne
		 */
		protected static function getBladeCompiler() {      }
		/**
		 * Compiles the Blade template string into a PHP string in one step.
		 *
		 * @param string $text Blade string to be compiled to a PHP string
		 * @return string
		 */
		protected static function compileBladeToPhp( $text ) {      }
		/**
		 * {@inheritdoc}
		 *
		 * Note: In the parent PhpCode class fromString() uses fromStringMultiple() (overriden here)
		 */
		public static function fromStringMultiple( $text, array $translations, array $options = array() ) {         }
	}
	final class BladeCodeExtractor extends \WP_CLI\I18n\BladeGettextExtractor {

		use \WP_CLI\I18n\IterableCodeExtractor;
		public static $options = array(
			'extractComments' => array( 'translators', 'Translators' ),
			'constants'       => array(),
			'functions'       => array(
				'__'              => 'text_domain',
				'esc_attr__'      => 'text_domain',
				'esc_html__'      => 'text_domain',
				'esc_xml__'       => 'text_domain',
				'_e'              => 'text_domain',
				'esc_attr_e'      => 'text_domain',
				'esc_html_e'      => 'text_domain',
				'esc_xml_e'       => 'text_domain',
				'_x'              => 'text_context_domain',
				'_ex'             => 'text_context_domain',
				'esc_attr_x'      => 'text_context_domain',
				'esc_html_x'      => 'text_context_domain',
				'esc_xml_x'       => 'text_context_domain',
				'_n'              => 'single_plural_number_domain',
				'_nx'             => 'single_plural_number_context_domain',
				'_n_noop'         => 'single_plural_domain',
				'_nx_noop'        => 'single_plural_context_domain',
				// Compat.
				'_'               => 'gettext',
				// Same as 'text_domain'.
				// Deprecated.
				'_c'              => 'text_domain',
				'_nc'             => 'single_plural_number_domain',
				'__ngettext'      => 'single_plural_number_domain',
				'__ngettext_noop' => 'single_plural_domain',
			),
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
	class FileDataExtractor {

		/**
		 * Retrieves metadata from a file.
		 *
		 * Searches for metadata in the first 8kiB of a file, such as a plugin or theme.
		 * Each piece of metadata must be on its own line. Fields can not span multiple
		 * lines, the value will get cut at the end of the first line.
		 *
		 * If the file data is not within that first 8kiB, then the author should correct
		 * their plugin file and move the data headers to the top.
		 *
		 * @see get_file_data()
		 *
		 * @param string $file Path to the file.
		 * @param array  $headers List of headers, in the format array('HeaderKey' => 'Header Name').
		 *
		 * @return array Array of file headers in `HeaderKey => Header Value` format.
		 */
		public static function get_file_data( $file, $headers ) {       }
		/**
		 * Retrieves metadata from a string.
		 *
		 * @param string $text String to look for metadata in.
		 * @param array  $headers List of headers.
		 *
		 * @return array Array of file headers in `HeaderKey => Header Value` format.
		 */
		public static function get_file_data_from_string( $text, $headers ) {       }
		/**
		 * Strip close comment and close php tags from file headers used by WP.
		 *
		 * @see _cleanup_header_comment()
		 *
		 * @param string $str Header comment to clean up.
		 *
		 * @return string
		 */
		protected static function _cleanup_header_comment( $str ) {         }
	}
	class MakeJsonCommand extends \WP_CLI_Command {

		/**
		 * Options passed to json_encode().
		 *
		 * @var int JSON options.
		 */
		protected $json_options = 0;
		/**
		 * Extract JavaScript strings from PO files and add them to individual JSON files.
		 *
		 * For JavaScript internationalization purposes, WordPress requires translations to be split up into
		 * one Jed-formatted JSON file per JavaScript source file.
		 *
		 * See https://make.wordpress.org/core/2018/11/09/new-javascript-i18n-support-in-wordpress/ to learn more
		 * about WordPress JavaScript internationalization.
		 *
		 * ## OPTIONS
		 *
		 * <source>
		 * : Path to an existing PO file or a directory containing multiple PO files.
		 *
		 * [<destination>]
		 * : Path to the destination directory for the resulting JSON files. Defaults to the source directory.
		 *
		 * [--purge]
		 * : Whether to purge the strings that were extracted from the original source file. Defaults to true, use `--no-purge` to skip the removal.
		 *
		 * [--update-mo-files]
		 * : Whether MO files should be updated as well after updating PO files.
		 * Only has an effect when used in combination with `--purge`.
		 *
		 * [--pretty-print]
		 * : Pretty-print resulting JSON files.
		 *
		 * [--use-map=<paths_or_maps>]
		 * : Whether to use a mapping file for the strings, as a JSON value, array to specify multiple.
		 * Each element can either be a string (file path) or object (map).
		 *
		 * ## EXAMPLES
		 *
		 *     # Create JSON files for all PO files in the languages directory
		 *     $ wp i18n make-json languages
		 *
		 *     # Create JSON files for my-plugin-de_DE.po and leave the PO file untouched.
		 *     $ wp i18n make-json my-plugin-de_DE.po /tmp --no-purge
		 *
		 *     # Create JSON files with mapping
		 *     $ wp i18n make-json languages --use-map=build/map.json
		 *
		 *     # Create JSON files with multiple mappings
		 *     $ wp i18n make-json languages '--use-map=["build/map.json","build/map2.json"]'
		 *
		 *     # Create JSON files with object mapping
		 *     $ wp i18n make-json languages '--use-map={"source/index.js":"build/index.js"}'
		 *
		 * @when before_wp_load
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
		/**
		 * Collect maps from paths, normalize and merge
		 *
		 * @param string|array|bool $paths_or_maps argument. False to do nothing.
		 * @return array|null       Mapping array. Null if no maps specified.
		 */
		protected function build_map( $paths_or_maps ) {        }
		/**
		 * Splits a single PO file into multiple JSON files.
		 *
		 * @param string     $source_file Path to the source file.
		 * @param string     $destination Path to the destination directory.
		 * @param array|null $map               Source to build file mapping.
		 * @return array     List of created JSON files.
		 */
		protected function make_json( $source_file, $destination, $map ) {      }
		/**
		 * Takes the references and applies map, if given
		 *
		 * @param array      $references translation references
		 * @param array|null $map file mapping
		 * @return array     mapped references
		 */
		protected function reference_map( $references, $map ) {         }
		/**
		 * Builds a mapping of JS file names to translation entries.
		 *
		 * Exports translations for each JS file to a separate translation file.
		 *
		 * @param array  $mapping        A mapping of files to translation entries.
		 * @param string $base_file_name Base file name for JSON files.
		 * @param string $destination    Path to the destination directory.
		 *
		 * @return array List of created JSON files.
		 */
		protected function build_json_files( $mapping, $base_file_name, $destination ) {        }
		/**
		 * Removes strings from PO file that only occur in JavaScript file.
		 *
		 * @param string $source_file Path to the PO file.
		 * @return bool True on success, false otherwise.
		 */
		protected function remove_js_strings_from_po_file( $source_file ) {         }
	}
}

namespace WP_CLI\Dispatcher {
	/**
	 * A non-leaf node in the command tree.
	 * Contains one or more Subcommands.
	 *
	 * @package WP_CLI
	 */
	class CompositeCommand {

		protected $name;
		protected $shortdesc;
		protected $longdesc;
		protected $synopsis;
		protected $hook;
		protected $docparser;
		protected $parent;
		protected $subcommands = array();
		/**
		 * Instantiate a new CompositeCommand
		 *
		 * @param mixed     $parent Parent command (either Root or Composite)
		 * @param string    $name Represents how command should be invoked
		 * @param DocParser $docparser
		 */
		public function __construct( $parent, $name, $docparser ) {         }
		/**
		 * Get the parent composite (or root) command
		 *
		 * @return mixed
		 */
		public function get_parent() {      }
		/**
		 * Add a named subcommand to this composite command's
		 * set of contained subcommands.
		 *
		 * @param string                      $name     Represents how subcommand should be invoked
		 * @param Subcommand|CompositeCommand $command  Cub-command to add.
		 * @param bool                        $override Optional. Whether to override an existing subcommand of the same
		 *                                              name.
		 */
		public function add_subcommand( $name, $command, $override = true ) {       }
		/**
		 * Remove a named subcommand from this composite command's set of contained
		 * subcommands
		 *
		 * @param string $name Represents how subcommand should be invoked
		 */
		public function remove_subcommand( $name ) {        }
		/**
		 * Composite commands always contain subcommands.
		 *
		 * @return true
		 */
		public function can_have_subcommands() {        }
		/**
		 * Get the subcommands contained by this composite
		 * command.
		 *
		 * @return array
		 */
		public function get_subcommands() {         }
		/**
		 * Get the name of this composite command.
		 *
		 * @return string
		 */
		public function get_name() {        }
		/**
		 * Get the short description for this composite
		 * command.
		 *
		 * @return string
		 */
		public function get_shortdesc() {       }
		/**
		 * Get the hook name for this composite
		 * command.
		 *
		 * @return string
		 */
		public function get_hook() {        }
		/**
		 * Set the short description for this composite command.
		 *
		 * @param string $shortdesc
		 */
		public function set_shortdesc( $shortdesc ) {       }
		/**
		 * Get the long description for this composite
		 * command.
		 *
		 * @return string
		 */
		public function get_longdesc() {        }
		/**
		 * Set the long description for this composite command
		 *
		 * @param string $longdesc
		 */
		public function set_longdesc( $longdesc ) {         }
		/**
		 * Get the synopsis for this composite command.
		 * As a collection of subcommands, the composite
		 * command is only intended to invoke those
		 * subcommands.
		 *
		 * @return string
		 */
		public function get_synopsis() {        }
		/**
		 * Get the usage for this composite command.
		 *
		 * @return string
		 */
		public function get_usage( $prefix ) {      }
		/**
		 * Show the usage for all subcommands contained
		 * by the composite command.
		 */
		public function show_usage() {      }
		/**
		 * When a composite command is invoked, it shows usage
		 * docs for its subcommands.
		 *
		 * @param array $args
		 * @param array $assoc_args
		 * @param array $extra_args
		 */
		public function invoke( $args, $assoc_args, $extra_args ) {         }
		/**
		 * Given supplied arguments, find a contained
		 * subcommand
		 *
		 * @param array $args
		 * @return Subcommand|false
		 */
		public function find_subcommand( &$args ) {         }
		/**
		 * Composite commands can only be known by one name.
		 *
		 * @return false
		 */
		public function get_alias() {       }
		/***
		 * Get the list of global parameters
		 *
		 * @param string $root_command whether to include or not root command specific description
		 * @return string
		 */
		protected function get_global_params( $root_command = false ) {         }
	}
	/**
	 * Adds a command namespace without actual functionality.
	 *
	 * This is meant to provide the means to attach meta information to a namespace
	 * when there's no actual command needed.
	 *
	 * In case a real command gets registered for the same name, it replaces the
	 * command namespace.
	 *
	 * @package WP_CLI
	 */
	class CommandNamespace extends \WP_CLI\Dispatcher\CompositeCommand {

		/**
		 * Show the usage for all subcommands contained
		 * by the composite command.
		 */
		public function show_usage() {      }
	}
}

namespace WP_CLI\I18n {
	/**
	 * Provides internationalization tools for WordPress projects.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a POT file for the WordPress plugin/theme in the current directory
	 *     $ wp i18n make-pot . languages/my-plugin.pot
	 *
	 * @when before_wp_load
	 */
	class CommandNamespace extends \WP_CLI\Dispatcher\CommandNamespace {

	}
}

namespace Gettext\Utils {
	class PhpFunctionsScanner extends \Gettext\Utils\FunctionsScanner {

		/**
		 * PHP tokens of the code to be parsed.
		 *
		 * @var array
		 */
		protected $tokens;
		/**
		 * If not false, comments will be extracted.
		 *
		 * @var string|false|array
		 */
		protected $extractComments = false;
		/**
		 * Enable extracting comments that start with a tag (if $tag is empty all the comments will be extracted).
		 *
		 * @param mixed $tag
		 */
		public function enableCommentsExtraction( $tag = '' ) {         }
		/**
		 * Disable comments extraction.
		 */
		public function disableCommentsExtraction() {       }
		/**
		 * Constructor.
		 *
		 * @param string $code The php code to scan
		 */
		public function __construct( $code ) {      }
		/**
		 * {@inheritdoc}
		 */
		public function getFunctions( array $constants = array() ) {        }
		/**
		 * Extract the actual text from a PHP comment.
		 *
		 * If set, only returns comments that match the prefix(es).
		 *
		 * @param string $value The PHP comment.
		 * @param int    $line Line number.
		 *
		 * @return null|ParsedComment Comment or null if comment extraction is disabled or if there is a prefix mismatch.
		 */
		protected function parsePhpComment( $value, $line ) {       }
	}
}

namespace WP_CLI\I18n {
	class PhpFunctionsScanner extends \Gettext\Utils\PhpFunctionsScanner {

		/**
		 * {@inheritdoc}
		 */
		public function saveGettextFunctions( $translations, array $options ) {         }
	}
}

namespace Gettext\Generators {
	interface GeneratorInterface {

		/**
		 * Saves the translations in a file.
		 *
		 * @param Translations $translations
		 * @param string       $file
		 * @param array        $options
		 *
		 * @return bool
		 */
		public static function toFile( \Gettext\Translations $translations, $file, array $options = array());
		/**
		 * Generates a string with the translations ready to save in a file.
		 *
		 * @param Translations $translations
		 * @param array        $options
		 *
		 * @return string
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array());
	}
	abstract class Generator implements \Gettext\Generators\GeneratorInterface {

		/**
		 * {@inheritdoc}
		 */
		public static function toFile( \Gettext\Translations $translations, $file, array $options = array() ) {         }
	}
}

namespace Gettext\Utils {
	/**
	 * Trait to provide the functionality of extracting headers.
	 */
	trait HeadersGeneratorTrait {

		/**
		 * Returns the headers as a string.
		 *
		 * @param Translations $translations
		 *
		 * @return string
		 */
		protected static function generateHeaders( \Gettext\Translations $translations ) {      }
	}
	/**
	 * Trait to provide the functionality of extracting headers.
	 */
	trait HeadersExtractorTrait {

		/**
		 * Add the headers found to the translations instance.
		 *
		 * @param string       $headers
		 * @param Translations $translations
		 *
		 * @return array
		 */
		protected static function extractHeaders( $headers, \Gettext\Translations $translations ) {         }
		/**
		 * Checks if it is a header definition line. Useful for distguishing between header definitions
		 * and possible continuations of a header entry.
		 *
		 * @param string $line Line to parse
		 *
		 * @return bool
		 */
		protected static function isHeaderDefinition( $line ) {         }
		/**
		 * Normalize a string.
		 *
		 * @param string $value
		 *
		 * @return string
		 */
		public static function convertString( $value ) {        }
	}
	/**
	 * Trait used by all generators that exports the translations to multidimensional arrays
	 * (context => [original => [translation, plural1, pluraln...]]).
	 */
	trait MultidimensionalArrayTrait {

		use \Gettext\Utils\HeadersGeneratorTrait;
		use \Gettext\Utils\HeadersExtractorTrait;
		/**
		 * Returns a multidimensional array.
		 *
		 * @param Translations $translations
		 * @param bool         $includeHeaders
		 * @param bool         $forceArray
		 *
		 * @return array
		 */
		protected static function toArray( \Gettext\Translations $translations, $includeHeaders, $forceArray = false ) {        }
		/**
		 * Extract the entries from a multidimensional array.
		 *
		 * @param array        $messages
		 * @param Translations $translations
		 */
		protected static function fromArray( array $messages, \Gettext\Translations $translations ) {       }
	}
}

namespace Gettext\Generators {
	class PhpArray extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		public static $options = array( 'includeHeaders' => true );
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Generates an array with the translations.
		 *
		 * @param Translations $translations
		 * @param array        $options
		 *
		 * @return array
		 */
		public static function generate( \Gettext\Translations $translations, array $options = array() ) {      }
	}
}

namespace WP_CLI\I18n {
	/**
	 * PHP array file generator.
	 *
	 * Returns output in the form WordPress uses.
	 */
	class PhpArrayGenerator extends \Gettext\Generators\PhpArray {

		public static $options = array( 'includeHeaders' => false );
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Generates an array with the translations.
		 *
		 * @param Translations $translations
		 * @param array        $options
		 *
		 * @return array
		 */
		public static function generate( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Returns an array containing headers and translations.
		 *
		 * @param Translations $translations
		 * @param bool         $include_headers
		 * @param bool         $force_array Unused.
		 *
		 * @return array
		 */
		protected static function toArray( \Gettext\Translations $translations, $include_headers, $force_array = false ) {      }
	}
	final class PhpCodeExtractor extends \Gettext\Extractors\PhpCode {

		use \WP_CLI\I18n\IterableCodeExtractor;
		public static $options = array(
			'extractComments' => array( 'translators', 'Translators' ),
			'constants'       => array(),
			'functions'       => array(
				'__'              => 'text_domain',
				'esc_attr__'      => 'text_domain',
				'esc_html__'      => 'text_domain',
				'esc_xml__'       => 'text_domain',
				'_e'              => 'text_domain',
				'esc_attr_e'      => 'text_domain',
				'esc_html_e'      => 'text_domain',
				'esc_xml_e'       => 'text_domain',
				'_x'              => 'text_context_domain',
				'_ex'             => 'text_context_domain',
				'esc_attr_x'      => 'text_context_domain',
				'esc_html_x'      => 'text_context_domain',
				'esc_xml_x'       => 'text_context_domain',
				'_n'              => 'single_plural_number_domain',
				'_nx'             => 'single_plural_number_context_domain',
				'_n_noop'         => 'single_plural_domain',
				'_nx_noop'        => 'single_plural_context_domain',
				// Compat.
				'_'               => 'gettext',
				// Same as 'text_domain'.
				// Deprecated.
				'_c'              => 'text_domain',
				'_nc'             => 'single_plural_number_domain',
				'__ngettext'      => 'single_plural_number_domain',
				'__ngettext_noop' => 'single_plural_domain',
			),
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
}

namespace Gettext\Generators {
	class Jed extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		public static $options = array( 'json' => 0 );
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Generates an array with all translations.
		 *
		 * @param Translations $translations
		 *
		 * @return array
		 */
		protected static function buildMessages( \Gettext\Translations $translations ) {        }
	}
}

namespace WP_CLI\I18n {
	/**
	 * Jed file generator.
	 *
	 * Adds some more meta data to JED translation files than the default generator.
	 */
	class JedGenerator extends \Gettext\Generators\Jed {

		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Generates an array with all translations.
		 *
		 * @param Translations $translations
		 *
		 * @return array
		 */
		public static function buildMessages( \Gettext\Translations $translations ) {       }
	}
	class JsonSchemaExtractor extends \Gettext\Extractors\Extractor {

		use \WP_CLI\I18n\IterableCodeExtractor;
		/**
		 * Source URL from which to download the latest theme-i18n.json file.
		 *
		 * @var string
		 */
		const THEME_JSON_SOURCE = 'https://develop.svn.wordpress.org/trunk/src/wp-includes/theme-i18n.json';
		/**
		 * Fallback theme-18n.json file path.
		 *
		 * @var string
		 */
		const THEME_JSON_FALLBACK = __DIR__ . '/../assets/theme-i18n.json';
		/**
		 * Source URL from which to download the latest block-i18n.json file.
		 *
		 * @var string
		 */
		const BLOCK_JSON_SOURCE = 'https://develop.svn.wordpress.org/trunk/src/wp-includes/block-i18n.json';
		/**
		 * Fallback block-18n.json file path.
		 *
		 * @var string
		 */
		const BLOCK_JSON_FALLBACK = __DIR__ . '/../assets/block-i18n.json';
		/**
		 * Static cache for the remote schema files.
		 *
		 * @var array<string, string>
		 */
		protected static $schema_cache = array();
		/**
		 * Load the i18n from a remote URL or fall back to a local schema in case of an error.
		 *
		 * @param string $schema i18n schema URL.
		 * @param string $fallback Fallback i18n schema JSON file.
		 * @return array|mixed
		 */
		protected static function load_schema( $schema, $fallback ) {       }
		/**
		 * @inheritdoc
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
	final class ThemeJsonExtractor extends \WP_CLI\I18n\JsonSchemaExtractor {

		/**
		 * @inheritdoc
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
	class MakePhpCommand extends \WP_CLI_Command {

		/**
		 * Create PHP files from PO files.
		 *
		 * ## OPTIONS
		 *
		 * <source>
		 * : Path to an existing PO file or a directory containing multiple PO files.
		 *
		 * [<destination>]
		 * : Path to the destination directory for the resulting PHP files. Defaults to the source directory.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create PHP files for all PO files in the current directory.
		 *     $ wp i18n make-php .
		 *     Success: Created 3 files.
		 *
		 *     # Create a PHP file from a single PO file in a specific directory.
		 *     $ wp i18n make-php example-plugin-de_DE.po languages
		 *     Success: Created 1 file.
		 *
		 * @when before_wp_load
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
}

namespace Gettext\Generators {
	class Po extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		public static $options = array( 'noLocation' => false );
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Escapes and adds double quotes to a string.
		 *
		 * @param string $string
		 *
		 * @return string
		 */
		protected static function multilineQuote( $string ) {       }
		/**
		 * Add one or more lines depending whether the string is multiline or not.
		 *
		 * @param array  &$lines
		 * @param string $name
		 * @param string $value
		 */
		protected static function addLines( array &$lines, $name, $value ) {        }
		/**
		 * Convert a string to its PO representation.
		 *
		 * @param string $value
		 *
		 * @return string
		 */
		public static function convertString( $value ) {        }
	}
}

namespace WP_CLI\I18n {
	/**
	 * POT file generator.
	 *
	 * The only difference to the existing PO file generator is that this
	 * adds some comments at the very beginning of the file.
	 */
	class PotGenerator extends \Gettext\Generators\Po {

		protected static $comments_before_headers = array();
		/**
		 * Text to include as a comment before the start of the PO contents
		 *
		 * Doesn't need to include # in the beginning of lines, these are added automatically.
		 *
		 * @param string $comment File comment.
		 */
		public static function setCommentBeforeHeaders( $comment ) {        }
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		/**
		 * Escapes and adds double quotes to a string.
		 *
		 * @param string $text Multiline string.
		 *
		 * @return string[]
		 */
		protected static function multilineQuote( $text ) {         }
		/**
		 * Add one or more lines depending whether the string is multiline or not.
		 *
		 * @param array  &$lines Array lines should be added to.
		 * @param string $name   Name of the line, e.g. msgstr or msgid_plural.
		 * @param string $value  The line to add.
		 */
		protected static function addLines( array &$lines, $name, $value ) {        }
	}
	final class BlockExtractor extends \WP_CLI\I18n\JsonSchemaExtractor {

		/**
		 * @inheritdoc
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
	class MakeMoCommand extends \WP_CLI_Command {

		/**
		 * Create MO files from PO files.
		 *
		 * ## OPTIONS
		 *
		 * <source>
		 * : Path to an existing PO file or a directory containing multiple PO files.
		 *
		 * [<destination>]
		 * : Path to the destination file or directory for the resulting MO files. Defaults to the source directory.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create MO files for all PO files in the current directory.
		 *     $ wp i18n make-mo .
		 *
		 *     # Create a MO file from a single PO file in a specific directory.
		 *     $ wp i18n make-mo example-plugin-de_DE.po languages
		 *
		 *     # Create a MO file from a single PO file to a specific file destination
		 *     $ wp i18n make-mo example-plugin-de_DE.po languages/bar.mo
		 *
		 * @when before_wp_load
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
	class MakePotCommand extends \WP_CLI_Command {

		/**
		 * @var string
		 */
		protected $source;
		/**
		 * @var string
		 */
		protected $destination;
		/**
		 * @var array
		 */
		protected $merge = array();
		/**
		 * @var Translations[]
		 */
		protected $exceptions = array();
		/**
		 * @var bool
		 */
		protected $subtract_and_merge;
		/**
		 * @var array
		 */
		protected $include = array();
		/**
		 * @var array
		 */
		protected $exclude = array( 'node_modules', '.*', 'vendor', 'Gruntfile.js', 'webpack.config.js', '*.min.js', 'test', 'tests' );
		/**
		 * @var string
		 */
		protected $slug;
		/**
		 * @var array
		 */
		protected $main_file_data = array();
		/**
		 * @var string
		 */
		protected $main_file_path;
		/**
		 * @var bool
		 */
		protected $skip_js = false;
		/**
		 * @var bool
		 */
		protected $skip_php = false;
		/**
		 * @var bool
		 */
		protected $skip_blade = false;
		/**
		 * @var bool
		 */
		protected $skip_block_json = false;
		/**
		 * @var bool
		 */
		protected $skip_theme_json = false;
		/**
		 * @var bool
		 */
		protected $skip_audit = false;
		/**
		 * @var bool
		 */
		protected $location = true;
		/**
		 * @var array
		 */
		protected $headers = array();
		/**
		 * @var string
		 */
		protected $domain;
		/**
		 * @var string
		 */
		protected $package_name;
		/**
		 * @var string
		 */
		protected $file_comment;
		/**
		 * @var string
		 */
		protected $project_type = 'generic';
		/**
		 * These Regexes copied from http://php.net/manual/en/function.sprintf.php#93552
		 * and adjusted for better precision and updated specs.
		 */
		const SPRINTF_PLACEHOLDER_REGEX = '/(?:
		(?<!%)                     # Don\'t match a literal % (%%).
		(
			%                          # Start of placeholder.
			(?:[0-9]+\\$)?              # Optional ordering of the placeholders.
			[+-]?                      # Optional sign specifier.
			(?:
				(?:0|\'.)?                 # Optional padding specifier - excluding the space.
				-?                         # Optional alignment specifier.
				[0-9]*                     # Optional width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
				|                      # Only recognize the space as padding in combination with a width specifier.
				(?:[ ])?                   # Optional space padding specifier.
				-?                         # Optional alignment specifier.
				[0-9]+                     # Width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
			)
			[bcdeEfFgGosuxX]           # Type specifier.
		)
	)/x';
		/**
		 * "Unordered" means there's no position specifier: '%s', not '%2$s'.
		 */
		const UNORDERED_SPRINTF_PLACEHOLDER_REGEX = '/(?:
		(?<!%)                     # Don\'t match a literal % (%%).
		%                          # Start of placeholder.
		[+-]?                      # Optional sign specifier.
		(?:
			(?:0|\'.)?                 # Optional padding specifier - excluding the space.
			-?                         # Optional alignment specifier.
			[0-9]*                     # Optional width specifier.
			(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
			|                      # Only recognize the space as padding in combination with a width specifier.
			(?:[ ])?                   # Optional space padding specifier.
			-?                         # Optional alignment specifier.
			[0-9]+                     # Width specifier.
			(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
		)
		[bcdeEfFgGosuxX]           # Type specifier.
	)/x';
		/**
		 * Create a POT file for a WordPress project.
		 *
		 * Scans PHP, Blade-PHP and JavaScript files for translatable strings, as well as theme stylesheets and plugin files
		 * if the source directory is detected as either a plugin or theme.
		 *
		 * ## OPTIONS
		 *
		 * <source>
		 * : Directory to scan for string extraction.
		 *
		 * [<destination>]
		 * : Name of the resulting POT file.
		 *
		 * [--slug=<slug>]
		 * : Plugin or theme slug. Defaults to the source directory's basename.
		 *
		 * [--domain=<domain>]
		 * : Text domain to look for in the source code, unless the `--ignore-domain` option is used.
		 * By default, the "Text Domain" header of the plugin or theme is used.
		 * If none is provided, it falls back to the project slug.
		 *
		 * [--ignore-domain]
		 * : Ignore the text domain completely and extract strings with any text domain.
		 *
		 * [--merge[=<paths>]]
		 * : Comma-separated list of POT files whose contents should be merged with the extracted strings.
		 * If left empty, defaults to the destination POT file. POT file headers will be ignored.
		 *
		 * [--subtract=<paths>]
		 * : Comma-separated list of POT files whose contents should act as some sort of denylist for string extraction.
		 * Any string which is found on that denylist will not be extracted.
		 * This can be useful when you want to create multiple POT files from the same source directory with slightly
		 * different content and no duplicate strings between them.
		 *
		 * [--subtract-and-merge]
		 * : Whether source code references and comments from the generated POT file should be instead added to the POT file
		 * used for subtraction. Warning: this modifies the files passed to `--subtract`!
		 *
		 * [--include=<paths>]
		 * : Comma-separated list of files and paths that should be used for string extraction.
		 * If provided, only these files and folders will be taken into account for string extraction.
		 * For example, `--include="src,my-file.php` will ignore anything besides `my-file.php` and files in the `src`
		 * directory. Simple glob patterns can be used, i.e. `--include=foo-*.php` includes any PHP file with the `foo-`
		 * prefix. Leading and trailing slashes are ignored, i.e. `/my/directory/` is the same as `my/directory`.
		 *
		 * [--exclude=<paths>]
		 * : Comma-separated list of files and paths that should be skipped for string extraction.
		 * For example, `--exclude=.github,myfile.php` would ignore any strings found within `myfile.php` or the `.github`
		 * folder. Simple glob patterns can be used, i.e. `--exclude=foo-*.php` excludes any PHP file with the `foo-`
		 * prefix. Leading and trailing slashes are ignored, i.e. `/my/directory/` is the same as `my/directory`. The
		 * following files and folders are always excluded: node_modules, .git, .svn, .CVS, .hg, vendor, *.min.js.
		 *
		 * [--headers=<headers>]
		 * : Array in JSON format of custom headers which will be added to the POT file. Defaults to empty array.
		 *
		 * [--location]
		 * : Whether to write `#: filename:line` lines.
		 * Defaults to true, use `--no-location` to skip the removal.
		 * Note that disabling this option makes it harder for technically skilled translators to understand each message’s context.
		 *
		 * [--skip-js]
		 * : Skips JavaScript string extraction. Useful when this is done in another build step, e.g. through Babel.
		 *
		 * [--skip-php]
		 * : Skips PHP string extraction.
		 *
		 * [--skip-blade]
		 * : Skips Blade-PHP string extraction.
		 *
		 * [--skip-block-json]
		 * : Skips string extraction from block.json files.
		 *
		 * [--skip-theme-json]
		 * : Skips string extraction from theme.json files.
		 *
		 * [--skip-audit]
		 * : Skips string audit where it tries to find possible mistakes in translatable strings. Useful when running in an
		 * automated environment.
		 *
		 * [--file-comment=<file-comment>]
		 * : String that should be added as a comment to the top of the resulting POT file.
		 * By default, a copyright comment is added for WordPress plugins and themes in the following manner:
		 *
		 *      ```
		 *      Copyright (C) 2018 Example Plugin Author
		 *      This file is distributed under the same license as the Example Plugin package.
		 *      ```
		 *
		 *      If a plugin or theme specifies a license in their main plugin file or stylesheet, the comment looks like
		 *      this:
		 *
		 *      ```
		 *      Copyright (C) 2018 Example Plugin Author
		 *      This file is distributed under the GPLv2.
		 *      ```
		 *
		 * [--package-name=<name>]
		 * : Name to use for package name in the resulting POT file's `Project-Id-Version` header.
		 * Overrides plugin or theme name, if applicable.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create a POT file for the WordPress plugin/theme in the current directory.
		 *     $ wp i18n make-pot . languages/my-plugin.pot
		 *
		 *     # Create a POT file for the continents and cities list in WordPress core.
		 *     $ wp i18n make-pot . continents-and-cities.pot --include="wp-admin/includes/continents-cities.php" --ignore-domain
		 *
		 *     # Create a POT file for the WordPress theme in the current directory with custom headers.
		 *     $ wp i18n make-pot . languages/my-theme.pot --headers='{"Report-Msgid-Bugs-To":"https://github.com/theme-author/my-theme/","POT-Creation-Date":""}'
		 *
		 * @when before_wp_load
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
		/**
		 * Process arguments from command-line in a reusable way.
		 *
		 * @throws WP_CLI\ExitException
		 *
		 * @param array $args       Command arguments.
		 * @param array $assoc_args Associative arguments.
		 */
		public function handle_arguments( $args, $assoc_args ) {        }
		/**
		 * Removes leading and trailing slashes of a string.
		 *
		 * @param string $text What to add and remove slashes from.
		 * @return string String without leading and trailing slashes.
		 */
		protected function unslashit( $text ) {         }
		/**
		 * Retrieves the main file data of the plugin or theme.
		 *
		 * @return array
		 */
		protected function get_main_file_data() {       }
		/**
		 * Returns the file headers for themes and plugins.
		 *
		 * @param string $type Source type, either theme or plugin.
		 *
		 * @return array List of file headers.
		 */
		protected function get_file_headers( $type ) {      }
		/**
		 * Creates a POT file and stores it on disk.
		 *
		 * @throws WP_CLI\ExitException
		 *
		 * @return Translations A Translation set.
		 */
		protected function extract_strings() {      }
		/**
		 * Audits strings.
		 *
		 * Goes through all extracted strings to find possible mistakes.
		 *
		 * @param Translations $translations Translations object.
		 */
		protected function audit_strings( $translations ) {         }
		/**
		 * Returns the copyright comment for the given package.
		 *
		 * @return string File comment.
		 */
		protected function get_file_comment() {         }
		/**
		 * Sets default POT file headers for the project.
		 *
		 * @param Translations $translations Translations object.
		 */
		protected function set_default_headers( $translations ) {       }
		/**
		 * Extracts the WordPress version number from wp-includes/version.php.
		 *
		 * @return string|false Version number on success, false otherwise.
		 */
		protected function get_wp_version() {       }
	}
	final class MapCodeExtractor extends \Gettext\Extractors\JsCode {

		use \WP_CLI\I18n\IterableCodeExtractor;
		public static $options = array(
			'extractComments' => array( 'translators', 'Translators' ),
			'constants'       => array(),
			'functions'       => array(
				'__'  => 'text_domain',
				'_x'  => 'text_context_domain',
				'_n'  => 'single_plural_number_domain',
				'_nx' => 'single_plural_number_context_domain',
			),
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $text, \Gettext\Translations $translations, array $options = array() ) {         }
	}
	class UpdatePoCommand extends \WP_CLI_Command {

		/**
		 * Update PO files from a POT file.
		 *
		 * This behaves similarly to the [msgmerge](https://www.gnu.org/software/gettext/manual/html_node/msgmerge-Invocation.html) command.
		 *
		 * ## OPTIONS
		 *
		 * <source>
		 * : Path to an existing POT file to use for updating.
		 *
		 * [<destination>]
		 * : PO file to update or a directory containing multiple PO files.
		 *   Defaults to all PO files in the source directory.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update all PO files from a POT file in the current directory.
		 *     $ wp i18n update-po example-plugin.pot
		 *     Success: Updated 3 files.
		 *
		 *     # Update a PO file from a POT file.
		 *     $ wp i18n update-po example-plugin.pot example-plugin-de_DE.po
		 *     Success: Updated 1 file.
		 *
		 *     # Update all PO files in a given directory from a POT file.
		 *     $ wp i18n update-po example-plugin.pot languages
		 *     Success: Updated 2 files.
		 *
		 * @when before_wp_load
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
}

namespace {
	class Server_Command extends \WP_CLI_Command {

		/**
		 * Launches PHP's built-in web server for a specific WordPress installation.
		 *
		 * Uses `php -S` to launch a web server serving the WordPress webroot.
		 * <http://php.net/manual/en/features.commandline.webserver.php>
		 *
		 * Importantly, PHP's built-in web server doesn't support `.htaccess` files.
		 * If this is a requirement, please use a more advanced web server.
		 *
		 * ## OPTIONS
		 *
		 * [--host=<host>]
		 * : The hostname to bind the server to.
		 * ---
		 * default: localhost
		 * ---
		 *
		 * [--port=<port>]
		 * : The port number to bind the server to.
		 * ---
		 * default: 8080
		 * ---
		 *
		 * [--docroot=<path>]
		 * : The path to use as the document root. If the path global parameter is
		 * set, the default value is it.
		 *
		 * [--config=<file>]
		 * : Configure the server with a specific .ini file.
		 *
		 * ## EXAMPLES
		 *
		 *     # Make the instance available on any address (with port 8080)
		 *     $ wp server --host=0.0.0.0
		 *     PHP 5.6.9 Development Server started at Tue May 24 01:27:11 2016
		 *     Listening on http://0.0.0.0:8080
		 *     Document root is /
		 *     Press Ctrl-C to quit.
		 *
		 *     # Run on port 80 (for multisite)
		 *     $ wp server --host=localhost.localdomain --port=80
		 *     PHP 5.6.9 Development Server started at Tue May 24 01:30:06 2016
		 *     Listening on http://localhost1.localdomain1:80
		 *     Document root is /
		 *     Press Ctrl-C to quit.
		 *
		 *     # Configure the server with a specific .ini file
		 *     $ wp server --config=development.ini
		 *     PHP 7.0.9 Development Server started at Mon Aug 22 12:09:04 2016
		 *     Listening on http://localhost:8080
		 *     Document root is /
		 *     Press Ctrl-C to quit.
		 *
		 * @when before_wp_load
		 */
		public function __invoke( $_, $assoc_args ) {       }
	}
}

namespace WP_CLI\MaintenanceMode {
	/**
	 * Activates, deactivates or checks the status of the maintenance mode of a site.
	 *
	 * ## EXAMPLES
	 *
	 *     # Activate Maintenance mode.
	 *     $ wp maintenance-mode activate
	 *     Enabling Maintenance mode...
	 *     Success: Activated Maintenance mode.
	 *
	 *     # Deactivate Maintenance mode.
	 *     $ wp maintenance-mode deactivate
	 *     Disabling Maintenance mode...
	 *     Success: Deactivated Maintenance mode.
	 *
	 *     # Display Maintenance mode status.
	 *     $ wp maintenance-mode status
	 *     Maintenance mode is active.
	 *
	 *     # Get Maintenance mode status for scripting purpose.
	 *     $ wp maintenance-mode is-active
	 *     $ echo $?
	 *     1
	 *
	 * @when    after_wp_load
	 * @package wp-cli
	 */
	class MaintenanceModeCommand extends \WP_CLI_Command {

		/**
		 * Instantiate a MaintenanceModeCommand object.
		 */
		public function __construct() {         }
		/**
		 * Activates maintenance mode.
		 *
		 * ## OPTIONS
		 *
		 * [--force]
		 * : Force maintenance mode activation operation.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp maintenance-mode activate
		 *     Enabling Maintenance mode...
		 *     Success: Activated Maintenance mode.
		 */
		public function activate( $_, $assoc_args ) {       }
		/**
		 * Deactivates maintenance mode.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp maintenance-mode deactivate
		 *     Disabling Maintenance mode...
		 *     Success: Deactivated Maintenance mode.
		 */
		public function deactivate() {      }
		/**
		 * Displays maintenance mode status.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp maintenance-mode status
		 *     Maintenance mode is active.
		 */
		public function status() {      }
		/**
		 * Detects maintenance mode status.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp maintenance-mode is-active
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-active
		 */
		public function is_active() {       }
		/**
		 * Initializes WP_Filesystem.
		 *
		 * @return WP_Filesystem_Base
		 */
		protected function init_wp_filesystem() {       }
	}
}

namespace WP_CLI\Tests\Traverser {
	class RecursiveDataStructureTraverserTest extends \WP_CLI\Tests\TestCase {

		public function test_it_can_get_a_top_level_array_value() {         }
		public function test_it_can_get_a_top_level_object_value() {        }
		public function test_it_can_get_a_nested_array_value() {        }
		public function test_it_can_get_a_nested_object_value() {       }
		public function test_it_can_set_a_nested_array_value() {        }
		public function test_it_can_set_a_nested_object_value() {       }
		public function test_it_can_update_an_integer_object_value() {      }
		public function test_it_can_delete_a_nested_array_value() {         }
		public function test_it_can_delete_a_nested_object_value() {        }
		public function test_it_can_insert_a_key_into_a_nested_array() {        }
		public function test_it_throws_an_exception_when_attempting_to_create_a_key_on_an_invalid_type() {      }
	}
}

namespace {
	class WpOrgApiTest extends \WP_CLI\Tests\TestCase {

		public static function data_http_request_verify() {         }
		/**
		 * @dataProvider data_http_request_verify()
		 */
		public function test_http_request_verify( $method, $arguments, $options, $expected_url, $expected_options ) {       }
	}
}

namespace WP_CLI\Tests\CSV {
	class CSVTest extends \WP_CLI\Tests\TestCase {

		public function test_it_can_iterate_over_a_csv_file() {         }
		public function test_it_can_iterate_over_a_csv_file_with_custom_delimiter() {       }
		public function test_it_can_iterate_over_a_csv_file_with_multiple_lines_in_a_value() {      }
		public function test_it_can_iterate_over_a_csv_file_with_multiple_lines_and_comma_in_a_value() {        }
	}
}

namespace {
	class InflectorTest extends \WP_CLI\Tests\TestCase {

		/**
		 * @dataProvider dataProviderPluralize
		 */
		public function testPluralize( $singular, $expected ) {         }
		public static function dataProviderPluralize() {        }
		/**
		 * @dataProvider dataProviderSingularize
		 */
		public function testSingularize( $singular, $expected ) {       }
		public static function dataProviderSingularize() {      }
	}
	class SynopsisParserTest extends \WP_CLI\Tests\TestCase {

		public function testEmpty() {       }
		public function testPositional() {      }
		public function testFlag() {        }
		public function testGeneric() {         }
		public function testAssoc() {       }
		public function testInvalidAssoc() {        }
		public function testRepeating() {       }
		public function testCombined() {        }
		public function testAllowedValueCharacters() {      }
		public function testRender() {      }
		public function testParseThenRender() {         }
		public function testParseThenRenderNumeric() {      }
	}
	class ProcessTest extends \WP_CLI\Tests\TestCase {

		/**
		 * @dataProvider data_process_env
		 */
		public function test_process_env( $cmd_prefix, $env, $expected_env_vars, $expected_out ) {      }
		public static function data_process_env() {         }
	}
	class UtilsTest extends \WP_CLI\Tests\TestCase {

		public function testIncrementVersion() {        }
		public function testGetSemVer() {       }
		public function testGetSemVerWP() {         }
		public function testParseSSHUrl() {         }
		public static function parseStrToArgvData() {       }
		/**
		 * @dataProvider parseStrToArgvData
		 */
		public function testParseStrToArgv( $expected, $parseable_string ) {        }
		public function testAssocArgsToString() {       }
		public function testMysqlHostToCLIArgs() {      }
		public function testForceEnvOnNixSystems() {        }
		public function testGetHomeDir() {      }
		public function testTrailingslashit() {         }
		/**
		 * @dataProvider dataNormalizePath
		 */
		public function testNormalizePath( $path, $expected ) {         }
		public static function dataNormalizePath() {        }
		public function testNormalizeEols() {       }
		public function testGetTempDir() {      }
		public function testHttpRequestBadAddress() {       }
		public static function dataHttpRequestBadCAcert() {         }
		/**
		 * @dataProvider dataHttpRequestBadCAcert()
		 *
		 * @param array  $additional_options Associative array of additional options to pass to http_request().
		 * @param string $exception          Class of the exception to expect.
		 * @param string $exception_message  Message of the exception to expect.
		 */
		public function testHttpRequestBadCAcert( $additional_options, $exception, $exception_message ) {       }
		/**
		 * @dataProvider dataHttpRequestVerify
		 */
		public function testHttpRequestVerify( $expected, $options ) {      }
		public static function dataHttpRequestVerify() {        }
		public function testGetDefaultCaCert() {        }
		/**
		 * @dataProvider dataPastTenseVerb
		 */
		public function testPastTenseVerb( $verb, $expected ) {         }
		public static function dataPastTenseVerb() {        }
		/**
		 * @dataProvider dataExpandGlobs
		 */
		public function testExpandGlobs( $path, $expected ) {       }
		public static function dataExpandGlobs() {      }
		/**
		 * @dataProvider dataReportBatchOperationResults
		 */
		public function testReportBatchOperationResults( $stdout, $stderr, $noun, $verb, $total, $successes, $failures, $skips ) {      }
		public static function dataReportBatchOperationResults() {      }
		public function testGetPHPBinary() {        }
		/**
		 * @dataProvider dataProcOpenCompatWinEnv
		 */
		public function testProcOpenCompatWinEnv( $cmd, $env, $expected_cmd, $expected_env ) {      }
		public static function dataProcOpenCompatWinEnv() {         }
		/**
		 * Copied from core "tests/phpunit/tests/db.php" (adapted to not use `$wpdb`).
		 */
		public function test_esc_like() {       }
		/**
		 * @dataProvider dataIsJson
		 */
		public function testIsJson( $argument, $ignore_scalars, $expected ) {       }
		public static function dataIsJson() {       }
		/**
		 * @dataProvider dataParseShellArray
		 */
		public function testParseShellArray( $assoc_args, $array_arguments, $expected ) {       }
		public static function dataParseShellArray() {      }
		/**
		 * @dataProvider dataPluralize
		 */
		public function testPluralize( $singular, $count, $expected ) {         }
		public static function dataPluralize() {        }
		/**
		 * @dataProvider dataPickFields
		 */
		public function testPickFields( $data, $fields, $expected ) {       }
		public static function dataPickFields() {       }
		/**
		 * @dataProvider dataParseUrl
		 */
		public function testParseUrl( $url, $component, $auto_add_scheme, $expected ) {         }
		public static function dataParseUrl() {         }
		public function testReplacePathConstsAddSlashes() {         }
		/**
		 * @dataProvider dataValidClassAndMethodPair
		 */
		public function testValidClassAndMethodPair( $pair, $is_valid ) {       }
		public static function dataValidClassAndMethodPair() {      }
	}
}

namespace WpOrg\Requests {
	/**
	 * Base HTTP transport
	 *
	 * @package Requests\Transport
	 */

}

namespace {
    // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
	class Mock_Requests_Transport implements \WpOrg\Requests\Transport {

		public $requests = array();
		public function request( $url, $headers = array(), $data = array(), $options = array() ) {      }
		public function request_multiple( $requests, $options ) {       }
		public static function test( $capabilities = array() ) {        }
	}
	class FileCacheTest extends \WP_CLI\Tests\TestCase {

		/**
		 * Test get_root() deals with backslashed directory.
		 */
		public function testGetRoot() {         }
		public function test_ensure_dir_exists() {      }
		public function test_export() {         }
		public function test_import() {         }
		/**
		 * @see https://github.com/wp-cli/wp-cli/pull/5947
		 */
		public function test_import_do_not_use_cache_file_cannot_be_read() {        }
		/**
		 * Windows filenames cannot end in periods.
		 *
		 * @covers \WP_CLI\FileCache::validate_key
		 *
		 * @see https://github.com/wp-cli/wp-cli/pull/5947
		 * @see https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
		 */
		public function test_validate_key_ending_in_period() {      }
	}
}

namespace WP_CLI\Loggers {
	/**
	 * Base logger class
	 */
	abstract class Base {

		protected $in_color = false;
		abstract public function info( $message);
		abstract public function success( $message);
		abstract public function warning( $message);
		/**
		 * Retrieve the runner instance from the base CLI object. This facilitates
		 * unit testing, where the WP_CLI instance isn't available
		 *
		 * @return Runner Instance of the runner class
		 */
		protected function get_runner() {       }
		/**
		 * Write a message to STDERR, prefixed with "Debug: ".
		 *
		 * @param string      $message Message to write.
		 * @param string|bool $group Organize debug message to a specific group.
		 * Use `false` for no group.
		 */
		public function debug( $message, $group = false ) {         }
		/**
		 * Write a string to a resource.
		 *
		 * @param resource $handle Commonly STDOUT or STDERR.
		 * @param string   $str Message to write.
		 */
		protected function write( $handle, $str ) {         }
		/**
		 * Output one line of message to a resource.
		 *
		 * @param string   $message Message to write.
		 * @param string   $label Prefix message with a label.
		 * @param string   $color Colorize label with a given color.
		 * @param resource $handle Resource to write to. Defaults to STDOUT.
		 */
		protected function _line( $message, $label, $color, $handle = STDOUT ) {        }
	}
	/**
	 * Default logger for success, warning, error, and standard messages.
	 */
	class Regular extends \WP_CLI\Loggers\Base {

		/**
		 * @param bool $in_color Whether or not to Colorize strings.
		 */
		public function __construct( $in_color ) {      }
		/**
		 * Write an informational message to STDOUT.
		 *
		 * @param string $message Message to write.
		 */
		public function info( $message ) {      }
		/**
		 * Write a success message, prefixed with "Success: ".
		 *
		 * @param string $message Message to write.
		 */
		public function success( $message ) {       }
		/**
		 * Write a warning message to STDERR, prefixed with "Warning: ".
		 *
		 * @param string $message Message to write.
		 */
		public function warning( $message ) {       }
		/**
		 * Write an message to STDERR, prefixed with "Error: ".
		 *
		 * @param string $message Message to write.
		 */
		public function error( $message ) {         }
		/**
		 * Similar to error( $message ), but outputs $message in a red box.
		 *
		 * @param  array $message_lines Message to write.
		 */
		public function error_multi_line( $message_lines ) {        }
	}
}

namespace {
	class MockRegularLogger extends \WP_CLI\Loggers\Regular {

		protected function get_runner() {       }
		protected function write( $handle, $str ) {         }
	}
}

namespace WP_CLI\Loggers {
	/**
	 * Quiet logger only logs errors.
	 */
	class Quiet extends \WP_CLI\Loggers\Base {

		/**
		 * @param bool $in_color Whether or not to Colorize strings.
		 */
		public function __construct( $in_color = false ) {      }
		/**
		 * Informational messages aren't logged.
		 *
		 * @param string $message Message to write.
		 */
		public function info( $message ) {      }
		/**
		 * Success messages aren't logged.
		 *
		 * @param string $message Message to write.
		 */
		public function success( $message ) {       }
		/**
		 * Warning messages aren't logged.
		 *
		 * @param string $message Message to write.
		 */
		public function warning( $message ) {       }
		/**
		 * Write an error message to STDERR, prefixed with "Error: ".
		 *
		 * @param string $message Message to write.
		 */
		public function error( $message ) {         }
		/**
		 * Similar to error( $message ), but outputs $message in a red box.
		 *
		 * @param  array $message_lines Message to write.
		 */
		public function error_multi_line( $message_lines ) {        }
	}
}

namespace {
	class MockQuietLogger extends \WP_CLI\Loggers\Quiet {

		protected function get_runner() {       }
	}
	class LoggingTest extends \WP_CLI\Tests\TestCase {

		public function testLogDebug() {        }
		public function testLogEscaping() {         }
		public function testExecutionLogger() {         }
	}
	class ConfiguratorTest extends \WP_CLI\Tests\TestCase {

		public function testExtractAssoc() {        }
		public function testExtractAssocNoValue() {         }
		public function testExtractAssocGlobalLocal() {         }
		public function testExtractAssocDoubleDashInValue() {       }
		/**
		 * WP_CLI::get_config does not show warnings for null values.
		 */
		public function testNullGetConfig() {       }
	}
	class DocParserTest extends \WP_CLI\Tests\TestCase {

		public function test_empty() {      }
		public function test_only_tags() {      }
		public function test_no_longdesc() {        }
		public function test_complete() {       }
		public function test_desc_parses_yaml() {       }
		public function test_desc_doesnt_parse_far_params_yaml() {      }
		public function test_desc_doesnt_parse_far_args_yaml() {        }
	}
	class WPVersionCompareTest extends \WP_CLI\Tests\TestCase {

		/**
		 * Test basic functionality
		 */
		public function testBasic() {       }
	}
	class ArgValidationTest extends \WP_CLI\Tests\TestCase {

		public function testMissingPositional() {       }
		public function testRepeatingPositional() {         }
		public function testUnknownAssocEmpty() {       }
		public function testUnknownAssoc() {        }
		public function testMissingAssoc() {        }
		public function testAssocWithOptionalValue() {      }
	}
	class WPCLITest extends \WP_CLI\Tests\TestCase {

		public function testGetPHPBinary() {        }
		public function testErrorToString() {       }
	}
	class ExtractorTest extends \WP_CLI\Tests\TestCase {

		public static $copy_overwrite_files_prefix = 'wp-cli-test-utils-copy-overwrite-files-';
		public static $expected_wp                 = array( 'index1.php', 'license2.php', 'wp-admin/', 'wp-admin/about3.php', 'wp-admin/includes/', 'wp-admin/includes/file4.php', 'wp-admin/widgets5.php', 'wp-config6.php', 'wp-includes/', 'wp-includes/file7.php', 'xmlrpc8.php' );
		public static $logger                      = \null;
		public static $prev_logger                 = \null;
		public function set_up() {      }
		public function tear_down() {       }
		public function test_rmdir() {      }
		public function test_err_rmdir() {      }
		public function test_copy_overwrite_files() {       }
		public function test_err_copy_overwrite_files() {       }
		public function test_extract_tarball() {        }
		public function test_err_extract_tarball() {        }
		public function test_extract_zip() {        }
		public function test_err_extract_zip() {        }
		public function test_err_extract() {        }
	}
	/**
	 * Basic class
	 *
	 * ## EXAMPLES
	 *
	 *     # Foo.
	 *     $ wp foo
	 */
	class CommandFactoryTests_Get_Doc_Comment_1_Command extends \WP_CLI_Command {

		/**
		 * Command1 method
		 *
		 * ## OPTIONS
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command1 public
		 */
		function command1() {       }
		/**
		 * Command2 function
		 *
		 * ## OPTIONS
		 *
		 * [--path=<path>]
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command2 --path=/**a/**b/**c/**
		 */
		final protected static function command2() {        }
		/**
		 * Command3 function
		 *
		 * ## OPTIONS
		 *
		 * [--path=<path>]
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command3 --path=/**a/**b/**c/**
			 function*/
		public function command3( $function ) {         }
		function command4() {       }
	}
	/**
	 * Basic class
	 *
	 * ## EXAMPLES
	 *
	 *     # Foo.
	 *     $ wp foo --final abstract
	 class*/
	abstract class CommandFactoryTests_Get_Doc_Comment_2_Command extends \WP_CLI_Command {

		function command1() {       }
	}
	/**
	 * Basic class
	 *
	 * ## EXAMPLES
	 *
	 *     # Foo.
	 *     $ wp foo
	 */
	class CommandFactoryTests_Get_Doc_Comment_1_Command_Win extends \WP_CLI_Command {

		/**
		 * Command1 method
		 *
		 * ## OPTIONS
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command1 public
		 */
		function command1() {       }
		/**
		 * Command2 function
		 *
		 * ## OPTIONS
		 *
		 * [--path=<path>]
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command2 --path=/**a/**b/**c/**
		 */
		final protected static function command2() {        }
		/**
		 * Command3 function
		 *
		 * ## OPTIONS
		 *
		 * [--path=<path>]
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp foo command3 --path=/**a/**b/**c/**
			 function*/
		public function command3( $function ) {         }
		function command4() {       }
	}
	/**
	 * Basic class
	 *
	 * ## EXAMPLES
	 *
	 *     # Foo.
	 *     $ wp foo --final abstract
	 class*/
	abstract class CommandFactoryTests_Get_Doc_Comment_2_Command_Win extends \WP_CLI_Command {

		function command1() {       }
	}
	class CommandFactoryTest extends \WP_CLI\Tests\TestCase {

		/**
		 * @dataProvider dataProviderExtractLastDocComment
		 */
		public function testExtractLastDocComment( $content, $expected ) {      }
		/**
		 * @dataProvider dataProviderExtractLastDocComment
		 */
		public function testExtractLastDocCommentWin( $content, $expected ) {       }
		public static function dataProviderExtractLastDocComment() {        }
		public function testGetDocComment() {       }
		public function testGetDocCommentWin() {        }
	}
	class HelpTest extends \WP_CLI\Tests\TestCase {

		public function test_parse_reference_links() {      }
	}
}

namespace WpOrg\Requests {
	/**
	 * Requests for PHP
	 *
	 * Inspired by Requests for Python.
	 *
	 * Based on concepts from SimplePie_File, RequestCore and WP_Http.
	 *
	 * @package Requests
	 */

}

namespace {
	/**
	 * Requests for PHP
	 *
	 * Inspired by Requests for Python.
	 *
	 * Based on concepts from SimplePie_File, RequestCore and WP_Http.
	 *
	 * @package Requests
	 *
	 * @deprecated 2.0.0 Use `WpOrg\Requests\Requests` instead for the actual functionality and
	 *                   use `WpOrg\Requests\Autoload` for the autoloading.
	 */

}

namespace WpOrg\Requests {
	/**
	 * Autoloader for Requests for PHP.
	 *
	 * This autoloader supports the PSR-4 based Requests 2.0.0 classes in a case-sensitive manner
	 * as the most common server OS-es are case-sensitive and the file names are in mixed case.
	 *
	 * For the PSR-0 Requests 1.x BC-layer, requested classes will be treated case-insensitively.
	 *
	 * @package Requests
	 */

	/**
	 * Find the correct port depending on the Request type.
	 *
	 * @package Requests\Utilities
	 * @since   2.0.0
	 */

	/**
	 * Event dispatcher
	 *
	 * @package Requests\EventDispatcher
	 */

	/**
	 * Handles adding and dispatching events
	 *
	 * @package Requests\EventDispatcher
	 */

	/**
	 * Authentication provider interface
	 *
	 * Implement this interface to act as an authentication provider.
	 *
	 * Parameters should be passed via the constructor where possible, as this
	 * makes it much easier for users to use your provider.
	 *
	 * @see \WpOrg\Requests\Hooks
	 *
	 * @package Requests\Authentication
	 */

	/**
	 * Class to validate and to work with IPv6 addresses
	 *
	 * This was originally based on the PEAR class of the same name, but has been
	 * entirely rewritten.
	 *
	 * @package Requests\Utilities
	 */

}

namespace WpOrg\Requests {
	/**
	 * HTTP response class
	 *
	 * Contains a response from \WpOrg\Requests\Requests::request()
	 *
	 * @package Requests
	 */

}

namespace WpOrg\Requests\Auth {
	/**
	 * Basic Authentication provider
	 *
	 * Provides a handler for Basic HTTP authentication via the Authorization
	 * header.
	 *
	 * @package Requests\Authentication
	 */

}

namespace WP_CLI {
	/**
	 * Reads/writes to a filesystem cache
	 */
	class FileCache {

		/**
		 * @var string cache path
		 */
		protected $root;
		/**
		 * @var bool
		 */
		protected $enabled = true;
		/**
		 * @var int files time to live
		 */
		protected $ttl;
		/**
		 * @var int max total size
		 */
		protected $max_size;
		/**
		 * @var string key allowed chars (regex class)
		 */
		protected $whitelist;
		/**
		 * @param string $cache_dir  location of the cache
		 * @param int    $ttl        cache files default time to live (expiration)
		 * @param int    $max_size   max total cache size
		 * @param string $whitelist  List of characters that are allowed in path names (used in a regex character class)
		 */
		public function __construct( $cache_dir, $ttl, $max_size, $whitelist = 'a-z0-9._-' ) {      }
		/**
		 * Cache is enabled
		 *
		 * @return bool
		 */
		public function is_enabled() {      }
		/**
		 * Cache root
		 *
		 * @return string
		 */
		public function get_root() {        }
		/**
		 * Check if a file is in cache and return its filename
		 *
		 * @param string $key cache key
		 * @param int    $ttl time to live
		 * @return bool|string filename or false
		 */
		public function has( $key, $ttl = null ) {      }
		/**
		 * Write to cache file
		 *
		 * @param string $key      cache key
		 * @param string $contents file contents
		 * @return bool
		 */
		public function write( $key, $contents ) {      }
		/**
		 * Read from cache file
		 *
		 * @param string $key cache key
		 * @param int    $ttl time to live
		 * @return bool|string file contents or false
		 */
		public function read( $key, $ttl = null ) {         }
		/**
		 * Copy a file into the cache
		 *
		 * @param string $key    cache key
		 * @param string $source source filename; tmp file filepath from HTTP response
		 * @return bool
		 */
		public function import( $key, $source ) {       }
		/**
		 * Copy a file out of the cache
		 *
		 * @param string $key    cache key
		 * @param string $target target filename
		 * @param int    $ttl    time to live
		 * @return bool
		 */
		public function export( $key, $target, $ttl = null ) {      }
		/**
		 * Remove file from cache
		 *
		 * @param string $key cache key
		 * @return bool
		 */
		public function remove( $key ) {        }
		/**
		 * Clean cache based on time to live and max size
		 *
		 * @return bool
		 */
		public function clean() {       }
		/**
		 * Remove all cached files.
		 *
		 * @return bool
		 */
		public function clear() {       }
		/**
		 * Remove all cached files except for the newest version of one.
		 *
		 * @return bool
		 */
		public function prune() {       }
		/**
		 * Ensure directory exists
		 *
		 * @param string $dir directory
		 * @return bool
		 */
		protected function ensure_dir_exists( $dir ) {      }
		/**
		 * Prepare cache write
		 *
		 * @param string $key cache key
		 * @return bool|string The destination filename or false when cache disabled or directory creation fails.
		 */
		protected function prepare_write( $key ) {      }
		/**
		 * Validate cache key
		 *
		 * @param string $key cache key
		 * @return string relative filename
		 */
		protected function validate_key( $key ) {       }
		/**
		 * Destination filename from key
		 *
		 * @param string $key
		 * @return string filename
		 */
		protected function filename( $key ) {       }
		/**
		 * Get a Finder that iterates in cache root only the files
		 *
		 * @return Finder
		 */
		protected function get_finder() {       }
	}
	/**
	 * A Composer Event subscriber so we can keep track of what's happening inside Composer
	 */
	class PackageManagerEventSubscriber implements \Composer\EventDispatcher\EventSubscriberInterface {

		/**
		 * Get subscribed events.
		 *
		 * @return array
		 */
		public static function getSubscribedEvents() {      }
		/**
		 * Pre-install operation message.
		 *
		 * @param \Composer\Installer\PackageEvent $event
		 *
		 * @return void
		 */
		public static function pre_install( \Composer\Installer\PackageEvent $event ) {         }
		/**
		 * Post-install operation log.
		 *
		 * @param \Composer\Installer\PackageEvent $event
		 *
		 * @return void
		 */
		public static function post_install( \Composer\Installer\PackageEvent $event ) {        }
	}
}

namespace WP_CLI\Loggers {
	/**
	 * Execution logger captures all STDOUT and STDERR writes
	 */
	class Execution extends \WP_CLI\Loggers\Regular {

		/**
		 * Captured writes to STDOUT.
		 */
		public $stdout = '';
		/**
		 * Captured writes to STDERR.
		 */
		public $stderr = '';
		/**
		 * @param bool $in_color Whether or not to Colorize strings.
		 */
		public function __construct( $in_color = false ) {      }
		/**
		 * Similar to error( $message ), but outputs $message in a red box.
		 *
		 * @param array $message_lines Message to write.
		 */
		public function error_multi_line( $message_lines ) {        }
		/**
		 * Write a string to a resource.
		 *
		 * @param resource $handle Commonly STDOUT or STDERR.
		 * @param string   $str Message to write.
		 */
		protected function write( $handle, $str ) {         }
		/**
		 * Starts output buffering, using a callback to capture output from `echo`, `print`, `printf` (which write to the output buffer 'php://output' rather than STDOUT).
		 */
		public function ob_start() {        }
		/**
		 * Callback for `ob_start()`.
		 *
		 * @param string $str String to write.
		 * @return string Returns zero-length string so nothing gets written to the output buffer.
		 */
		public function ob_start_callback( $str ) {         }
		/**
		 * To match `ob_start() above. Does an `ob_end_flush()`.
		 */
		public function ob_end() {      }
	}
}

namespace WP_CLI {
	/**
	 * Context that can be selected in order to run commands within a properly
	 * set-up environment.
	 */
	interface Context {

		const ADMIN    = 'admin';
		const AUTO     = 'auto';
		const CLI      = 'cli';
		const FRONTEND = 'frontend';
		/**
		 * Debugging group to use for all context-related debug messages.
		 *
		 * @var string
		 */
		const DEBUG_GROUP = 'context';
		/**
		 * Process the context to set up the environment correctly.
		 *
		 * @param array $config Associative array of configuration data.
		 * @return void
		 */
		public function process( $config);
	}
}

namespace WP_CLI\Context {
	/**
	 * Context which switches to other contexts automatically based on conditions.
	 */
	final class Auto implements \WP_CLI\Context {

		/**
		 * Array of commands to intercept.
		 *
		 * @var array<array>
		 */
		const COMMANDS_TO_RUN_AS_ADMIN = array( array( 'plugin' ), array( 'theme' ) );
		/**
		 * Instantiate an Auto object.
		 *
		 * @param ContextManager $context_manager Context manager instance to use.
		 */
		public function __construct( \WP_CLI\ContextManager $context_manager ) {        }
		/**
		 * Process the context to set up the environment correctly.
		 *
		 * @param array $config Associative array of configuration data.
		 * @return void
		 * @throws WP_CLI\ExitException If an invalid context was deduced.
		 */
		public function process( $config ) {        }
	}
	/**
	 * Default WP-CLI context.
	 */
	final class Cli implements \WP_CLI\Context {

		/**
		 * Process the context to set up the environment correctly.
		 *
		 * @param array $config Associative array of configuration data.
		 *
		 * @return void
		 */
		public function process( $config ) {        }
	}
	/**
	 * Context which simulates the administrator backend.
	 */
	final class Admin implements \WP_CLI\Context {

		/**
		 * Process the context to set up the environment correctly.
		 *
		 * @param array $config Associative array of configuration data.
		 * @return void
		 */
		public function process( $config ) {        }
	}
	/**
	 * Context which simulates a frontend request.
	 */
	final class Frontend implements \WP_CLI\Context {

		/**
		 * Process the context to set up the environment correctly.
		 *
		 * @param array $config Associative array of configuration data.
		 *
		 * @return void
		 */
		public function process( $config ) {        }
	}
}

namespace WP_CLI\Bootstrap {
	/**
	 * Interface BootstrapStep.
	 *
	 * Represents a single bootstrapping step that can be processed.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	interface BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state);
	}
	/**
	 * Class InitializeColorization.
	 *
	 * Initialize the colorization through the `WP_CLI\Runner` object.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class InitializeColorization implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class LoadExtraCommand.
	 *
	 * Loads a command that was passed through the `--exec=<php-code>` option.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class LoadExecCommand implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class IncludeFrameworkAutoloader.
	 *
	 * Loads the framework autoloader through an autoloader separate from the
	 * Composer one, to avoid coupling the loading of the framework with bundled
	 * commands.
	 *
	 * This only contains classes for the framework.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class IncludeFrameworkAutoloader implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class RegisterFrameworkCommands.
	 *
	 * Register the commands that are directly included with the framework.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class RegisterFrameworkCommands implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class DeclareFallbackFunctions.
	 *
	 * Declares functions that might have been disabled but are required.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class DeclareFallbackFunctions implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class LoadRequiredCommand.
	 *
	 * Loads a command that was passed through the `--require=<command>` option.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class LoadRequiredCommand implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class RegisterDeferredCommands.
	 *
	 * Registers the deferred commands that for which no parent was registered yet.
	 * This is necessary, because we can have sub-commands that have no direct
	 * parent, like `wp network meta`.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class RegisterDeferredCommands implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
		/**
		 * Add deferred commands that are still waiting to be processed.
		 */
		public function add_deferred_commands() {       }
	}
	/**
	 * Class ConfigureRunner.
	 *
	 * Initialize the configuration for the `WP_CLI\Runner` object.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class ConfigureRunner implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class LaunchRunner.
	 *
	 * Kick off the Runner object that starts the actual commands.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class LaunchRunner implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class IncludeRequestsAutoloader.
	 *
	 * Loads the Requests autoloader that best fits the current environment.
	 *
	 * If a WordPress installation is found, it autoloads that version of Requests.
	 * Otherwise, it loads the version of Requests bundled with WP-CLI.
	 *
	 * This is done in order to avoid conflicts between Requests versions.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class IncludeRequestsAutoloader implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Requests is being used from the WordPress installation.
		 *
		 * @var string
		 */
		const FROM_WP_CORE = 'wp-core';
		/**
		 * Requests is being used from the WP-CLI dependencies.
		 *
		 * @var string
		 */
		const FROM_WP_CLI = 'wp-cli';
		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class InitializeLogger.
	 *
	 * Initialize the logger through the `WP_CLI\Runner` object.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class InitializeLogger implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Abstract class AutoloaderStep.
	 *
	 * Abstract base class for steps that include an autoloader.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	abstract class AutoloaderStep implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Store state for subclasses to have access.
		 *
		 * @var BootstrapState
		 */
		protected $state;
		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
		/**
		 * Get the name of the custom vendor folder as set in `composer.json`.
		 *
		 * @return string|false Name of the custom vendor folder or false if none.
		 */
		protected function get_custom_vendor_folder() {         }
		/**
		 * Handle the failure to find an autoloader.
		 *
		 * @return void
		 */
		protected function handle_failure() {       }
		/**
		 * Get the autoloader paths to scan for an autoloader.
		 *
		 * @return string[]|false Array of strings with autoloader paths, or false
		 *                        to skip.
		 */
		abstract protected function get_autoloader_paths();
	}
	/**
	 * Class InitializeContexts.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class InitializeContexts implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class IncludeFallbackAutoloader.
	 *
	 * Loads the fallback autoloader that is provided through the `composer.json`
	 * file.
	 *
	 * @package WP_CLI\Bootstrap
	 */

	/**
	 * Class DefineProtectedCommands.
	 *
	 * Define the commands that are "protected", meaning that they shouldn't be able
	 * to break due to extension code.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class DefineProtectedCommands implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class DeclareMainClass.
	 *
	 * Declares the main `WP_CLI` class.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class DeclareMainClass implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class DeclareAbstractBaseCommand.
	 *
	 * Declares the abstract `WP_CLI_Command` base class.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class DeclareAbstractBaseCommand implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class LoadDispatcher.
	 *
	 * Loads the dispatcher that will dispatch command names to file locations.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class LoadDispatcher implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
	/**
	 * Class IncludePackageAutoloader.
	 *
	 * Loads the package autoloader that includes all the external packages.
	 *
	 * @package WP_CLI\Bootstrap
	 */

	/**
	 * Class RunnerInstance.
	 *
	 * Convenience class for steps that make use of the `WP_CLI\Runner` object.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class RunnerInstance {

		/**
		 * Return an instance of the `WP_CLI\Runner` object.
		 *
		 * Includes necessary class files first as needed.
		 *
		 * @return Runner
		 */
		public function __invoke() {        }
	}
	/**
	 * Class BootstrapState.
	 *
	 * Represents the state that is passed from one bootstrap step to the next.
	 *
	 * @package WP_CLI\Bootstrap
	 *
	 * Maintain BC: Changing the method names in this class breaks autoload interactions between Phar
	 * & framework/commands you use outside of Phar (like when running the Phar WP inside of a command folder).
	 *
     * @phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
	 */
	class BootstrapState {

		/**
		 * Whether the command currently being run is "protected".
		 *
		 * This means that the command should not be allowed to break due to
		 * extension code.
		 */
		const IS_PROTECTED_COMMAND = 'is_protected_command';
		/**
		 * Get the state value for a given key.
		 *
		 * @param string $key      Key to get the state from.
		 * @param mixed  $fallback Fallback value to use if the key is not defined.
		 *
		 * @return mixed
		 */
		public function getValue( $key, $fallback = null ) {        }
		/**
		 * Set the state value for a given key.
		 *
		 * @param string $key   Key to set the state for.
		 * @param mixed  $value Value to set the state for the given key to.
		 *
		 * @return void
		 */
		public function setValue( $key, $value ) {      }
	}
	/**
	 * Class LoadUtilityFunctions.
	 *
	 * Loads the functions available through `WP_CLI\Utils`.
	 *
	 * @package WP_CLI\Bootstrap
	 */
	final class LoadUtilityFunctions implements \WP_CLI\Bootstrap\BootstrapStep {

		/**
		 * Process this single bootstrapping step.
		 *
		 * @param BootstrapState $state Contextual state to pass into the step.
		 *
		 * @return BootstrapState Modified state to pass to the next step.
		 */
		public function process( \WP_CLI\Bootstrap\BootstrapState $state ) {        }
	}
}

namespace WP_CLI\Fetchers {
	/**
	 * Fetch a WordPress entity for use in a subcommand.
	 */
	abstract class Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg;
		/**
		 * @param string $arg The raw CLI argument.
		 * @return mixed|false The item if found; false otherwise.
		 */
		abstract public function get( $arg);
		/**
		 * Like get(), but calls WP_CLI::error() instead of returning false.
		 *
		 * @param string $arg The raw CLI argument.
		 * @return mixed The item if found.
		 * @throws ExitException If the item is not found.
		 */
		public function get_check( $arg ) {         }
		/**
		 * Get multiple items.
		 *
		 * @param array $args The raw CLI arguments.
		 * @return array The list of found items.
		 */
		public function get_many( $args ) {         }
	}
	/**
	 * Fetch a WordPress post based on one of its attributes.
	 */
	class Post extends \WP_CLI\Fetchers\Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg = 'Could not find the post with ID %d.';
		/**
		 * Get a post object by ID
		 *
		 * @param string $arg The raw CLI argument.
		 * @return WP_Post|array|false The item if found; false otherwise.
		 */
		public function get( $arg ) {       }
	}
	/**
	 * Fetch a WordPress user based on one of its attributes.
	 */
	class User extends \WP_CLI\Fetchers\Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg = "Invalid user ID, email or login: '%s'";
		/**
		 * Get a user object by one of its identifying attributes.
		 *
		 * @param string $arg The raw CLI argument.
		 * @return WP_User|false The item if found; false otherwise.
		 */
		public function get( $arg ) {       }
	}
	/**
	 * Fetch a signup based on one of its attributes.
	 */
	class Signup extends \WP_CLI\Fetchers\Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg = "Invalid signup ID, email, login, or activation key: '%s'";
		/**
		 * Get a signup.
		 *
		 * @param int|string $signup
		 * @return stdClass|false
		 */
		public function get( $signup ) {        }
		/**
		 * Get a signup by one of its identifying attributes.
		 *
		 * @param string $arg The raw CLI argument.
		 * @return stdClass|false The item if found; false otherwise.
		 */
		protected function get_signup( $arg ) {         }
	}
	/**
	 * Fetch a WordPress comment based on one of its attributes.
	 */
	class Comment extends \WP_CLI\Fetchers\Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg = 'Could not find the comment with ID %d.';
		/**
		 * Get a comment object by ID
		 *
		 * @param string $arg The raw CLI argument.
		 * @return WP_Comment|array|false The item if found; false otherwise.
		 */
		public function get( $arg ) {       }
	}
	/**
	 * Fetch a WordPress site based on one of its attributes.
	 */
	class Site extends \WP_CLI\Fetchers\Base {

		/**
		 * The message to display when an item is not found.
		 *
		 * @var string
		 */
		protected $msg = 'Could not find the site with ID %d.';
		/**
		 * Get a site object by ID
		 *
		 * @param int $site_id
		 * @return object|false
		 */
		public function get( $site_id ) {       }
	}
}

namespace WP_CLI\Traverser {
	class RecursiveDataStructureTraverser {

		/**
		 * @var mixed The data to traverse set by reference.
		 */
		protected $data;
		/**
		 * @var null|string The key the data belongs to in the parent's data.
		 */
		protected $key;
		/**
		 * @var null|static The parent instance of the traverser.
		 */
		protected $parent;
		/**
		 * RecursiveDataStructureTraverser constructor.
		 *
		 * @param mixed       $data            The data to read/manipulate by reference.
		 * @param string|int  $key             The key/property the data belongs to.
		 * @param static|null $parent_instance The parent instance of the traverser.
		 */
		public function __construct( &$data, $key = null, $parent_instance = null ) {       }
		/**
		 * Get the nested value at the given key path.
		 *
		 * @param string|int|array $key_path
		 *
		 * @return static
		 */
		public function get( $key_path ) {      }
		/**
		 * Get the current data.
		 *
		 * @return mixed
		 */
		public function value() {       }
		/**
		 * Update a nested value at the given key path.
		 *
		 * @param string|int|array $key_path
		 * @param mixed            $value
		 */
		public function update( $key_path, $value ) {       }
		/**
		 * Update the current data with the given value.
		 *
		 * This will mutate the variable which was passed into the constructor
		 * as the data is set and traversed by reference.
		 *
		 * @param mixed $value
		 */
		public function set_value( $value ) {       }
		/**
		 * Unset the value at the given key path.
		 *
		 * @param $key_path
		 */
		public function delete( $key_path ) {       }
		/**
		 * Define a nested value while creating keys if they do not exist.
		 *
		 * @param array $key_path
		 * @param mixed $value
		 */
		public function insert( $key_path, $value ) {       }
		/**
		 * Delete the key on the parent's data that references this data.
		 */
		public function unset_on_parent() {         }
		/**
		 * Delete the given key from the data.
		 *
		 * @param $key
		 */
		public function delete_by_key( $key ) {         }
		/**
		 * Get an instance of the traverser for the given hierarchical key.
		 *
		 * @param array $key_path Hierarchical key path within the current data to traverse to.
		 *
		 * @throws NonExistentKeyException
		 *
		 * @return static
		 */
		public function traverse_to( array $key_path ) {        }
		/**
		 * Create the key on the current data.
		 *
		 * @throws UnexpectedValueException
		 */
		protected function create_key() {       }
		/**
		 * Check if the given key exists on the current data.
		 *
		 * @param string $key
		 *
		 * @return bool
		 */
		public function exists( $key ) {        }
	}
}

namespace WP_CLI {
	/**
	 * Class WpOrgApi.
	 *
	 * This is an abstraction of the WordPress.org API.
	 *
	 * @see https://codex.wordpress.org/WordPress.org_API
	 *
	 * @package WP_CLI
	 */
	final class WpOrgApi {

		/**
		 * WordPress.org API root URL.
		 *
		 * @var string
		 */
		const API_ROOT = 'https://api.wordpress.org';
		/**
		 * WordPress.org API root URL.
		 *
		 * @var string
		 */
		const DOWNLOADS_ROOT = 'https://downloads.wordpress.org';
		/**
		 * Core checksums endpoint.
		 *
		 * @see https://codex.wordpress.org/WordPress.org_API#Checksum
		 *
		 * @var string
		 */
		const CORE_CHECKSUMS_ENDPOINT = self::API_ROOT . '/core/checksums/1.0/';
		/**
		 * Plugin checksums endpoint.
		 *
		 * @var string
		 */
		const PLUGIN_CHECKSUMS_ENDPOINT = self::DOWNLOADS_ROOT . '/plugin-checksums/';
		/**
		 * Plugin info endpoint.
		 *
		 * @var string
		 */
		const PLUGIN_INFO_ENDPOINT = self::API_ROOT . '/plugins/info/1.2/';
		/**
		 * Theme info endpoint.
		 *
		 * @var string
		 */
		const THEME_INFO_ENDPOINT = self::API_ROOT . '/themes/info/1.2/';
		/**
		 * Salt endpoint.
		 *
		 * @see https://codex.wordpress.org/WordPress.org_API#Secret_Key
		 *
		 * @var string
		 */
		const SALT_ENDPOINT = self::API_ROOT . '/secret-key/1.1/salt/';
		/**
		 * Version check endpoint.
		 *
		 * @see https://codex.wordpress.org/WordPress.org_API#Version_Check
		 *
		 * @var string
		 */
		const VERSION_CHECK_ENDPOINT = self::API_ROOT . '/core/version-check/1.7/';
		/**
		 * WpOrgApi constructor.
		 *
		 * @param array $options Associative array of options to pass to the API abstraction.
		 */
		public function __construct( $options = array() ) {         }
		/**
		 * Gets the checksums for the given version of WordPress core.
		 *
		 * @param string $version Version string to query.
		 * @param string $locale  Optional. Locale to query. Defaults to 'en_US'.
		 * @return bool|array False on failure. An array of checksums on success.
		 * @throws RuntimeException If the remote request fails.
		 */
		public function get_core_checksums( $version, $locale = 'en_US' ) {         }
		/**
		 * Gets a core version check.
		 *
		 * @param string $locale Optional. Locale to request a version check for. Defaults to 'en_US'.
		 * @return array|false False on failure. Associative array of the offer on success.
		 * @throws RuntimeException If the remote request failed.
		 */
		public function get_core_version_check( $locale = 'en_US' ) {       }
		/**
		 * Gets a download offer.
		 *
		 * @param string $locale Optional. Locale to request an offer from. Defaults to 'en_US'.
		 * @return array|false False on failure. Associative array of the offer on success.
		 * @throws RuntimeException If the remote request failed.
		 */
		public function get_core_download_offer( $locale = 'en_US' ) {      }
		/**
		 * Gets the checksums for the given version of plugin.
		 *
		 * @param string $plugin  Plugin slug to query.
		 * @param string $version Version string to query.
		 * @return bool|array False on failure. An array of checksums on success.
		 * @throws RuntimeException If the remote request fails.
		 */
		public function get_plugin_checksums( $plugin, $version ) {         }
		/**
		 * Gets a plugin's info.
		 *
		 * @param string $plugin Plugin slug to query.
		 * @param string $locale Optional. Locale to request info for. Defaults to 'en_US'.
		 * @param array  $fields Optional. Fields to include/omit from the response.
		 * @return array|false False on failure. Associative array of the offer on success.
		 * @throws RuntimeException If the remote request failed.
		 */
		public function get_plugin_info( $plugin, $locale = 'en_US', array $fields = array() ) {        }
		/**
		 * Gets a theme's info.
		 *
		 * @param string $theme  Theme slug to query.
		 * @param string $locale Optional. Locale to request info for. Defaults to 'en_US'.
		 * @param array  $fields Optional. Fields to include/omit from the response.
		 * @return array|false False on failure. Associative array of the offer on success.
		 * @throws RuntimeException If the remote request failed.
		 */
		public function get_theme_info( $theme, $locale = 'en_US', array $fields = array() ) {      }
		/**
		 * Gets a set of salts in the format required by `wp-config.php`.
		 *
		 * @return bool|string False on failure. A string of PHP define() statements on success.
		 * @throws RuntimeException If the remote request fails.
		 */
		public function get_salts() {       }
	}
}

namespace WP_CLI\Dispatcher {
	/**
	 * Creates CompositeCommand or Subcommand instances.
	 *
	 * @package WP_CLI
	 */
	class CommandFactory {

		/**
		 * Create a new CompositeCommand (or Subcommand if class has __invoke())
		 *
		 * @param string $name Represents how the command should be invoked
		 * @param string $callable A subclass of WP_CLI_Command, a function, or a closure
		 * @param mixed  $parent The new command's parent Composite (or Root) command
		 */
		public static function create( $name, $callable, $parent ) {        }
		/**
		 * Clear the file contents cache.
		 */
		public static function clear_file_contents_cache() {        }
	}
	/**
	 * A leaf node in the command tree.
	 *
	 * @package WP_CLI
	 */
	class Subcommand extends \WP_CLI\Dispatcher\CompositeCommand {

		public function __construct( $parent, $name, $docparser, $when_invoked ) {      }
		/**
		 * Subcommands can't have subcommands because they
		 * represent code to be executed.
		 *
		 * @return bool
		 */
		public function can_have_subcommands() {        }
		/**
		 * Get the synopsis string for this subcommand.
		 * A synopsis defines what runtime arguments are
		 * expected, useful to humans and argument validation.
		 *
		 * @return string
		 */
		public function get_synopsis() {        }
		/**
		 * Set the synopsis string for this subcommand.
		 *
		 * @param string $synopsis
		 */
		public function set_synopsis( $synopsis ) {         }
		/**
		 * If an alias is set, grant access to it.
		 * Aliases permit subcommands to be instantiated
		 * with a secondary identity.
		 *
		 * @return string
		 */
		public function get_alias() {       }
		/**
		 * Print the usage details to the end user.
		 *
		 * @param string $prefix
		 */
		public function show_usage( $prefix = 'usage: ' ) {         }
		/**
		 * Get the usage of the subcommand as a formatted string.
		 *
		 * @param string $prefix
		 * @return string
		 */
		public function get_usage( $prefix ) {      }
		/**
		 * Invoke the subcommand with the supplied arguments.
		 * Given a --prompt argument, interactively request input
		 * from the end user.
		 *
		 * @param array $args
		 * @param array $assoc_args
		 */
		public function invoke( $args, $assoc_args, $extra_args ) {         }
	}
	/**
	 * Controls whether adding of a command should be completed or not.
	 *
	 * This is needed because we can't reliably pass scalar values by reference
	 * through the hooks mechanism. An object is always passed by reference.
	 *
	 * @package WP_CLI
	 */
	final class CommandAddition {

		/**
		 * Abort the current command addition.
		 *
		 * @param string $reason Reason as to why the addition was aborted.
		 */
		public function abort( $reason = '' ) {         }
		/**
		 * Check whether the command addition was aborted.
		 *
		 * @return bool
		 */
		public function was_aborted() {         }
		/**
		 * Get the reason as to why the addition was aborted.
		 *
		 * @return string
		 */
		public function get_reason() {      }
	}
	/**
	 * The root node in the command tree.
	 *
	 * @package WP_CLI
	 */
	class RootCommand extends \WP_CLI\Dispatcher\CompositeCommand {

		public function __construct() {         }
		/**
		 * Get the human-readable long description.
		 *
		 * @return string
		 */
		public function get_longdesc() {        }
		/**
		 * Find a subcommand registered on the root
		 * command.
		 *
		 * @param array $args
		 * @return Subcommand|false
		 */
		public function find_subcommand( &$args ) {         }
	}
}

namespace WP_CLI {
	/**
	 * Output one or more items in a given format (e.g. table, JSON).
	 */
	class Formatter {

		/**
		 * @param array       $assoc_args Output format arguments.
		 * @param array       $fields Fields to display of each item.
		 * @param string|bool $prefix Check if fields have a standard prefix.
		 * False indicates empty prefix.
		 */
		public function __construct( &$assoc_args, $fields = null, $prefix = false ) {      }
		/**
		 * Magic getter for arguments.
		 *
		 * @param string $key
		 * @return mixed
		 */
		public function __get( $key ) {         }
		/**
		 * Display multiple items according to the output arguments.
		 *
		 * @param array|Iterator $items The items to display.
		 * @param bool|array     $ascii_pre_colorized Optional. A boolean or an array of booleans to pass to `format()` if items in the table are pre-colorized. Default false.
		 */
		public function display_items( $items, $ascii_pre_colorized = false ) {         }
		/**
		 * Display a single item according to the output arguments.
		 *
		 * @param mixed      $item
		 * @param bool|array $ascii_pre_colorized Optional. A boolean or an array of booleans to pass to `show_multiple_fields()` if the item in the table is pre-colorized. Default false.
		 */
		public function display_item( $item, $ascii_pre_colorized = false ) {       }
		/**
		 * Transforms objects and arrays to JSON as necessary
		 *
		 * @param mixed $item
		 * @return mixed
		 */
		public function transform_item_values_to_json( $item ) {        }
	}
	/**
	 * Extract a provided archive file.
	 */
	class Extractor {

		/**
		 * Extract the archive file to a specific destination.
		 *
		 * @param string $dest
		 */
		public static function extract( $tarball_or_zip, $dest ) {      }
		/**
		 * Copy files from source directory to destination directory. Source
		 * directory must exist.
		 *
		 * @param string $source
		 * @param string $dest
		 */
		public static function copy_overwrite_files( $source, $dest ) {         }
		/**
		 * Delete all files and directories recursively from directory. Directory
		 * must exist.
		 *
		 * @param string $dir
		 */
		public static function rmdir( $dir ) {      }
		/**
		 * Return formatted ZipArchive error message from error code.
		 *
		 * @param int $error_code
		 * @return string|int The error message corresponding to the specified
		 *                    code, if found; Other wise the same error code,
		 *                    unmodified.
		 */
		public static function zip_error_msg( $error_code ) {       }
		/**
		 * Return formatted error message from ProcessRun of tar command.
		 *
		 * @param Processrun $process_run
		 * @return string|int The error message of the process, if available;
		 *                    otherwise the return code.
		 */
		public static function tar_error_msg( $process_run ) {      }
	}
	/**
	 * Context manager to register_context and process different contexts that commands can
	 * run within.
	 */
	final class ContextManager {

		/**
		 * Register a context with WP-CLI.
		 *
		 * @param string  $name           Name of the context.
		 * @param Context $implementation Implementation of the context.
		 */
		public function register_context( $name, \WP_CLI\Context $implementation ) {        }
		/**
		 * Switch the context in which to run WP-CLI.
		 *
		 * @param array $config Associative array of configuration data.
		 * @return void
		 *
		 * @throws ExitException When an invalid context was requested.
		 */
		public function switch_context( $config ) {         }
		/**
		 * Return the current context.
		 *
		 * @return string Current context.
		 */
		public function get_context() {         }
	}
	/**
	 * Class RequestsLibrary.
	 *
	 * A class to manage the version and source of the Requests library used by WP-CLI.
	 */
	final class RequestsLibrary {

		/**
		 * Version 1 of the Requests library.
		 *
		 * @var string
		 */
		const VERSION_V1 = 'v1';
		/**
		 * Version 2 of the Requests library.
		 *
		 * @var string
		 */
		const VERSION_V2 = 'v2';
		/**
		 * Array of valid versions for the Requests library.
		 *
		 * @var array<string>
		 */
		const VALID_VERSIONS = array( self::VERSION_V1, self::VERSION_V2 );
		/**
		 * Requests library bundled with WordPress Core being used.
		 *
		 * @var string
		 */
		const SOURCE_WP_CORE = 'wp-core';
		/**
		 * Requests library bundled with WP-CLI being used.
		 *
		 * @var string
		 */
		const SOURCE_WP_CLI = 'wp-cli';
		/**
		 * Array of valid source for the Requests library.
		 *
		 * @var array<string>
		 */
		const VALID_SOURCES = array( self::SOURCE_WP_CORE, self::SOURCE_WP_CLI );
		/**
		 * Class name of the Requests main class for v1.
		 *
		 * @var string
		 */
		const CLASS_NAME_V1 = '\\Requests';
		/**
		 * Class name of the Requests main class for v2.
		 *
		 * @var string
		 */
		const CLASS_NAME_V2 = '\\WpOrg\\Requests\\Requests';
		/**
		 * Check if the current version is v1.
		 *
		 * @return bool Whether the current version is v1.
		 */
		public static function is_v1() {        }
		/**
		 * Check if the current version is v2.
		 *
		 * @return bool Whether the current version is v2.
		 */
		public static function is_v2() {        }
		/**
		 * Check if the current source for the Requests library is WordPress Core.
		 *
		 * @return bool Whether the current source is WordPress Core.
		 */
		public static function is_core() {      }
		/**
		 * Check if the current source for the Requests library is WP-CLI.
		 *
		 * @return bool Whether the current source is WP-CLI.
		 */
		public static function is_cli() {       }
		/**
		 * Get the current version.
		 *
		 * @return string The current version.
		 */
		public static function get_version() {      }
		/**
		 * Set the version of the library.
		 *
		 * @param string $version The version to set.
		 * @throws RuntimeException if the version is invalid.
		 */
		public static function set_version( $version ) {        }
		/**
		 * Get the current class name.
		 *
		 * @return string The current class name.
		 * @throws RuntimeException if the class name is not set.
		 */
		public static function get_class_name() {       }
		/**
		 * Set the class name for the library.
		 *
		 * @param string $class_name The class name to set.
		 */
		public static function set_class_name( $class_name ) {      }
		/**
		 * Get the current source.
		 *
		 * @return string The current source.
		 */
		public static function get_source() {       }
		/**
		 * Set the source of the library.
		 *
		 * @param string $source The source to set.
		 * @throws RuntimeException if the source is invalid.
		 */
		public static function set_source( $source ) {      }
		/**
		 * Check if a given exception was issued by the Requests library.
		 *
		 * This is used because we cannot easily catch multiple different exception
		 * classes with PHP 5.6. Because of that, we catch generic exceptions, check if
		 * they match the Requests library, and re-throw them if they do not.
		 *
		 * @param Exception $exception Exception to check.
		 * @return bool Whether the provided exception was issued by the Requests library.
		 */
		public static function is_requests_exception( \Exception $exception ) {         }
		/**
		 * Register the autoloader for the Requests library.
		 *
		 * This checks for the detected setup and register the corresponding
		 * autoloader if it is still needed.
		 */
		public static function register_autoloader() {      }
		/**
		 * Get the path to the bundled certificate.
		 *
		 * @return string The path to the bundled certificate.
		 */
		public static function get_bundled_certificate_path() {         }
	}
}

namespace WP_CLI {
	/**
	 * A Upgrader Skin for WordPress that only generates plain-text
	 *
	 * @package wp-cli
	 */
	class UpgraderSkin extends \WP_Upgrader_Skin {

		public $api;
		public function header() {      }
		public function footer() {      }
		public function bulk_header() {         }
		public function bulk_footer() {         }
		/**
		 * Show error message.
		 *
		 * @param string $error Error message.
		 *
		 * @return void
		 */
		public function error( $error ) {       }
		/**
		 * @param string $string
		 * @param mixed  ...$args Optional text replacements.
		 */
		public function feedback( $string, ...$args ) {         }
		/**
		 * Process the feedback collected through the compat indirection.
		 *
		 * @param string $string String to use as feedback message.
		 * @param array  $args Array of additional arguments to process.
		 */
		public function process_feedback( $string, $args ) {        }
	}
	/**
	 * Checks if the list of parameters matches the specification defined in the synopsis.
	 */
	class SynopsisValidator {

		/**
		 * @param string $synopsis Command's synopsis.
		 */
		public function __construct( $synopsis ) {      }
		/**
		 * Get any unknown arguments.
		 *
		 * @return array
		 */
		public function get_unknown() {         }
		/**
		 * Check whether there are enough positional arguments.
		 *
		 * @param array $args Positional arguments.
		 * @return bool
		 */
		public function enough_positionals( $args ) {       }
		/**
		 * Check for any unknown positionals.
		 *
		 * @param array $args Positional arguments.
		 * @return array
		 */
		public function unknown_positionals( $args ) {      }
		/**
		 * Check that all required keys are present and that they have values.
		 *
		 * @param array $assoc_args Parameters passed to command.
		 * @return array
		 */
		public function validate_assoc( $assoc_args ) {         }
		/**
		 * Check whether there are unknown parameters supplied.
		 *
		 * @param array $assoc_args Parameters passed to command.
		 * @return array|false
		 */
		public function unknown_assoc( $assoc_args ) {      }
	}
	/**
	 * A Composer IO class so we can provide some level of interactivity from WP-CLI
	 */
	class ComposerIO extends \Composer\IO\NullIO {

		/**
		 * {@inheritDoc}
		 */
		public function isVerbose(): bool {
		}
		/**
		 * {@inheritDoc}
		 */
		public function write( $messages, $newline = true, $verbosity = self::NORMAL ): void {
		}
		/**
		 * {@inheritDoc}
		 */
		public function writeError( $messages, $newline = true, $verbosity = self::NORMAL ): void {
		}
	}
	/**
	 * Parse command attributes from its PHPdoc.
	 * Used to determine execution characteristics (arguments, etc.).
	 */
	class DocParser {

		/**
		 * PHPdoc command for the command.
		 *
		 * @var string
		 */
		protected $doc_comment;
		/**
		 * @param string $doc_comment
		 */
		public function __construct( $doc_comment ) {       }
		/**
		 * Get the command's short description (e.g. summary).
		 *
		 * @return string
		 */
		public function get_shortdesc() {       }
		/**
		 * Get the command's full description
		 *
		 * @return string
		 */
		public function get_longdesc() {        }
		/**
		 * Get the value for a given tag (e.g. "@alias" or "@subcommand")
		 *
		 * @param string $name Name for the tag, without '@'
		 * @return string
		 */
		public function get_tag( $name ) {      }
		/**
		 * Get the command's synopsis.
		 *
		 * @return string
		 */
		public function get_synopsis() {        }
		/**
		 * Get the description for a given argument.
		 *
		 * @param string $name Argument's doc name.
		 * @return string
		 */
		public function get_arg_desc( $name ) {         }
		/**
		 * Get the arguments for a given argument.
		 *
		 * @param string $name Argument's doc name.
		 * @return mixed|null
		 */
		public function get_arg_args( $name ) {         }
		/**
		 * Get the description for a given parameter.
		 *
		 * @param string $key Parameter's key.
		 * @return string
		 */
		public function get_param_desc( $key ) {        }
		/**
		 * Get the arguments for a given parameter.
		 *
		 * @param string $key Parameter's key.
		 * @return mixed|null
		 */
		public function get_param_args( $key ) {        }
	}
	/**
	 * Manage caching with whitelisting
	 *
	 * @package WP_CLI
	 */
	class WpHttpCacheManager {

		/**
		 * @var array<string, array{key:string, ttl:int}> map whitelisted urls to keys and ttls
		 */
		protected $whitelist = array();
		/**
		 * @var FileCache
		 */
		protected $cache;
		/**
		 * @param FileCache $cache
		 */
		public function __construct( \WP_CLI\FileCache $cache ) {       }
		/**
		 * short circuit wp http api with cached file
		 */
		public function filter_pre_http_request( $response, $args, $url ) {         }
		/**
		 * cache wp http api downloads
		 *
		 * @param array  $response
		 * @param array  $args
		 * @param string $url
		 * @return array
		 */
		public function filter_http_response( $response, $args, $url ) {        }
		/**
		 * whitelist a package url
		 *
		 * @param string $url
		 * @param string $group   package group (themes, plugins, ...)
		 * @param string $slug    package slug
		 * @param string $version package version
		 * @param int    $ttl
		 */
		public function whitelist_package( $url, $group, $slug, $version, $ttl = null ) {       }
		/**
		 * whitelist a url
		 *
		 * @param string $url
		 * @param string $key
		 * @param int    $ttl
		 */
		public function whitelist_url( $url, $key = null, $ttl = null ) {       }
		/**
		 * check if url is whitelisted
		 *
		 * @param string $url
		 * @return bool
		 */
		public function is_whitelisted( $url ) {        }
	}
	/**
	 * Generate a synopsis from a command's PHPdoc arguments.
	 * Turns something like "<object-id>..."
	 * into [ optional=>false, type=>positional, repeating=>true, name=>object-id ]
	 */
	class SynopsisParser {

		/**
		 * @param string $synopsis A synopsis
		 * @return array List of parameters
		 */
		public static function parse( $synopsis ) {         }
		/**
		 * Render the Synopsis into a format string.
		 *
		 * @param array $synopsis A structured synopsis. This might get reordered
		 *                        to match the parsed output.
		 * @return string Rendered synopsis.
		 */
		public static function render( &$synopsis ) {       }
	}
	class ExitException extends \Exception {

	}
}

namespace WP_CLI\Exception {
	class NonExistentKeyException extends \OutOfBoundsException {

		/** @var RecursiveDataStructureTraverser */
		protected $traverser;
		/**
		 * @param RecursiveDataStructureTraverser $traverser
		 */
		public function set_traverser( $traverser ) {       }
		/**
		 * @return RecursiveDataStructureTraverser
		 */
		public function get_traverser() {       }
	}
}

namespace WP_CLI {
	/**
	 * Escape route for not doing anything.
	 */
	final class NoOp {

		public function __set( $key, $value ) {         }
		public function __call( $method, $args ) {      }
	}
	/**
	 * Results of an executed command.
	 */
	class ProcessRun {

		/**
		 * The full command executed by the system.
		 *
		 * @var string
		 */
		public $command;
		/**
		 * Captured output from the process' STDOUT.
		 *
		 * @var string
		 */
		public $stdout;
		/**
		 * Captured output from the process' STDERR.
		 *
		 * @var string
		 */
		public $stderr;
		/**
		 * The path of the working directory for the process or NULL if not specified.
		 *
		 * This defaults to current working directory.
		 *
		 * @var string|null
		 */
		public $cwd;
		/**
		 * Environment variables set for this process.
		 *
		 * @var array
		 */
		public $env;
		/**
		 * Exit code of the process.
		 *
		 * @var int
		 */
		public $return_code;
		/**
		 * The run time of the process.
		 *
		 * @var float
		 */
		public $run_time;
		/**
		 * @param array $props Properties of executed command.
		 */
		public function __construct( $props ) {         }
		/**
		 * Return properties of executed command as a string.
		 *
		 * @return string
		 */
		public function __toString() {      }
	}
	/**
	 * Class Autoloader.
	 *
	 * This is a custom autoloader to replace the functionality that we would
	 * normally get through the autoloader generated by Composer.
	 *
	 * We need this separate autoloader for the bootstrapping process, which happens
	 * before the Composer autoloader(s) could be loaded.
	 *
	 * @package WP_CLI
	 */
	class Autoloader {

		/**
		 * Array containing the registered namespace structures
		 *
		 * @var array
		 */
		protected $namespaces = array();
		/**
		 * Destructor for the Autoloader class.
		 *
		 * The destructor automatically unregisters the autoload callback function
		 * with the SPL autoload system.
		 */
		public function __destruct() {      }
		/**
		 * Registers the autoload callback with the SPL autoload system.
		 */
		public function register() {        }
		/**
		 * Unregisters the autoload callback with the SPL autoload system.
		 */
		public function unregister() {      }
		/**
		 * Add a specific namespace structure with our custom autoloader.
		 *
		 * @param string  $root        Root namespace name.
		 * @param string  $base_dir    Directory containing the class files.
		 * @param string  $prefix      Prefix to be added before the class.
		 * @param string  $suffix      Suffix to be added after the class.
		 * @param boolean $lowercase   Whether the class should be changed to
		 *                             lowercase.
		 * @param boolean $underscores Whether the underscores should be changed to
		 *                             hyphens.
		 *
		 * @return self
		 */
		public function add_namespace( $root, $base_dir, $prefix = '', $suffix = '.php', $lowercase = false, $underscores = false ) {       }
		/**
		 * The autoload function that gets registered with the SPL Autoloader
		 * system.
		 *
		 * @param string $class The class that got requested by the spl_autoloader.
		 */
		public function autoload( $class ) {        }
		/**
		 * Normalize a namespace root.
		 *
		 * @param string $root Namespace root that needs to be normalized.
		 *
		 * @return string Normalized namespace root.
		 */
		protected function normalize_root( $root ) {        }
		/**
		 * Remove a leading backslash from a string.
		 *
		 * @param string $string String to remove the leading backslash from.
		 *
		 * @return string Modified string.
		 */
		protected function remove_leading_backslash( $string ) {        }
		/**
		 * Make sure a string ends with a trailing backslash.
		 *
		 * @param string $string String to check the trailing backslash of.
		 *
		 * @return string Modified string.
		 */
		protected function add_trailing_backslash( $string ) {      }
		/**
		 * Make sure a string ends with a trailing slash.
		 *
		 * @param string $string String to check the trailing slash of.
		 *
		 * @return string Modified string.
		 */
		protected function add_trailing_slash( $string ) {      }
	}
	/**
	 * Performs the execution of a command.
	 *
	 * @property-read string         $global_config_path
	 * @property-read string         $project_config_path
	 * @property-read array          $config
	 * @property-read array          $extra_config
	 * @property-read ContextManager $context_manager
	 * @property-read string         $alias
	 * @property-read array          $aliases
	 * @property-read array          $arguments
	 * @property-read array          $assoc_args
	 * @property-read array          $runtime_config
	 * @property-read bool           $colorize
	 * @property-read array          $early_invoke
	 * @property-read string         $global_config_path_debug
	 * @property-read string         $project_config_path_debug
	 * @property-read array          $required_files
	 *
	 * @package WP_CLI
	 */
	class Runner {

		/**
		 * List of byte-order marks (BOMs) to detect.
		 *
		 * @var array<string, string>
		 */
		const BYTE_ORDER_MARKS = array(
			'UTF-8'       => '﻿',
			'UTF-16 (BE)' => "\xfe\xff",
			'UTF-16 (LE)' => "\xff\xfe",
		);
		public function __get( $key ) {         }
		public function register_context_manager( \WP_CLI\ContextManager $context_manager ) {       }
		/**
		 * Register a command for early invocation, generally before WordPress loads.
		 *
		 * @param string     $when Named execution hook
		 * @param Subcommand $command
		 */
		public function register_early_invoke( $when, $command ) {      }
		/**
		 * Get the path to the global configuration YAML file.
		 *
		 * @param bool $create_config_file Optional. If a config file doesn't exist,
		 *                                 should it be created? Defaults to false.
		 *
		 * @return string|false
		 */
		public function get_global_config_path( $create_config_file = false ) {         }
		/**
		 * Get the path to the project-specific configuration
		 * YAML file.
		 * wp-cli.local.yml takes priority over wp-cli.yml.
		 *
		 * @return string|false
		 */
		public function get_project_config_path() {         }
		/**
		 * Get the path to the packages directory
		 *
		 * @return string
		 */
		public function get_packages_dir_path() {       }
		/**
		 * Find the directory that contains the WordPress files.
		 * Defaults to the current working dir.
		 *
		 * @return string An absolute path.
		 */
		public function find_wp_root() {        }
		/**
		 * Given positional arguments, find the command to execute.
		 *
		 * @param array $args
		 * @return array|string Command, args, and path on success; error message on failure
		 */
		public function find_command_to_run( $args ) {      }
		/**
		 * Find the WP-CLI command to run given arguments, and invoke it.
		 *
		 * @param array $args        Positional arguments including command name
		 * @param array $assoc_args  Associative arguments for the command.
		 * @param array $options     Configuration options for the function.
		 */
		public function run_command( $args, $assoc_args = array(), $options = array() ) {       }
		/**
		 * Show synopsis if the called command is a composite command
		 */
		public function show_synopsis_if_composite_command() {      }
		/**
		 * Check whether a given command is disabled by the config.
		 *
		 * @return bool
		 */
		public function is_command_disabled( $command ) {       }
		/**
		 * Returns wp-config.php code, skipping the loading of wp-settings.php.
		 *
		 * @param string $wp_config_path Optional. Config file path. If left empty, it tries to
		 *                               locate the wp-config.php file automatically.
		 *
		 * @return string
		 */
		public function get_wp_config_code( $wp_config_path = '' ) {        }
		/**
		 * Whether or not the output should be rendered in color
		 *
		 * @return bool
		 */
		public function in_color() {        }
		public function init_colorization() {       }
		public function init_logger() {         }
		public function get_required_files() {      }
		public function init_config() {         }
		public function start() {       }
		/**
		 * Load WordPress, if it hasn't already been loaded
		 */
		public function load_wordpress() {      }
		/**
		 * Set up the filters to skip the loaded theme
		 */
		public function action_setup_theme_wp_cli_skip_themes() {       }
		/**
		 * Error handler for `wp_die()` when the command is help to try to trap errors (db connection failure in particular) during WordPress load.
		 */
		public function help_wp_die_handler( $message ) {       }
	}
	/**
	 * Doctrine inflector has static methods for inflecting text.
	 *
	 * The methods in these classes are from several different sources collected
	 * across several different php projects and several different authors. The
	 * original author names and emails are not known.
	 *
	 * Pluralize & Singularize implementation are borrowed from CakePHP with some modifications.
	 *
	 * @link   www.doctrine-project.org
	 * @since  1.0
	 * @author Konsta Vesterinen <kvesteri@cc.hut.fi>
	 * @author Jonathan H. Wage <jonwage@gmail.com>
	 */
	class Inflector {

		/**
		 * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'.
		 *
		 * @param string $word The word to tableize.
		 *
		 * @return string The tableized word.
		 */
		public static function tableize( $word ) {      }
		/**
		 * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'.
		 *
		 * @param string $word The word to classify.
		 *
		 * @return string The classified word.
		 */
		public static function classify( $word ) {      }
		/**
		 * Camelizes a word. This uses the classify() method and turns the first character to lowercase.
		 *
		 * @param string $word The word to camelize.
		 *
		 * @return string The camelized word.
		 */
		public static function camelize( $word ) {      }
		/**
		 * Uppercases words with configurable delimiters between words.
		 *
		 * Takes a string and capitalizes all of the words, like PHP's built-in
		 * ucwords function.  This extends that behavior, however, by allowing the
		 * word delimiters to be configured, rather than only separating on
		 * whitespace.
		 *
		 * Here is an example:
		 * <code>
		 * <?php
		 * $string = 'top-o-the-morning to all_of_you!';
		 * echo \Doctrine\Common\Inflector\Inflector::ucwords($string);
		 * // Top-O-The-Morning To All_of_you!
		 *
		 * echo \Doctrine\Common\Inflector\Inflector::ucwords($string, '-_ ');
		 * // Top-O-The-Morning To All_Of_You!
		 * ?>
		 * </code>
		 *
		 * @param string $string The string to operate on.
		 * @param string $delimiters A list of word separators.
		 *
		 * @return string The string with all delimiter-separated words capitalized.
		 */
		public static function ucwords( $string, $delimiters = " \n\t\r\x00\v-" ) {         }
		/**
		 * Clears Inflectors inflected value caches, and resets the inflection
		 * rules to the initial values.
		 *
		 * @return void
		 */
		public static function reset() {        }
		/**
		 * Adds custom inflection $rules, of either 'plural' or 'singular' $type.
		 *
		 * ### Usage:
		 *
		 * {{{
		 * Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables'));
		 * Inflector::rules('plural', array(
		 *     'rules' => array('/^(inflect)ors$/i' => '\1ables'),
		 *     'uninflected' => array('dontinflectme'),
		 *     'irregular' => array('red' => 'redlings')
		 * ));
		 * }}}
		 *
		 * @param string  $type  The type of inflection, either 'plural' or 'singular'
		 * @param array   $rules An array of rules to be added.
		 * @param boolean $reset If true, will unset default inflections for all
		 *                       new rules that are being defined in $rules.
		 *
		 * @return void
		 */
		public static function rules( $type, $rules, $reset = false ) {         }
		/**
		 * Returns a word in plural form.
		 *
		 * @param string $word The word in singular form.
		 *
		 * @return string The word in plural form.
		 */
		public static function pluralize( $word ) {         }
		/**
		 * Returns a word in singular form.
		 *
		 * @param string $word The word in plural form.
		 *
		 * @return string The word in singular form.
		 */
		public static function singularize( $word ) {       }
	}
}

namespace WP_CLI\Iterators {
	/**
	 * Applies one or more callbacks to an item before returning it.
	 */
	class Transform extends \IteratorIterator {

		public function add_transform( $fn ) {      }
		#[\ReturnTypeWillChange]
		public function current() {         }
	}
	/**
	 * Iterates over results of a query, split into many queries via LIMIT and OFFSET
	 *
	 * @source https://gist.github.com/4060005
	 */
	class Query implements \Iterator {

		/**
		 * Creates a new query iterator
		 *
		 * This will loop over all users, but will retrieve them 100 by 100:
		 * <code>
		 * foreach( new Iterators\Query( 'SELECT * FROM users', 100 ) as $user ) {
		 *     tickle( $user );
		 * }
		 * </code>
		 *
		 * @param string $query The query as a string. It shouldn't include any LIMIT clauses
		 * @param int    $chunk_size How many rows to retrieve at once; default value is 500 (optional)
		 */
		public function __construct( $query, $chunk_size = 500 ) {      }
		#[\ReturnTypeWillChange]
		public function current() {         }
		#[\ReturnTypeWillChange]
		public function key() {         }
		#[\ReturnTypeWillChange]
		public function next() {        }
		#[\ReturnTypeWillChange]
		public function rewind() {      }
		#[\ReturnTypeWillChange]
		public function valid() {       }
	}
	class Exception extends \RuntimeException {

	}
	/**
	 * @source https://gist.github.com/4060005
	 */
	class Table extends \WP_CLI\Iterators\Query {

		/**
		 * Creates an iterator over a database table.
		 *
		 * <code>
		 * foreach( new Iterators\Table( array( 'table' => $wpdb->posts, 'fields' => array( 'ID', 'post_content' ) ) ) as $post ) {
		 *     count_words_for( $post->ID, $post->post_content );
		 * }
		 * </code>
		 *
		 * <code>
		 * foreach( new Iterators\Table( array( 'table' => $wpdb->posts, 'where' => 'ID = 8 OR post_status = "publish"' ) ) as $post ) {
		 *     …
		 * }
		 * </code>
		 *
		 * <code>
		 * foreach( new PostIterator( array( 'table' => $wpdb->posts, 'where' => array( 'post_status' => 'publish', 'post_date_gmt BETWEEN x AND y' ) ) ) as $post ) {
		 *     …
		 * }
		 * </code>
		 *
		 * @param array $args Supported arguments:
		 *      table – the name of the database table
		 *      fields – an array of columns to get from the table, '*' is a valid value and the default
		 *      where – conditions for filtering rows. Supports two formats:
		 *              = string – this will be the where clause
		 *              = array – each element is treated as a condition if it's positional, or as column => value if
		 *                it's a key/value pair. In the latter case the value is automatically quoted and escaped
		 *      append - add arbitrary extra SQL
		 */
		public function __construct( $args = array() ) {        }
	}
	/**
	 * Allows incrementally reading and parsing lines from a CSV file.
	 */
	class CSV implements \Countable, \Iterator {

		const ROW_SIZE = 4096;
		public function __construct( $filename, $delimiter = ',' ) {        }
		public function rewind(): void {
		}
		public function current(): mixed {
		}
		public function key(): mixed {
		}
		public function next(): void {
		}
		public function count(): int {
		}
		public function valid(): bool {
		}
	}
}

namespace WP_CLI {
	class Completions {

		/**
		 * Instantiate a Completions object.
		 *
		 * @param string $line Line of shell input to compute a completion for.
		 */
		public function __construct( $line ) {      }
		/**
		 * Render the stored options.
		 *
		 * @return void
		 */
		public function render() {      }
	}
	/**
	 * Handles file- and runtime-based configuration values.
	 *
	 * @package WP_CLI
	 */
	class Configurator {

		/**
		 * Regex pattern used to define an alias.
		 *
		 * @var string
		 */
		const ALIAS_REGEX = '^@[A-Za-z0-9-_\\.\\-]+$';
		/**
		 * @param string $path Path to config spec file.
		 */
		public function __construct( $path ) {      }
		/**
		 * Get declared configuration values as an array.
		 *
		 * @return array
		 */
		public function to_array() {        }
		/**
		 * Get configuration specification, i.e. list of accepted keys.
		 *
		 * @return array
		 */
		public function get_spec() {        }
		/**
		 * Get any aliases defined in config files.
		 *
		 * @return array
		 */
		public function get_aliases() {         }
		/**
		 * Splits a list of arguments into positional, associative and config.
		 *
		 * @param array(string) $arguments
		 * @return array(array)
		 */
		public function parse_args( $arguments ) {      }
		/**
		 * Splits positional args from associative args.
		 *
		 * @param array $arguments
		 * @return array(array)
		 */
		public static function extract_assoc( $arguments ) {        }
		/**
		 * Load a YAML file of parameters into scope.
		 *
		 * @param string $path Path to YAML file.
		 */
		public function merge_yml( $path, $current_alias = null ) {         }
		/**
		 * Merge an array of values into the configurator config.
		 *
		 * @param array $config
		 */
		public function merge_array( $config ) {        }
	}
	/**
	 * Run a system process, and learn what happened.
	 */
	class Process {

		/**
		 * @var bool Whether to log run time info or not.
		 */
		public static $log_run_times = false;
		/**
		 * @var array Array of process run time info, keyed by process command, each a 2-element array containing run time and run count.
		 */
		public static $run_times = array();
		/**
		 * @param string $command Command to execute.
		 * @param string $cwd Directory to execute the command in.
		 * @param array  $env Environment variables to set when running the command.
		 *
		 * @return Process
		 */
		public static function create( $command, $cwd = null, $env = array() ) {        }
		/**
		 * Run the command.
		 *
		 * @return ProcessRun
		 */
		public function run() {         }
		/**
		 * Run the command, but throw an Exception on error.
		 *
		 * @return ProcessRun
		 */
		public function run_check() {       }
		/**
		 * Run the command, but throw an Exception on error.
		 * Same as `run_check()` above, but checks the correct stderr.
		 *
		 * @return ProcessRun
		 */
		public function run_check_stderr() {        }
	}
}

namespace {
	/**
	 * Various utilities for WP-CLI commands.
	 */
	class WP_CLI {

		/**
		 * Set the logger instance.
		 *
		 * @param object $logger Logger instance to set.
		 */
		public static function set_logger( $logger ) {      }
		/**
		 * Get the logger instance.
		 *
		 * @return object $logger Logger instance.
		 */
		public static function get_logger() {       }
		/**
		 * Get the Configurator instance
		 *
		 * @return Configurator
		 */
		public static function get_configurator() {         }
		public static function get_root_command() {         }
		public static function get_runner() {       }
		/**
		 * @return FileCache
		 */
		public static function get_cache() {        }
		/**
		 * Set the context in which WP-CLI should be run
		 */
		public static function set_url( $url ) {        }
		/**
		 * @return WpHttpCacheManager
		 */
		public static function get_http_cache_manager() {       }
		/**
		 * Colorize a string for output.
		 *
		 * Yes, you can change the color of command line text too. For instance,
		 * here's how `WP_CLI::success()` colorizes "Success: "
		 *
		 * ```
		 * WP_CLI::colorize( "%GSuccess:%n " )
		 * ```
		 *
		 * Uses `\cli\Colors::colorize()` to transform color tokens to display
		 * settings. Choose from the following tokens (and note 'reset'):
		 *
		 * * %y => ['color' => 'yellow'],
		 * * %g => ['color' => 'green'],
		 * * %b => ['color' => 'blue'],
		 * * %r => ['color' => 'red'],
		 * * %p => ['color' => 'magenta'],
		 * * %m => ['color' => 'magenta'],
		 * * %c => ['color' => 'cyan'],
		 * * %w => ['color' => 'grey'],
		 * * %k => ['color' => 'black'],
		 * * %n => ['color' => 'reset'],
		 * * %Y => ['color' => 'yellow', 'style' => 'bright'],
		 * * %G => ['color' => 'green', 'style' => 'bright'],
		 * * %B => ['color' => 'blue', 'style' => 'bright'],
		 * * %R => ['color' => 'red', 'style' => 'bright'],
		 * * %P => ['color' => 'magenta', 'style' => 'bright'],
		 * * %M => ['color' => 'magenta', 'style' => 'bright'],
		 * * %C => ['color' => 'cyan', 'style' => 'bright'],
		 * * %W => ['color' => 'grey', 'style' => 'bright'],
		 * * %K => ['color' => 'black', 'style' => 'bright'],
		 * * %N => ['color' => 'reset', 'style' => 'bright'],
		 * * %3 => ['background' => 'yellow'],
		 * * %2 => ['background' => 'green'],
		 * * %4 => ['background' => 'blue'],
		 * * %1 => ['background' => 'red'],
		 * * %5 => ['background' => 'magenta'],
		 * * %6 => ['background' => 'cyan'],
		 * * %7 => ['background' => 'grey'],
		 * * %0 => ['background' => 'black'],
		 * * %F => ['style' => 'blink'],
		 * * %U => ['style' => 'underline'],
		 * * %8 => ['style' => 'inverse'],
		 * * %9 => ['style' => 'bright'],
		 * * %_ => ['style' => 'bright']
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string $string String to colorize for output, with color tokens.
		 * @return string Colorized string.
		 */
		public static function colorize( $string ) {        }
		/**
		 * Schedule a callback to be executed at a certain point.
		 *
		 * Hooks conceptually are very similar to WordPress actions. WP-CLI hooks
		 * are typically called before WordPress is loaded.
		 *
		 * WP-CLI hooks include:
		 *
		 * * `before_add_command:<command>` - Before the command is added.
		 * * `after_add_command:<command>` - After the command was added.
		 * * `before_invoke:<command>` (1) - Just before a command is invoked.
		 * * `after_invoke:<command>` (1) - Just after a command is invoked.
		 * * `find_command_to_run_pre` - Just before WP-CLI finds the command to run.
		 * * `before_registering_contexts` (1) - Before the contexts are registered.
		 * * `before_wp_load` - Just before the WP load process begins.
		 * * `before_wp_config_load` - After wp-config.php has been located.
		 * * `after_wp_config_load` - After wp-config.php has been loaded into scope.
		 * * `after_wp_load` - Just after the WP load process has completed.
		 * * `before_run_command` (3) - Just before the command is executed.
		 *
		 * The parentheses behind the hook name denote the number of arguments
		 * being passed into the hook. For such hooks, the callback should return
		 * the first argument again, making them work like a WP filter.
		 *
		 * WP-CLI commands can create their own hooks with `WP_CLI::do_hook()`.
		 *
		 * If additional arguments are passed through the `WP_CLI::do_hook()` call,
		 * these will be passed on to the callback provided by `WP_CLI::add_hook()`.
		 *
		 * ```
		 * # `wp network meta` confirms command is executing in multisite context.
		 * WP_CLI::add_command( 'network meta', 'Network_Meta_Command', array(
		 *    'before_invoke' => function ( $name ) {
		 *        if ( !is_multisite() ) {
		 *            WP_CLI::error( 'This is not a multisite installation.' );
		 *        }
		 *    }
		 * ) );
		 * ```
		 *
		 * @access public
		 * @category Registration
		 *
		 * @param string $when Identifier for the hook.
		 * @param mixed  $callback Callback to execute when hook is called.
		 * @return null
		 */
		public static function add_hook( $when, $callback ) {       }
		/**
		 * Execute callbacks registered to a given hook.
		 *
		 * See `WP_CLI::add_hook()` for details on WP-CLI's internal hook system.
		 * Commands can provide and call their own hooks.
		 *
		 * @access public
		 * @category Registration
		 *
		 * @param string $when    Identifier for the hook.
		 * @param mixed  ...$args Optional. Arguments that will be passed onto the
		 *                        callback provided by `WP_CLI::add_hook()`.
		 * @return null|mixed Returns the first optional argument if optional
		 *                    arguments were passed, otherwise returns null.
		 */
		public static function do_hook( $when, ...$args ) {         }
		/**
		 * Add a callback to a WordPress action or filter.
		 *
		 * `add_action()` without needing access to `add_action()`. If WordPress is
		 * already loaded though, you should use `add_action()` (and `add_filter()`)
		 * instead.
		 *
		 * @access public
		 * @category Registration
		 *
		 * @param string  $tag Named WordPress action or filter.
		 * @param mixed   $function_to_add Callable to execute when the action or filter is evaluated.
		 * @param integer $priority Priority to add the callback as.
		 * @param integer $accepted_args Number of arguments to pass to callback.
		 * @return true
		 */
		public static function add_wp_hook( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {      }
		/**
		 * Register a command to WP-CLI.
		 *
		 * WP-CLI supports using any callable class, function, or closure as a
		 * command. `WP_CLI::add_command()` is used for both internal and
		 * third-party command registration.
		 *
		 * Command arguments are parsed from PHPDoc by default, but also can be
		 * supplied as an optional third argument during registration.
		 *
		 * ```
		 * # Register a custom 'foo' command to output a supplied positional param.
		 * #
		 * # $ wp foo bar --append=qux
		 * # Success: bar qux
		 *
		 * /**
		 *  * My awesome closure command
		 *  *
		 *  * <message>
		 *  * : An awesome message to display
		 *  *
		 *  * --append=<message>
		 *  * : An awesome message to append to the original message.
		 *  *
		 *  * @when before_wp_load
		 *  *\/
		 * $foo = function( $args, $assoc_args ) {
		 *     WP_CLI::success( $args[0] . ' ' . $assoc_args['append'] );
		 * };
		 * WP_CLI::add_command( 'foo', $foo );
		 * ```
		 *
		 * @access public
		 * @category Registration
		 *
		 * @param string                 $name Name for the command (e.g. "post list" or "site empty").
		 * @param callable|object|string $callable Command implementation as a class, function or closure.
		 * @param array                  $args {
		 *                  Optional. An associative array with additional registration parameters.
		 *
		 *    @type callable $before_invoke Callback to execute before invoking the command.
		 *    @type callable $after_invoke  Callback to execute after invoking the command.
		 *    @type string   $shortdesc     Short description (80 char or less) for the command.
		 *    @type string   $longdesc      Description of arbitrary length for examples, etc.
		 *    @type string   $synopsis      The synopsis for the command (string or array).
		 *    @type string   $when          Execute callback on a named WP-CLI hook (e.g. before_wp_load).
		 *    @type bool     $is_deferred   Whether the command addition had already been deferred.
		 * }
		 * @return bool True on success, false if deferred, hard error if registration failed.
		 */
		public static function add_command( $name, $callable, $args = array() ) {       }
		/**
		 * Get the list of outstanding deferred command additions.
		 *
		 * @return array Array of outstanding command additions.
		 */
		public static function get_deferred_additions() {       }
		/**
		 * Remove a command addition from the list of outstanding deferred additions.
		 */
		public static function remove_deferred_addition( $name ) {      }
		/**
		 * Display informational message without prefix, and ignore `--quiet`.
		 *
		 * Message is written to STDOUT. `WP_CLI::log()` is typically recommended;
		 * `WP_CLI::line()` is included for historical compat.
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string $message Message to display to the end user.
		 * @return null
		 */
		public static function line( $message = '' ) {      }
		/**
		 * Display informational message without prefix.
		 *
		 * Message is written to STDOUT, or discarded when `--quiet` flag is supplied.
		 *
		 * ```
		 * # `wp cli update` lets user know of each step in the update process.
		 * WP_CLI::log( sprintf( 'Downloading from %s...', $download_url ) );
		 * ```
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string $message Message to write to STDOUT.
		 */
		public static function log( $message ) {        }
		/**
		 * Display success message prefixed with "Success: ".
		 *
		 * Success message is written to STDOUT.
		 *
		 * Typically recommended to inform user of successful script conclusion.
		 *
		 * ```
		 * # wp rewrite flush expects 'rewrite_rules' option to be set after flush.
		 * flush_rewrite_rules( \WP_CLI\Utils\get_flag_value( $assoc_args, 'hard' ) );
		 * if ( ! get_option( 'rewrite_rules' ) ) {
		 *     WP_CLI::warning( "Rewrite rules are empty." );
		 * } else {
		 *     WP_CLI::success( 'Rewrite rules flushed.' );
		 * }
		 * ```
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string $message Message to write to STDOUT.
		 * @return null
		 */
		public static function success( $message ) {        }
		/**
		 * Display debug message prefixed with "Debug: " when `--debug` is used.
		 *
		 * Debug message is written to STDERR, and includes script execution time.
		 *
		 * Helpful for optionally showing greater detail when needed. Used throughout
		 * WP-CLI bootstrap process for easier debugging and profiling.
		 *
		 * ```
		 * # Called in `WP_CLI\Runner::set_wp_root()`.
		 * private static function set_wp_root( $path ) {
		 *     define( 'ABSPATH', Utils\trailingslashit( $path ) );
		 *     WP_CLI::debug( 'ABSPATH defined: ' . ABSPATH );
		 *     $_SERVER['DOCUMENT_ROOT'] = realpath( $path );
		 * }
		 *
		 * # Debug details only appear when `--debug` is used.
		 * # $ wp --debug
		 * # [...]
		 * # Debug: ABSPATH defined: /srv/www/wordpress-develop.dev/src/ (0.225s)
		 * ```
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string|WP_Error|Exception|Throwable $message Message to write to STDERR.
		 * @param string|bool                         $group Organize debug message to a specific group.
		 *                         Use `false` to not group the message.
		 * @return null
		 */
		public static function debug( $message, $group = \false ) {         }
		/**
		 * Display warning message prefixed with "Warning: ".
		 *
		 * Warning message is written to STDERR.
		 *
		 * Use instead of `WP_CLI::debug()` when script execution should be permitted
		 * to continue.
		 *
		 * ```
		 * # `wp plugin activate` skips activation when plugin is network active.
		 * $status = $this->get_status( $plugin->file );
		 * // Network-active is the highest level of activation status
		 * if ( 'active-network' === $status ) {
		 *   WP_CLI::warning( "Plugin '{$plugin->name}' is already network active." );
		 *   continue;
		 * }
		 * ```
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string|WP_Error|Exception|Throwable $message Message to write to STDERR.
		 * @return null
		 */
		public static function warning( $message ) {        }
		/**
		 * Display error message prefixed with "Error: " and exit script.
		 *
		 * Error message is written to STDERR. Defaults to halting script execution
		 * with return code 1.
		 *
		 * Use `WP_CLI::warning()` instead when script execution should be permitted
		 * to continue.
		 *
		 * ```
		 * # `wp cache flush` considers flush failure to be a fatal error.
		 * if ( false === wp_cache_flush() ) {
		 *     WP_CLI::error( 'The object cache could not be flushed.' );
		 * }
		 * ```
		 *
		 * @access public
		 * @category Output
		 *
		 * @param string|WP_Error|Exception|Throwable $message Message to write to STDERR.
		 * @param boolean|integer                     $exit    True defaults to exit(1).
		 * @return null
		 */
		public static function error( $message, $exit = \true ) {       }
		/**
		 * Halt script execution with a specific return code.
		 *
		 * Permits script execution to be overloaded by `WP_CLI::runcommand()`
		 *
		 * @access public
		 * @category Output
		 *
		 * @param integer $return_code
		 * @return never
		 */
		public static function halt( $return_code ) {       }
		/**
		 * Display a multi-line error message in a red box. Doesn't exit script.
		 *
		 * Error message is written to STDERR.
		 *
		 * @access public
		 * @category Output
		 *
		 * @param array $message_lines Multi-line error message to be displayed.
		 */
		public static function error_multi_line( $message_lines ) {         }
		/**
		 * Ask for confirmation before running a destructive operation.
		 *
		 * If 'y' is provided to the question, the script execution continues. If
		 * 'n' or any other response is provided to the question, script exits.
		 *
		 * ```
		 * # `wp db drop` asks for confirmation before dropping the database.
		 *
		 * WP_CLI::confirm( "Are you sure you want to drop the database?", $assoc_args );
		 * ```
		 *
		 * @access public
		 * @category Input
		 *
		 * @param string $question Question to display before the prompt.
		 * @param array  $assoc_args Skips prompt if 'yes' is provided.
		 */
		public static function confirm( $question, $assoc_args = array() ) {        }
		/**
		 * Read value from a positional argument or from STDIN.
		 *
		 * @param array $args The list of positional arguments.
		 * @param int   $index At which position to check for the value.
		 *
		 * @return string
		 */
		public static function get_value_from_arg_or_stdin( $args, $index ) {       }
		/**
		 * Read a value, from various formats.
		 *
		 * @access public
		 * @category Input
		 *
		 * @param mixed $raw_value
		 * @param array $assoc_args
		 */
		public static function read_value( $raw_value, $assoc_args = array() ) {        }
		/**
		 * Display a value, in various formats
		 *
		 * @param mixed $value Value to display.
		 * @param array $assoc_args Arguments passed to the command, determining format.
		 */
		public static function print_value( $value, $assoc_args = array() ) {       }
		/**
		 * Convert a WP_Error or Exception into a string
		 *
		 * @param string|WP_Error|Exception|Throwable $errors
		 * @throws InvalidArgumentException
		 *
		 * @return string
		 */
		public static function error_to_string( $errors ) {         }
		/**
		 * Launch an arbitrary external process that takes over I/O.
		 *
		 * ```
		 * # `wp core download` falls back to the `tar` binary when PharData isn't available
		 * if ( ! class_exists( 'PharData' ) ) {
		 *     $cmd = "tar xz --strip-components=1 --directory=%s -f $tarball";
		 *     WP_CLI::launch( Utils\esc_cmd( $cmd, $dest ) );
		 *     return;
		 * }
		 * ```
		 *
		 * @access public
		 * @category Execution
		 *
		 * @param string  $command External process to launch.
		 * @param boolean $exit_on_error Whether to exit if the command returns an elevated return code.
		 * @param boolean $return_detailed Whether to return an exit status (default) or detailed execution results.
		 * @return int|ProcessRun The command exit status, or a ProcessRun object for full details.
		 */
		public static function launch( $command, $exit_on_error = \true, $return_detailed = \false ) {      }
		/**
		 * Run a WP-CLI command in a new process reusing the current runtime arguments.
		 *
		 * Use `WP_CLI::runcommand()` instead, which is easier to use and works better.
		 *
		 * Note: While this command does persist a limited set of runtime arguments,
		 * it *does not* persist environment variables. Practically speaking, WP-CLI
		 * packages won't be loaded when using WP_CLI::launch_self() because the
		 * launched process doesn't have access to the current process $HOME.
		 *
		 * @access public
		 * @category Execution
		 *
		 * @param string $command WP-CLI command to call.
		 * @param array  $args Positional arguments to include when calling the command.
		 * @param array  $assoc_args Associative arguments to include when calling the command.
		 * @param bool   $exit_on_error Whether to exit if the command returns an elevated return code.
		 * @param bool   $return_detailed Whether to return an exit status (default) or detailed execution results.
		 * @param array  $runtime_args Override one or more global args (path,url,user,allow-root)
		 * @return int|ProcessRun The command exit status, or a ProcessRun instance
		 */
		public static function launch_self( $command, $args = array(), $assoc_args = array(), $exit_on_error = \true, $return_detailed = \false, $runtime_args = array() ) {        }
		/**
		 * Get the path to the PHP binary used when executing WP-CLI.
		 *
		 * Environment values permit specific binaries to be indicated.
		 *
		 * Note: moved to Utils, left for BC.
		 *
		 * @access public
		 * @category System
		 *
		 * @return string
		 */
		public static function get_php_binary() {       }
		/**
		 * Confirm that a global configuration parameter does exist.
		 *
		 * @access public
		 * @category Input
		 *
		 * @param string $key Config parameter key to check.
		 *
		 * @return bool
		 */
		public static function has_config( $key ) {         }
		/**
		 * Get values of global configuration parameters.
		 *
		 * Provides access to `--path=<path>`, `--url=<url>`, and other values of
		 * the [global configuration parameters](https://make.wordpress.org/cli/handbook/references/config/).
		 *
		 * ```
		 * WP_CLI::log( 'The --url=<url> value is: ' . WP_CLI::get_config( 'url' ) );
		 * ```
		 *
		 * @access public
		 * @category Input
		 *
		 * @param string $key Get value for a specific global configuration parameter.
		 * @return mixed
		 */
		public static function get_config( $key = \null ) {         }
		/**
		 * Run a WP-CLI command.
		 *
		 * Launches a new child process to run a specified WP-CLI command.
		 * Optionally:
		 *
		 * * Run the command in an existing process.
		 * * Prevent halting script execution on error.
		 * * Capture and return STDOUT, or full details about command execution.
		 * * Parse JSON output if the command rendered it.
		 * * Include additional arguments that are passed to the command.
		 *
		 * ```
		 * $options = array(
		 *   'return'       => true,                // Return 'STDOUT'; use 'all' for full object.
		 *   'parse'        => 'json',              // Parse captured STDOUT to JSON array.
		 *   'launch'       => false,               // Reuse the current process.
		 *   'exit_error'   => true,                // Halt script execution on error.
		 *   'command_args' => [ '--skip-themes' ], // Additional arguments to be passed to the $command.
		 * );
		 * $plugins = WP_CLI::runcommand( 'plugin list --format=json', $options );
		 * ```
		 *
		 * @access public
		 * @category Execution
		 *
		 * @param string $command WP-CLI command to run, including arguments.
		 * @param array  $options Configuration options for command execution.
		 * @return mixed
		 */
		public static function runcommand( $command, $options = array() ) {         }
		/**
		 * Run a given command within the current process using the same global
		 * parameters.
		 *
		 * Use `WP_CLI::runcommand()` instead, which is easier to use and works better.
		 *
		 * To run a command using a new process with the same global parameters,
		 * use WP_CLI::launch_self(). To run a command using a new process with
		 * different global parameters, use WP_CLI::launch().
		 *
		 * ```
		 * ob_start();
		 * WP_CLI::run_command( array( 'cli', 'cmd-dump' ) );
		 * $ret = ob_get_clean();
		 * ```
		 *
		 * @access public
		 * @category Execution
		 *
		 * @param array $args Positional arguments including command name.
		 * @param array $assoc_args
		 */
		public static function run_command( $args, $assoc_args = array() ) {        }
		// DEPRECATED STUFF.
		public static function add_man_dir() {      }
		// back-compat.
		public static function out( $str ) {        }
		// back-compat.
        // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid -- Deprecated method.
		public static function addCommand( $name, $class ) {        }
	}
	/**
	 * Reviews current WP-CLI info, checks for updates, or views defined aliases.
	 *
	 * ## EXAMPLES
	 *
	 *     # Display the version currently installed.
	 *     $ wp cli version
	 *     WP-CLI 0.24.1
	 *
	 *     # Check for updates to WP-CLI.
	 *     $ wp cli check-update
	 *     Success: WP-CLI is at the latest version.
	 *
	 *     # Update WP-CLI to the latest stable release.
	 *     $ wp cli update
	 *     You have version 0.24.0. Would you like to update to 0.24.1? [y/n] y
	 *     Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.24.1/wp-cli-0.24.1.phar...
	 *     New version works. Proceeding to replace.
	 *     Success: Updated WP-CLI to 0.24.1.
	 *
	 *     # Clear the internal WP-CLI cache.
	 *     $ wp cli cache clear
	 *     Success: Cache cleared.
	 *
	 * @when before_wp_load
	 */
	class CLI_Command extends \WP_CLI_Command {

		/**
		 * Prints WP-CLI version.
		 *
		 * ## EXAMPLES
		 *
		 *     # Display CLI version.
		 *     $ wp cli version
		 *     WP-CLI 0.24.1
		 */
		public function version() {         }
		/**
		 * Prints various details about the WP-CLI environment.
		 *
		 * Helpful for diagnostic purposes, this command shares:
		 *
		 * * OS information.
		 * * Shell information.
		 * * PHP binary used.
		 * * PHP binary version.
		 * * php.ini configuration file used (which is typically different than web).
		 * * WP-CLI root dir: where WP-CLI is installed (if non-Phar install).
		 * * WP-CLI global config: where the global config YAML file is located.
		 * * WP-CLI project config: where the project config YAML file is located.
		 * * WP-CLI version: currently installed version.
		 *
		 * See [config docs](https://make.wordpress.org/cli/handbook/references/config/) for more details on global
		 * and project config YAML files.
		 *
		 * ## OPTIONS
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: list
		 * options:
		 *   - list
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Display various data about the CLI environment.
		 *     $ wp cli info
		 *     OS:  Linux 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017 x86_64
		 *     Shell:   /usr/bin/zsh
		 *     PHP binary:  /usr/bin/php
		 *     PHP version: 7.1.12-1+ubuntu16.04.1+deb.sury.org+1
		 *     php.ini used:    /etc/php/7.1/cli/php.ini
		 *     WP-CLI root dir:    phar://wp-cli.phar
		 *     WP-CLI packages dir:    /home/person/.wp-cli/packages/
		 *     WP-CLI global config:
		 *     WP-CLI project config:
		 *     WP-CLI version: 1.5.0
		 */
		public function info( $_, $assoc_args ) {       }
		/**
		 * Checks to see if there is a newer version of WP-CLI available.
		 *
		 * Queries the GitHub releases API. Returns available versions if there are
		 * updates available, or success message if using the latest release.
		 *
		 * ## OPTIONS
		 *
		 * [--patch]
		 * : Only list patch updates.
		 *
		 * [--minor]
		 * : Only list minor updates.
		 *
		 * [--major]
		 * : Only list major updates.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each update.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields. Defaults to version,update_type,package_url.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Check for update.
		 *     $ wp cli check-update
		 *     Success: WP-CLI is at the latest version.
		 *
		 *     # Check for update and new version is available.
		 *     $ wp cli check-update
		 *     +---------+-------------+-------------------------------------------------------------------------------+
		 *     | version | update_type | package_url                                                                   |
		 *     +---------+-------------+-------------------------------------------------------------------------------+
		 *     | 0.24.1  | patch       | https://github.com/wp-cli/wp-cli/releases/download/v0.24.1/wp-cli-0.24.1.phar |
		 *     +---------+-------------+-------------------------------------------------------------------------------+
		 *
		 * @subcommand check-update
		 */
		public function check_update( $_, $assoc_args ) {       }
		/**
		 * Updates WP-CLI to the latest release.
		 *
		 * Default behavior is to check the releases API for the newest stable
		 * version, and prompt if one is available.
		 *
		 * Use `--stable` to install or reinstall the latest stable version.
		 *
		 * Use `--nightly` to install the latest built version of the master branch.
		 * While not recommended for production, nightly contains the latest and
		 * greatest, and should be stable enough for development and staging
		 * environments.
		 *
		 * Only works for the Phar installation mechanism.
		 *
		 * ## OPTIONS
		 *
		 * [--patch]
		 * : Only perform patch updates.
		 *
		 * [--minor]
		 * : Only perform minor updates.
		 *
		 * [--major]
		 * : Only perform major updates.
		 *
		 * [--stable]
		 * : Update to the latest stable release. Skips update check.
		 *
		 * [--nightly]
		 * : Update to the latest built version of the master branch. Potentially unstable.
		 *
		 * [--yes]
		 * : Do not prompt for confirmation.
		 *
		 * [--insecure]
		 * : Retry without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update CLI.
		 *     $ wp cli update
		 *     You have version 0.24.0. Would you like to update to 0.24.1? [y/n] y
		 *     Downloading from https://github.com/wp-cli/wp-cli/releases/download/v0.24.1/wp-cli-0.24.1.phar...
		 *     New version works. Proceeding to replace.
		 *     Success: Updated WP-CLI to 0.24.1.
		 */
		public function update( $_, $assoc_args ) {         }
		/**
		 * Dumps the list of global parameters, as JSON or in var_export format.
		 *
		 * ## OPTIONS
		 *
		 * [--with-values]
		 * : Display current values also.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: json
		 * options:
		 *   - var_export
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Dump the list of global parameters.
		 *     $ wp cli param-dump --format=var_export
		 *     array (
		 *       'path' =>
		 *       array (
		 *         'runtime' => '=<path>',
		 *         'file' => '<path>',
		 *         'synopsis' => '',
		 *         'default' => NULL,
		 *         'multiple' => false,
		 *         'desc' => 'Path to the WordPress files.',
		 *       ),
		 *       'url' =>
		 *       array (
		 *
		 * @subcommand param-dump
		 */
		public function param_dump( $_, $assoc_args ) {         }
		/**
		 * Dumps the list of installed commands, as JSON.
		 *
		 * ## EXAMPLES
		 *
		 *     # Dump the list of installed commands.
		 *     $ wp cli cmd-dump
		 *     {"name":"wp","description":"Manage WordPress through the command-line.","longdesc":"\n\n## GLOBAL PARAMETERS\n\n  --path=<path>\n      Path to the WordPress files.\n\n  --ssh=<ssh>\n      Perform operation against a remote server over SSH (or a container using scheme of "docker" or "docker-compose").\n\n  --url=<url>\n      Pretend request came from given URL. In multisite, this argument is how the target site is specified. \n\n  --user=<id|login|email>\n
		 *
		 * @subcommand cmd-dump
		 */
		public function cmd_dump() {        }
		/**
		 * Generates tab completion strings.
		 *
		 * ## OPTIONS
		 *
		 * --line=<line>
		 * : The current command line to be executed.
		 *
		 * --point=<point>
		 * : The index to the current cursor position relative to the beginning of the command.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate tab completion strings.
		 *     $ wp cli completions --line='wp eva' --point=100
		 *     eval
		 *     eval-file
		 */
		public function completions( $_, $assoc_args ) {        }
		/**
		 * Detects if a command exists
		 *
		 * This commands checks if a command is registered with WP-CLI.
		 * If the command is found then it returns with exit status 0.
		 * If the command doesn't exist, then it will exit with status 1.
		 *
		 * ## OPTIONS
		 * <command_name>...
		 * : The command
		 *
		 * ## EXAMPLES
		 *
		 *     # The "site delete" command is registered.
		 *     $ wp cli has-command "site delete"
		 *     $ echo $?
		 *     0
		 *
		 *     # The "foo bar" command is not registered.
		 *     $ wp cli has-command "foo bar"
		 *     $ echo $?
		 *     1
		 *
		 *     # Install a WP-CLI package if not already installed
		 *     $ if ! $(wp cli has-command doctor); then wp package install wp-cli/doctor-command; fi
		 *     Installing package wp-cli/doctor-command (dev-main || dev-master || dev-trunk)
		 *     Updating /home/person/.wp-cli/packages/composer.json to require the package...
		 *     Using Composer to install the package...
		 *     ---
		 *     Success: Package installed.
		 *
		 * @subcommand has-command
		 *
		 * @when after_wp_load
		 */
		public function has_command( $_, $assoc_args ) {        }
	}
	class Help_Command extends \WP_CLI_Command {

		/**
		 * Gets help on WP-CLI, or on a specific command.
		 *
		 * ## OPTIONS
		 *
		 * [<command>...]
		 * : Get help on a specific command.
		 *
		 * ## EXAMPLES
		 *
		 *     # get help for `core` command
		 *     wp help core
		 *
		 *     # get help for `core download` subcommand
		 *     wp help core download
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
	/**
	 * Manages the internal WP-CLI cache,.
	 *
	 * ## EXAMPLES
	 *
	 *     # Remove all cached files.
	 *     $ wp cli cache clear
	 *     Success: Cache cleared.
	 *
	 *     # Remove all cached files except for the newest version of each one.
	 *     $ wp cli cache prune
	 *     Success: Cache pruned.
	 *
	 * @when before_wp_load
	 */
	class CLI_Cache_Command extends \WP_CLI_Command {

		/**
		 * Clears the internal cache.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp cli cache clear
		 *     Success: Cache cleared.
		 *
		 * @subcommand clear
		 */
		public function cache_clear() {         }
		/**
		 * Prunes the internal cache.
		 *
		 * Removes all cached files except for the newest version of each one.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp cli cache prune
		 *     Success: Cache pruned.
		 *
		 * @subcommand prune
		 */
		public function cache_prune() {         }
	}
	/**
	 * Retrieves, sets and updates aliases for WordPress Installations.
	 *
	 * Aliases are shorthand references to WordPress installs. For instance,
	 * `@dev` could refer to a development install and `@prod` could refer to a production install.
	 * This command gives you and option to add, update and delete, the registered aliases you have available.
	 *
	 * ## EXAMPLES
	 *
	 *     # List alias information.
	 *     $ wp cli alias list
	 *     list
	 *     ---
	 *
	 *     @all: Run command against every registered alias.
	 *     @local:
	 *       user: wpcli
	 *       path: /Users/wpcli/sites/testsite
	 *
	 *     # Get alias information.
	 *     $ wp cli alias get @dev
	 *     ssh: dev@somedeve.env:12345/home/dev/
	 *
	 *     # Add alias.
	 *     $ wp cli alias add @prod --set-ssh=login@host --set-path=/path/to/wordpress/install/ --set-user=wpcli
	 *     Success: Added '@prod' alias.
	 *
	 *     # Update alias.
	 *     $ wp cli alias update @prod --set-user=newuser --set-path=/new/path/to/wordpress/install/
	 *     Success: Updated 'prod' alias.
	 *
	 *     # Delete alias.
	 *     $ wp cli alias delete @prod
	 *     Success: Deleted '@prod' alias.
	 *
	 * @package wp-cli
	 * @when    before_wp_load
	 */
	class CLI_Alias_Command extends \WP_CLI_Command {

		/**
		 * Lists available WP-CLI aliases.
		 *
		 * ## OPTIONS
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: yaml
		 * options:
		 *   - yaml
		 *   - json
		 *   - var_export
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # List all available aliases.
		 *     $ wp cli alias list
		 *     ---
		 *
		 *     @all: Run command against every registered alias.
		 *     @prod:
		 *       ssh: runcommand@runcommand.io~/webapps/production
		 *     @dev:
		 *       ssh: vagrant@192.168.50.10/srv/www/runcommand.dev
		 *     @both:
		 *       - @prod
		 *       - @dev
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets the value for an alias.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the alias.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get alias.
		 *     $ wp cli alias get @prod
		 *     ssh: dev@somedeve.env:12345/home/dev/
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Creates an alias.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the alias.
		 *
		 * [--set-user=<user>]
		 * : Set user for alias.
		 *
		 * [--set-url=<url>]
		 * : Set url for alias.
		 *
		 * [--set-path=<path>]
		 * : Set path for alias.
		 *
		 * [--set-ssh=<ssh>]
		 * : Set ssh for alias.
		 *
		 * [--set-http=<http>]
		 * : Set http for alias.
		 *
		 * [--grouping=<grouping>]
		 * : For grouping multiple aliases.
		 *
		 * [--config=<config>]
		 * : Config file to be considered for operations.
		 * ---
		 * default: global
		 * options:
		 *   - global
		 *   - project
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add alias to global config.
		 *     $ wp cli alias add @prod  --set-ssh=login@host --set-path=/path/to/wordpress/install/ --set-user=wpcli
		 *     Success: Added '@prod' alias.
		 *
		 *     # Add alias to project config.
		 *     $ wp cli alias add @prod --set-ssh=login@host --set-path=/path/to/wordpress/install/ --set-user=wpcli --config=project
		 *     Success: Added '@prod' alias.
		 *
		 *     # Add group of aliases.
		 *     $ wp cli alias add @multiservers --grouping=servera,serverb
		 *     Success: Added '@multiservers' alias.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Deletes an alias.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the alias.
		 *
		 * [--config=<config>]
		 * : Config file to be considered for operations.
		 * ---
		 * options:
		 *   - global
		 *   - project
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete alias.
		 *     $ wp cli alias delete @prod
		 *     Success: Deleted '@prod' alias.
		 *
		 *     # Delete project alias.
		 *     $ wp cli alias delete @prod --config=project
		 *     Success: Deleted '@prod' alias.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Updates an alias.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the alias.
		 *
		 * [--set-user=<user>]
		 * : Set user for alias.
		 *
		 * [--set-url=<url>]
		 * : Set url for alias.
		 *
		 * [--set-path=<path>]
		 * : Set path for alias.
		 *
		 * [--set-ssh=<ssh>]
		 * : Set ssh for alias.
		 *
		 * [--set-http=<http>]
		 * : Set http for alias.
		 *
		 * [--grouping=<grouping>]
		 * : For grouping multiple aliases.
		 *
		 * [--config=<config>]
		 * : Config file to be considered for operations.
		 * ---
		 * options:
		 *   - global
		 *   - project
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Update alias.
		 *     $ wp cli alias update @prod --set-user=newuser --set-path=/new/path/to/wordpress/install/
		 *     Success: Updated 'prod' alias.
		 *
		 *     # Update project alias.
		 *     $ wp cli alias update @prod --set-user=newuser --set-path=/new/path/to/wordpress/install/ --config=project
		 *     Success: Updated 'prod' alias.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Check whether an alias is a group.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the alias.
		 *
		 * ## EXAMPLES
		 *
		 *     # Checks whether the alias is a group; exit status 0 if it is, otherwise 1.
		 *     $ wp cli alias is-group @prod
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-group
		 */
		public function is_group( $args, $assoc_args = array() ) {      }
	}
}

namespace WP_CLI\Embeds {
	/**
	 * Retrieves oEmbed providers.
	 *
	 * ## EXAMPLES
	 *
	 *     # List format,endpoint fields of available providers.
	 *     $ wp embed provider list
	 *     +------------------------------+-----------------------------------------+
	 *     | format                       | endpoint                                |
	 *     +------------------------------+-----------------------------------------+
	 *     | #https?://youtu\.be/.*#i     | https://www.youtube.com/oembed          |
	 *     | #https?://flic\.kr/.*#i      | https://www.flickr.com/services/oembed/ |
	 *     | #https?://wordpress\.tv/.*#i | https://wordpress.tv/oembed/            |
	 *
	 *     # Get the matching provider for the URL.
	 *     $ wp embed provider match https://www.youtube.com/watch?v=dQw4w9WgXcQ
	 *     https://www.youtube.com/oembed
	 *
	 * @package wp-cli
	 */
	class Provider_Command extends \WP_CLI_Command {

		protected $default_fields = array( 'format', 'endpoint' );
		/**
		 * Lists all available oEmbed providers.
		 *
		 * ## OPTIONS
		 *
		 * [--field=<field>]
		 * : Display the value of a single field
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 * ---
		 *
		 * [--force-regex]
		 * : Turn the asterisk-type provider URLs into regexes.
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each provider:
		 *
		 * * format
		 * * endpoint
		 *
		 * This field is optionally available:
		 *
		 * * regex
		 *
		 * ## EXAMPLES
		 *
		 *     # List format,endpoint fields of available providers.
		 *     $ wp embed provider list --fields=format,endpoint
		 *     +------------------------------+-----------------------------------------+
		 *     | format                       | endpoint                                |
		 *     +------------------------------+-----------------------------------------+
		 *     | #https?://youtu\.be/.*#i     | https://www.youtube.com/oembed          |
		 *     | #https?://flic\.kr/.*#i      | https://www.flickr.com/services/oembed/ |
		 *     | #https?://wordpress\.tv/.*#i | https://wordpress.tv/oembed/            |
		 *
		 * @subcommand list
		 */
		public function list_providers( $args, $assoc_args ) {      }
		/**
		 * Gets the matching provider for a given URL.
		 *
		 * ## OPTIONS
		 *
		 * <url>
		 * : URL to retrieve provider for.
		 *
		 * [--discover]
		 * : Whether to use oEmbed discovery or not. Defaults to true.
		 *
		 * [--limit-response-size=<size>]
		 * : Limit the size of the resulting HTML when using discovery. Default 150 KB (the standard WordPress limit). Not compatible with 'no-discover'.
		 *
		 * [--link-type=<json|xml>]
		 * : Whether to accept only a certain link type when using discovery. Defaults to any (json or xml), preferring json. Not compatible with 'no-discover'.
		 * ---
		 * options:
		 *   - json
		 *   - xml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the matching provider for the URL.
		 *     $ wp embed provider match https://www.youtube.com/watch?v=dQw4w9WgXcQ
		 *     https://www.youtube.com/oembed
		 *
		 * @subcommand match
		 */
		public function match_provider( $args, $assoc_args ) {      }
		/**
		 * Get Formatter object based on supplied parameters.
		 *
		 * @param array $assoc_args Parameters passed to command. Determines formatting.
		 * @return \WP_CLI\Formatter
		 */
		protected function get_formatter( &$assoc_args ) {      }
	}
	/**
	 * Finds, triggers, and deletes oEmbed caches.
	 *
	 * ## EXAMPLES
	 *
	 *     # Find cache post ID for a given URL.
	 *     $ wp embed cache find https://www.youtube.com/watch?v=dQw4w9WgXcQ --width=500
	 *     123
	 *
	 *     # Clear cache for a post.
	 *     $ wp embed cache clear 123
	 *     Success: Cleared oEmbed cache.
	 *
	 *     # Triggers cache for a post.
	 *     $ wp embed cache trigger 456
	 *     Success: Caching triggered!
	 *
	 * @package wp-cli
	 */
	class Cache_Command extends \WP_CLI_Command {

		/**
		 * Deletes all oEmbed caches for a given post.
		 *
		 * oEmbed caches for a post are stored in the post's metadata.
		 *
		 * ## OPTIONS
		 *
		 * <post_id>
		 * : ID of the post to clear the cache for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Clear cache for a post
		 *     $ wp embed cache clear 123
		 *     Success: Cleared oEmbed cache.
		 */
		public function clear( $args, $assoc_args ) {       }
		/**
		 * Finds an oEmbed cache post ID for a given URL.
		 *
		 * Starting with WordPress 4.9, embeds that aren't associated with a specific post will be cached in
		 * a new oembed_cache post type. There can be more than one such entry for a url depending on attributes and context.
		 *
		 * Not to be confused with oEmbed caches for a given post which are stored in the post's metadata.
		 *
		 * ## OPTIONS
		 *
		 * <url>
		 * : URL to retrieve oEmbed data for.
		 *
		 * [--width=<width>]
		 * : Width of the embed in pixels. Part of cache key so must match. Defaults to `content_width` if set else 500px, so is theme and context dependent.
		 *
		 * [--height=<height>]
		 * : Height of the embed in pixels. Part of cache key so must match. Defaults to 1.5 * default width (`content_width` or 500px), to a maximum of 1000px.
		 *
		 * [--discover]
		 * : Whether to search with the discover attribute set or not. Part of cache key so must match. If not given, will search with attribute: unset, '1', '0', returning first.
		 *
		 * ## EXAMPLES
		 *
		 *     # Find cache post ID for a given URL.
		 *     $ wp embed cache find https://www.youtube.com/watch?v=dQw4w9WgXcQ --width=500
		 *     123
		 */
		public function find( $args, $assoc_args ) {        }
		/**
		 * Triggers the caching of all oEmbed results for a given post.
		 *
		 * oEmbed caches for a post are stored in the post's metadata.
		 *
		 * ## OPTIONS
		 *
		 * <post_id>
		 * : ID of the post to do the caching for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Triggers cache for a post
		 *     $ wp embed cache trigger 456
		 *     Success: Caching triggered!
		 */
		public function trigger( $args, $assoc_args ) {         }
	}
	/**
	 * Retrieves embed handlers.
	 *
	 * ## EXAMPLES
	 *
	 *     # List id,regex,priority fields of available handlers.
	 *     $ wp embed handler list --fields=priority,id
	 *     +----------+-------------------+
	 *     | priority | id                |
	 *     +----------+-------------------+
	 *     | 10       | youtube_embed_url |
	 *     | 9999     | audio             |
	 *     | 9999     | video             |
	 *
	 * @package wp-cli
	 */
	class Handler_Command extends \WP_CLI_Command {

		protected $default_fields = array( 'id', 'regex' );
		/**
		 * Lists all available embed handlers.
		 *
		 * ## OPTIONS
		 *
		 * [--field=<field>]
		 * : Display the value of a single field
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each handler:
		 *
		 * * id
		 * * regex
		 *
		 * These fields are optionally available:
		 *
		 * * callback
		 * * priority
		 *
		 * ## EXAMPLES
		 *
		 *     # List id,regex,priority fields of available handlers.
		 *     $ wp embed handler list --fields=priority,id
		 *     +----------+-------------------+
		 *     | priority | id                |
		 *     +----------+-------------------+
		 *     | 10       | youtube_embed_url |
		 *     | 9999     | audio             |
		 *     | 9999     | video             |
		 *
		 * @subcommand list
		 */
		public function list_handlers( $args, $assoc_args ) {       }
		/**
		 * Get Formatter object based on supplied parameters.
		 *
		 * @param array $assoc_args Parameters passed to command. Determines formatting.
		 * @return \WP_CLI\Formatter
		 */
		protected function get_formatter( &$assoc_args ) {      }
	}
	/**
	 * Inspects oEmbed providers, clears embed cache, and more.
	 *
	 * ## EXAMPLES
	 *
	 *     # Get embed HTML for a given URL.
	 *     $ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ
	 *     <iframe width="525" height="295" src="https://www.youtube.com/embed/dQw4w9WgXcQ?feature=oembed" ...
	 *
	 *     # Find cache post ID for a given URL.
	 *     $ wp embed cache find https://www.youtube.com/watch?v=dQw4w9WgXcQ --width=500
	 *     123
	 *
	 *     # List format,endpoint fields of available providers.
	 *     $ wp embed provider list
	 *     +------------------------------+-----------------------------------------+
	 *     | format                       | endpoint                                |
	 *     +------------------------------+-----------------------------------------+
	 *     | #https?://youtu\.be/.*#i     | https://www.youtube.com/oembed          |
	 *     | #https?://flic\.kr/.*#i      | https://www.flickr.com/services/oembed/ |
	 *     | #https?://wordpress\.tv/.*#i | https://wordpress.tv/oembed/            |
	 *
	 *     # List id,regex,priority fields of available handlers.
	 *     $ wp embed handler list --fields=priority,id
	 *     +----------+-------------------+
	 *     | priority | id                |
	 *     +----------+-------------------+
	 *     | 10       | youtube_embed_url |
	 *     | 9999     | audio             |
	 *     | 9999     | video             |
	 *     +----------+-------------------+
	 *
	 * @package wp-cli
	 */
	class Embeds_Namespace extends \WP_CLI\Dispatcher\CommandNamespace {

	}
	class Fetch_Command extends \WP_CLI_Command {

		/**
		 * Attempts to convert a URL into embed HTML.
		 *
		 * In non-raw mode, starts by checking the URL against the regex of the registered embed handlers.
		 * If none of the regex matches and it's enabled, then the URL will be given to the WP_oEmbed class.
		 *
		 * In raw mode, checks the providers directly and returns the data.
		 *
		 * ## OPTIONS
		 *
		 * <url>
		 * : URL to retrieve oEmbed data for.
		 *
		 * [--width=<width>]
		 * : Width of the embed in pixels.
		 *
		 * [--height=<height>]
		 * : Height of the embed in pixels.
		 *
		 * [--post-id=<id>]
		 * : Cache oEmbed response for a given post.
		 *
		 * [--discover]
		 * : Enable oEmbed discovery. Defaults to true.
		 *
		 * [--skip-cache]
		 * : Ignore already cached oEmbed responses. Has no effect if using the 'raw' option, which doesn't use the cache.
		 *
		 * [--skip-sanitization]
		 * : Remove the filter that WordPress from 4.4 onwards uses to sanitize oEmbed responses. Has no effect if using the 'raw' option, which by-passes sanitization.
		 *
		 * [--do-shortcode]
		 * : If the URL is handled by a registered embed handler and returns a shortcode, do shortcode and return result. Has no effect if using the 'raw' option, which by-passes handlers.
		 *
		 * [--limit-response-size=<size>]
		 * : Limit the size of the resulting HTML when using discovery. Default 150 KB (the standard WordPress limit). Not compatible with 'no-discover'.
		 *
		 * [--raw]
		 * : Return the raw oEmbed response instead of the resulting HTML. Ignores the cache and does not sanitize responses or use registered embed handlers.
		 *
		 * [--raw-format=<json|xml>]
		 * : Render raw oEmbed data in a particular format. Defaults to json. Can only be specified in conjunction with the 'raw' option.
		 * ---
		 * options:
		 *   - json
		 *   - xml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get embed HTML for a given URL.
		 *     $ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ
		 *     <iframe width="525" height="295" src="https://www.youtube.com/embed/dQw4w9WgXcQ?feature=oembed" ...
		 *
		 *     # Get raw oEmbed data for a given URL.
		 *     $ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ --raw
		 *     {"author_url":"https:\/\/www.youtube.com\/user\/RickAstleyVEVO","width":525,"version":"1.0", ...
		 */
		public function __invoke( $args, $assoc_args ) {        }
		/**
		 * Creates an XML string from a given array.
		 *
		 * Same as `\_oembed_create_xml()` in "wp-includes\embed.php" introduced in WP 4.4.0. Polyfilled as marked private (and also to cater for older WP versions).
		 *
		 * @see _oembed_create_xml()
		 *
		 * @param array             $data The original oEmbed response data.
		 * @param \SimpleXMLElement $node Optional. XML node to append the result to recursively.
		 * @return string|false XML string on success, false on error.
		 */
		protected function oembed_create_xml( $data, $node = null ) {       }
	}
}

namespace WP_CLI\Embeds {
	/**
	 * Polyfill for older WP versions.
	 */
	class oEmbed extends \WP_oEmbed {

		/**
		 * Takes a URL and returns the corresponding oEmbed provider's URL, if there is one.
		 *
		 * @since 4.0.0
		 *
		 * @see WP_oEmbed::discover()
		 *
		 * @param string       $url  The URL to the content.
		 * @param string|array $args Optional provider arguments.
		 * @return false|string False on failure, otherwise the oEmbed provider URL.
		 */
		public function get_provider( $url, $args = '' ) {      }
	}
}

namespace {
	/**
	 * Generates and reads the wp-config.php file.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create standard wp-config.php file.
	 *     $ wp config create --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO
	 *     Success: Generated 'wp-config.php' file.
	 *
	 *     # List constants and variables defined in wp-config.php file.
	 *     $ wp config list
	 *     +------------------+------------------------------------------------------------------+----------+
	 *     | key              | value                                                            | type     |
	 *     +------------------+------------------------------------------------------------------+----------+
	 *     | table_prefix     | wp_                                                              | variable |
	 *     | DB_NAME          | wp_cli_test                                                      | constant |
	 *     | DB_USER          | root                                                             | constant |
	 *     | DB_PASSWORD      | root                                                             | constant |
	 *     | AUTH_KEY         | r6+@shP1yO&$)1gdu.hl[/j;7Zrvmt~o;#WxSsa0mlQOi24j2cR,7i+QM/#7S:o^ | constant |
	 *     | SECURE_AUTH_KEY  | iO-z!_m--YH$Tx2tf/&V,YW*13Z_HiRLqi)d?$o-tMdY+82pK$`T.NYW~iTLW;xp | constant |
	 *     +------------------+------------------------------------------------------------------+----------+
	 *
	 *     # Get wp-config.php file path.
	 *     $ wp config path
	 *     /home/person/htdocs/project/wp-config.php
	 *
	 *     # Get the table_prefix as defined in wp-config.php file.
	 *     $ wp config get table_prefix
	 *     wp_
	 *
	 *     # Set the WP_DEBUG constant to true.
	 *     $ wp config set WP_DEBUG true --raw
	 *     Success: Updated the constant 'WP_DEBUG' in the 'wp-config.php' file with the raw value 'true'.
	 *
	 *     # Delete the COOKIE_DOMAIN constant from the wp-config.php file.
	 *     $ wp config delete COOKIE_DOMAIN
	 *     Success: Deleted the constant 'COOKIE_DOMAIN' from the 'wp-config.php' file.
	 *
	 *     # Launch system editor to edit wp-config.php file.
	 *     $ wp config edit
	 *
	 *     # Check whether the DB_PASSWORD constant exists in the wp-config.php file.
	 *     $ wp config has DB_PASSWORD
	 *     $ echo $?
	 *     0
	 *
	 *     # Assert if MULTISITE is true.
	 *     $ wp config is-true MULTISITE
	 *     $ echo $?
	 *     0
	 *
	 *     # Get new salts for your wp-config.php file.
	 *     $ wp config shuffle-salts
	 *     Success: Shuffled the salt keys.
	 *
	 * @package wp-cli
	 */
	class Config_Command extends \WP_CLI_Command {

		/**
		 * List of characters that are valid for a key name.
		 *
		 * @var string
		 */
		const VALID_KEY_CHARACTERS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
		/**
		 * List of default constants that are generated by WordPress Core.
		 *
		 * @string
		 */
		const DEFAULT_SALT_CONSTANTS = array( 'AUTH_KEY', 'SECURE_AUTH_KEY', 'LOGGED_IN_KEY', 'NONCE_KEY', 'AUTH_SALT', 'SECURE_AUTH_SALT', 'LOGGED_IN_SALT', 'NONCE_SALT' );
		/**
		 * Generates a wp-config.php file.
		 *
		 * Creates a new wp-config.php with database constants, and verifies that
		 * the database constants are correct.
		 *
		 * ## OPTIONS
		 *
		 * --dbname=<dbname>
		 * : Set the database name.
		 *
		 * --dbuser=<dbuser>
		 * : Set the database user.
		 *
		 * [--dbpass=<dbpass>]
		 * : Set the database user password.
		 *
		 * [--dbhost=<dbhost>]
		 * : Set the database host.
		 * ---
		 * default: localhost
		 * ---
		 *
		 * [--dbprefix=<dbprefix>]
		 * : Set the database table prefix.
		 * ---
		 * default: wp_
		 * ---
		 *
		 * [--dbcharset=<dbcharset>]
		 * : Set the database charset.
		 * ---
		 * default: utf8
		 * ---
		 *
		 * [--dbcollate=<dbcollate>]
		 * : Set the database collation.
		 * ---
		 * default:
		 * ---
		 *
		 * [--locale=<locale>]
		 * : Set the WPLANG constant. Defaults to $wp_local_package variable.
		 *
		 * [--extra-php]
		 * : If set, the command copies additional PHP code into wp-config.php from STDIN.
		 *
		 * [--skip-salts]
		 * : If set, keys and salts won't be generated, but should instead be passed via `--extra-php`.
		 *
		 * [--skip-check]
		 * : If set, the database connection is not checked.
		 *
		 * [--force]
		 * : Overwrites existing files, if present.
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be created. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * [--insecure]
		 * : Retry API download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Standard wp-config.php file
		 *     $ wp config create --dbname=testing --dbuser=wp --dbpass=securepswd --locale=ro_RO
		 *     Success: Generated 'wp-config.php' file.
		 *
		 *     # Enable WP_DEBUG and WP_DEBUG_LOG
		 *     $ wp config create --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP
		 *     define( 'WP_DEBUG', true );
		 *     define( 'WP_DEBUG_LOG', true );
		 *     PHP
		 *     Success: Generated 'wp-config.php' file.
		 *
		 *     # Avoid disclosing password to bash history by reading from password.txt
		 *     # Using --prompt=dbpass will prompt for the 'dbpass' argument
		 *     $ wp config create --dbname=testing --dbuser=wp --prompt=dbpass < password.txt
		 *     Success: Generated 'wp-config.php' file.
		 */
		public function create( $_, $assoc_args ) {         }
		/**
		 * Launches system editor to edit the wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be edited. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Launch system editor to edit wp-config.php file
		 *     $ wp config edit
		 *
		 *     # Edit wp-config.php file in a specific editor
		 *     $ EDITOR=vim wp config edit
		 *
		 * @when before_wp_load
		 */
		public function edit( $_, $assoc_args ) {       }
		/**
		 * Gets the path to wp-config.php file.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get wp-config.php file path
		 *     $ wp config path
		 *     /home/person/htdocs/project/wp-config.php
		 *
		 * @when before_wp_load
		 */
		public function path() {        }
		/**
		 * Lists variables, constants, and file includes defined in wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * [<filter>...]
		 * : Name or partial name to filter the list by.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * Dotenv is limited to non-object values.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - dotenv
		 * ---
		 *
		 * [--strict]
		 * : Enforce strict matching when a filter is provided.
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be read. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # List constants and variables defined in wp-config.php file.
		 *     $ wp config list
		 *     +------------------+------------------------------------------------------------------+----------+
		 *     | key              | value                                                            | type     |
		 *     +------------------+------------------------------------------------------------------+----------+
		 *     | table_prefix     | wp_                                                              | variable |
		 *     | DB_NAME          | wp_cli_test                                                      | constant |
		 *     | DB_USER          | root                                                             | constant |
		 *     | DB_PASSWORD      | root                                                             | constant |
		 *     | AUTH_KEY         | r6+@shP1yO&$)1gdu.hl[/j;7Zrvmt~o;#WxSsa0mlQOi24j2cR,7i+QM/#7S:o^ | constant |
		 *     | SECURE_AUTH_KEY  | iO-z!_m--YH$Tx2tf/&V,YW*13Z_HiRLqi)d?$o-tMdY+82pK$`T.NYW~iTLW;xp | constant |
		 *     +------------------+------------------------------------------------------------------+----------+
		 *
		 *     # List only database user and password from wp-config.php file.
		 *     $ wp config list DB_USER DB_PASSWORD --strict
		 *     +------------------+-------+----------+
		 *     | key              | value | type     |
		 *     +------------------+-------+----------+
		 *     | DB_USER          | root  | constant |
		 *     | DB_PASSWORD      | root  | constant |
		 *     +------------------+-------+----------+
		 *
		 *     # List all salts from wp-config.php file.
		 *     $ wp config list _SALT
		 *     +------------------+------------------------------------------------------------------+----------+
		 *     | key              | value                                                            | type     |
		 *     +------------------+------------------------------------------------------------------+----------+
		 *     | AUTH_SALT        | n:]Xditk+_7>Qi=>BmtZHiH-6/Ecrvl(V5ceeGP:{>?;BT^=[B3-0>,~F5z$(+Q$ | constant |
		 *     | SECURE_AUTH_SALT | ?Z/p|XhDw3w}?c.z%|+BAr|(Iv*H%%U+Du&kKR y?cJOYyRVRBeB[2zF-`(>+LCC | constant |
		 *     | LOGGED_IN_SALT   | +$@(1{b~Z~s}Cs>8Y]6[m6~TnoCDpE>O%e75u}&6kUH!>q:7uM4lxbB6[1pa_X,q | constant |
		 *     | NONCE_SALT       | _x+F li|QL?0OSQns1_JZ{|Ix3Jleox-71km/gifnyz8kmo=w-;@AE8W,(fP<N}2 | constant |
		 *     +------------------+------------------------------------------------------------------+----------+
		 *
		 * @when before_wp_load
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets the value of a specific constant or variable defined in wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the wp-config.php constant or variable.
		 *
		 * [--type=<type>]
		 * : Type of config value to retrieve. Defaults to 'all'.
		 * ---
		 * default: all
		 * options:
		 *   - constant
		 *   - variable
		 *   - all
		 * ---
		 *
		 * [--format=<format>]
		 * : Get value in a particular format.
		 * Dotenv is limited to non-object values.
		 * ---
		 * default: var_export
		 * options:
		 *   - var_export
		 *   - json
		 *   - yaml
		 *   - dotenv
		 * ---
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be read. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the table_prefix as defined in wp-config.php file.
		 *     $ wp config get table_prefix
		 *     wp_
		 *
		 * @when before_wp_load
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Determines whether value of a specific defined constant or variable is truthy.
		 *
		 * This determination is made by evaluating the retrieved value via boolval().
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the wp-config.php constant or variable.
		 *
		 * [--type=<type>]
		 * : Type of config value to retrieve. Defaults to 'all'.
		 * ---
		 * default: all
		 * options:
		 *   - constant
		 *   - variable
		 *   - all
		 * ---
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be read. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Assert if MULTISITE is true
		 *     $ wp config is-true MULTISITE
		 *     $ echo $?
		 *     0
		 *
		 * @subcommand is-true
		 * @when before_wp_load
		 */
		public function is_true( $args, $assoc_args ) {         }
		/**
		 * Sets the value of a specific constant or variable defined in wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the wp-config.php constant or variable.
		 *
		 * <value>
		 * : Value to set the wp-config.php constant or variable to.
		 *
		 * [--add]
		 * : Add the value if it doesn't exist yet.
		 * This is the default behavior, override with --no-add.
		 *
		 * [--raw]
		 * : Place the value into the wp-config.php file as is, instead of as a quoted string.
		 *
		 * [--anchor=<anchor>]
		 * : Anchor string where additions of new values are anchored around.
		 * Defaults to "/* That's all, stop editing!".
		 * The special case "EOF" string uses the end of the file as the anchor.
		 *
		 * [--placement=<placement>]
		 * : Where to place the new values in relation to the anchor string.
		 * ---
		 * default: 'before'
		 * options:
		 *   - before
		 *   - after
		 * ---
		 *
		 * [--separator=<separator>]
		 * : Separator string to put between an added value and its anchor string.
		 * The following escape sequences will be recognized and properly interpreted: '\n' => newline, '\r' => carriage return, '\t' => tab.
		 * Defaults to a single EOL ("\n" on *nix and "\r\n" on Windows).
		 *
		 * [--type=<type>]
		 * : Type of the config value to set. Defaults to 'all'.
		 * ---
		 * default: all
		 * options:
		 *   - constant
		 *   - variable
		 *   - all
		 * ---
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be modified. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Set the WP_DEBUG constant to true.
		 *     $ wp config set WP_DEBUG true --raw
		 *     Success: Updated the constant 'WP_DEBUG' in the 'wp-config.php' file with the raw value 'true'.
		 *
		 * @when before_wp_load
		 */
		public function set( $args, $assoc_args ) {         }
		/**
		 * Deletes a specific constant or variable from the wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the wp-config.php constant or variable.
		 *
		 * [--type=<type>]
		 * : Type of the config value to delete. Defaults to 'all'.
		 * ---
		 * default: all
		 * options:
		 *   - constant
		 *   - variable
		 *   - all
		 * ---
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be modified. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete the COOKIE_DOMAIN constant from the wp-config.php file.
		 *     $ wp config delete COOKIE_DOMAIN
		 *     Success: Deleted the constant 'COOKIE_DOMAIN' from the 'wp-config.php' file.
		 *
		 * @when before_wp_load
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Checks whether a specific constant or variable exists in the wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the wp-config.php constant or variable.
		 *
		 * [--type=<type>]
		 * : Type of the config value to set. Defaults to 'all'.
		 * ---
		 * default: all
		 * options:
		 *   - constant
		 *   - variable
		 *   - all
		 * ---
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be checked. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether the DB_PASSWORD constant exists in the wp-config.php file.
		 *     $ wp config has DB_PASSWORD
		 *
		 * @when before_wp_load
		 */
		public function has( $args, $assoc_args ) {         }
		/**
		 * Refreshes the salts defined in the wp-config.php file.
		 *
		 * ## OPTIONS
		 *
		 * [<keys>...]
		 * : One ore more keys to shuffle. If none are provided, this falls back to the default WordPress Core salt keys.
		 *
		 * [--force]
		 * : If an unknown key is requested to be shuffled, add it instead of throwing a warning.
		 *
		 * [--config-file=<path>]
		 * : Specify the file path to the config file to be modified. Defaults to the root of the
		 * WordPress installation and the filename "wp-config.php".
		 *
		 * [--insecure]
		 * : Retry API download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get new salts for your wp-config.php file
		 *     $ wp config shuffle-salts
		 *     Success: Shuffled the salt keys.
		 *
		 *     # Add a cache key salt to the wp-config.php file
		 *     $ wp config shuffle-salts WP_CACHE_KEY_SALT --force
		 *     Success: Shuffled the salt keys.
		 *
		 * @subcommand shuffle-salts
		 * @when before_wp_load
		 */
		public function shuffle_salts( $args, $assoc_args ) {       }
		/**
		 * Gets the value of a specific constant or variable defined in wp-config.php file.
		 *
		 * @param $assoc_args
		 * @param $args
		 *
		 * @return string
		 */
		protected function get_value( $assoc_args, $args ) {        }
	}
	/**
	 * Transforms a wp-config.php file.
	 */
	class WPConfigTransformer {

		/**
		 * Append to end of file
		 */
		const ANCHOR_EOF = 'EOF';
		/**
		 * Path to the wp-config.php file.
		 *
		 * @var string
		 */
		protected $wp_config_path;
		/**
		 * Original source of the wp-config.php file.
		 *
		 * @var string
		 */
		protected $wp_config_src;
		/**
		 * Array of parsed configs.
		 *
		 * @var array
		 */
		protected $wp_configs = array();
		/**
		 * Instantiates the class with a valid wp-config.php.
		 *
		 * @throws Exception If the wp-config.php file is missing.
		 * @throws Exception If the wp-config.php file is not writable.
		 *
		 * @param string $wp_config_path Path to a wp-config.php file.
		 */
		public function __construct( $wp_config_path ) {        }
		/**
		 * Checks if a config exists in the wp-config.php file.
		 *
		 * @throws Exception If the wp-config.php file is empty.
		 * @throws Exception If the requested config type is invalid.
		 *
		 * @param string $type Config type (constant or variable).
		 * @param string $name Config name.
		 *
		 * @return bool
		 */
		public function exists( $type, $name ) {        }
		/**
		 * Get the value of a config in the wp-config.php file.
		 *
		 * @throws Exception If the wp-config.php file is empty.
		 * @throws Exception If the requested config type is invalid.
		 *
		 * @param string $type Config type (constant or variable).
		 * @param string $name Config name.
		 *
		 * @return string|null
		 */
		public function get_value( $type, $name ) {         }
		/**
		 * Adds a config to the wp-config.php file.
		 *
		 * @throws Exception If the config value provided is not a string.
		 * @throws Exception If the config placement anchor could not be located.
		 *
		 * @param string $type    Config type (constant or variable).
		 * @param string $name    Config name.
		 * @param string $value   Config value.
		 * @param array  $options (optional) Array of special behavior options.
		 *
		 * @return bool
		 */
		public function add( $type, $name, $value, array $options = array() ) {         }
		/**
		 * Updates an existing config in the wp-config.php file.
		 *
		 * @throws Exception If the config value provided is not a string.
		 *
		 * @param string $type    Config type (constant or variable).
		 * @param string $name    Config name.
		 * @param string $value   Config value.
		 * @param array  $options (optional) Array of special behavior options.
		 *
		 * @return bool
		 */
		public function update( $type, $name, $value, array $options = array() ) {      }
		/**
		 * Removes a config from the wp-config.php file.
		 *
		 * @param string $type Config type (constant or variable).
		 * @param string $name Config name.
		 *
		 * @return bool
		 */
		public function remove( $type, $name ) {        }
		/**
		 * Applies formatting to a config value.
		 *
		 * @throws Exception When a raw value is requested for an empty string.
		 *
		 * @param string $value Config value.
		 * @param bool   $raw   Display value in raw format without quotes.
		 *
		 * @return mixed
		 */
		protected function format_value( $value, $raw ) {       }
		/**
		 * Normalizes the source output for a name/value pair.
		 *
		 * @throws Exception If the requested config type does not support normalization.
		 *
		 * @param string $type  Config type (constant or variable).
		 * @param string $name  Config name.
		 * @param mixed  $value Config value.
		 *
		 * @return string
		 */
		protected function normalize( $type, $name, $value ) {      }
		/**
		 * Parses the source of a wp-config.php file.
		 *
		 * @param string $src Config file source.
		 *
		 * @return array
		 */
		protected function parse_wp_config( $src ) {        }
		/**
		 * Saves new contents to the wp-config.php file.
		 *
		 * @throws Exception If the config file content provided is empty.
		 * @throws Exception If there is a failure when saving the wp-config.php file.
		 *
		 * @param string $contents New config contents.
		 *
		 * @return bool
		 */
		protected function save( $contents ) {      }
	}
	class HttpConsole {

		protected $_host;
		protected $_prompt;
		public function __construct( $host ) {      }
		public function handleRequest( $type, $path ) {         }
		public function run() {         }
	}
	/**
	 * Class TestArguments
	 *
	 * @todo add more tests to increase coverage
	 *
	 * @backupGlobals enabled
	 */
	class TestArguments extends \WP_CLI\Tests\TestCase {

		/**
		 * Array of expected settings
		 *
		 * @var array
		 */
		protected $settings = \null;
		/**
		 * Array of flags
		 *
		 * @var array
		 */
		protected $flags = \null;
		/**
		 * Array of expected options
		 *
		 * @var array
		 */
		protected $options = \null;
		/**
		 * Clear the $_SERVER['argv'] array
		 */
		public static function clearArgv() {        }
		/**
		 * Add one or more element(s) at the end of the $_SERVER['argv'] array
		 *
		 * @param  array $args: value(s) to add to the argv array
		 */
		public static function pushToArgv( $args ) {        }
		/**
		 * Set up valid flags and options
		 */
		public function set_up() {      }
		/**
		 * Tear down fixtures
		 */
		public function tear_down() {       }
		/**
		 * Test adding a flag, getting a flag and getting all flags
		 */
		public function testAddFlags() {        }
		/**
		 * Test adding a option, getting a option and getting all options
		 */
		public function testAddOptions() {      }
		/**
		 * Data provider with valid args and options
		 *
		 * @return array set of args and expected parsed values
		 */
		public function settingsWithValidOptions() {        }
		/**
		 * Data provider with missing options
		 *
		 * @return array set of args and expected parsed values
		 */
		public function settingsWithMissingOptions() {      }
		/**
		 * Data provider with missing options. The default value should be populated
		 *
		 * @return array set of args and expected parsed values
		 */
		public function settingsWithMissingOptionsWithDefault() {       }
		public function settingsWithNoOptionsWithDefault() {        }
		/**
		 * @param  array $args           arguments as they appear in the cli
		 * @param  array $expectedValues expected values after parsing
		 *
		 * @dataProvider settingsWithValidOptions
		 */
		public function testParseWithValidOptions( $cliParams, $expectedValues ) {      }
		/**
		 * @param  array $args           arguments as they appear in the cli
		 * @param  array $expectedValues expected values after parsing
		 * @dataProvider settingsWithMissingOptions
		 */
		public function testParseWithMissingOptions( $cliParams, $expectedValues ) {        }
		/**
		 * @param  array $args           arguments as they appear in the cli
		 * @param  array $expectedValues expected values after parsing
		 * @dataProvider settingsWithMissingOptionsWithDefault
		 */
		public function testParseWithMissingOptionsWithDefault( $cliParams, $expectedValues ) {         }
		/**
		 * @param  array $args           arguments as they appear in the cli
		 * @param  array $expectedValues expected values after parsing
		 * @dataProvider settingsWithNoOptionsWithDefault
		 */
		public function testParseWithNoOptionsWithDefault( $cliParams, $expectedValues ) {      }
	}
	class testsColors extends \WP_CLI\Tests\TestCase {

		/**
		 * @dataProvider dataColors
		 */
		function testColors( $str, $color ) {       }
		function dataColors() {         }
	}
	class testsCli extends \WP_CLI\Tests\TestCase {

		function set_up() {         }
		function test_string_length() {         }
		function test_string_width() {      }
		function test_encoded_string_length() {         }
		function test_encoded_string_width() {      }
		function test_encoded_string_pad() {        }
		function test_colorized_string_pad() {      }
		function test_encoded_substr() {        }
		function test_various_substr() {        }
		function test_is_width_encoded_substr() {       }
		function test_colorized_string_length() {       }
		function test_colorized_string_width() {        }
		function test_colorize_string_is_colored() {        }
		function test_colorize_when_colorize_is_forced() {      }
		function test_binary_string_is_converted_back_to_original_string() {        }
		function test_string_cache() {      }
		function test_string_cache_colorize() {         }
		function test_decolorize() {        }
		function test_strwidth() {      }
		function test_safe_strlen() {       }
	}
	/**
	 * Tests for cli\Table
	 */
	class Test_Table extends \WP_CLI\Tests\TestCase {

		public function test_column_value_too_long_ascii() {        }
		public function test_column_value_too_long_with_multibytes() {      }
		public function test_column_odd_single_width_with_double_width() {      }
		public function test_column_fullwidth_and_combining() {         }
		public function test_ascii_pre_colorized_widths() {         }
	}
	/**
	 * Class TestShell
	 */
	class TestShell extends \WP_CLI\Tests\TestCase {

		/**
		 * Test getting TERM columns.
		 */
		function testColumns() {        }
	}
	/**
	 * Class Test_Table_Ascii
	 *
	 * Acceptance tests for ASCII table drawing.
	 * It will redirect STDOUT to temporary file and check that output matches with expected
	 */
	class Test_Table_Ascii extends \WP_CLI\Tests\TestCase {

		/**
		 * Creates instance and redirects STDOUT to temporary file
		 */
		public function set_up() {      }
		/**
		 * Cleans temporary file
		 */
		public function tear_down() {       }
		/**
		 * Draw simple One column table
		 */
		public function testDrawOneColumnTable() {      }
		/**
		 * Draw simple One column table with colored string
		 * Output should look like:
		 * +-------------+
		 * | Test Header |
		 * +-------------+
		 * | x           |
		 * +-------------+
		 *
		 * where `x` character has green color.
		 * At the same time it checks that `green` defined in `cli\Colors` really looks as `green`.
		 */
		public function testDrawOneColumnColoredTable() {       }
		/**
		 * Check it works with colors disabled.
		 */
		public function testDrawOneColumnColorDisabledTable() {         }
		/**
		 * Checks that spacing and borders are handled correctly in table
		 */
		public function testSpacingInTable() {      }
		/**
		 * Test correct table indentation and border positions for multibyte strings
		 */
		public function testTableWithMultibyteStrings() {       }
		/**
		 * Test that % gets escaped correctly.
		 */
		public function testTableWithPercentCharacters() {      }
		/**
		 * Test that a % is appropriately padded in the table
		 */
		public function testTablePaddingWithPercentCharacters() {       }
		/**
		 * Draw wide multiplication Table.
		 * Example with many columns, many rows
		 */
		public function testDrawMultiplicationTable() {         }
		/**
		 * Draw a table with headers but no data
		 */
		public function testDrawWithHeadersNoData() {       }
	}
}

namespace cli\tree {
	/**
	 * Tree renderers are used to change how a tree is displayed.
	 */
	abstract class Renderer {

		/**
		 * @param array $tree
		 * @return string|null
		 */
		abstract public function render( array $tree);
	}
	/**
	 * The ASCII renderer renders trees with ASCII lines.
	 */
	class Markdown extends \cli\tree\Renderer {

		/**
		 * How many spaces to indent by
		 *
		 * @var int
		 */
		protected $_padding = 2;
		/**
		 * @param int $padding Optional. Default 2.
		 */
		function __construct( $padding = null ) {       }
		/**
		 * Renders the tree
		 *
		 * @param array $tree
		 * @param int   $level Optional
		 * @return string
		 */
		public function render( array $tree, $level = 0 ) {         }
	}
	/**
	 * The ASCII renderer renders trees with ASCII lines.
	 */
	class Ascii extends \cli\tree\Renderer {

		/**
		 * @param array $tree
		 * @return string
		 */
		public function render( array $tree ) {         }
	}
}

namespace cli {
	/**
	 * The `Notify` class is the basis of all feedback classes, such as Indicators
	 * and Progress meters. The default behaviour is to refresh output after 100ms
	 * have passed. This is done to preventing the screen from flickering and keep
	 * slowdowns from output to a minimum.
	 *
	 * The most basic form of Notifier has no maxim, and simply displays a series
	 * of characters to indicate progress is being made.
	 */
	abstract class Notify {

		protected $_current = 0;
		protected $_first   = true;
		protected $_interval;
		protected $_message;
		protected $_start;
		protected $_timer;
		protected $_tick;
		protected $_iteration = 0;
		protected $_speed     = 0;
		/**
		 * Instatiates a Notification object.
		 *
		 * @param string $msg       The text to display next to the Notifier.
		 * @param int    $interval  The interval in milliseconds between updates.
		 */
		public function __construct( $msg, $interval = 100 ) {      }
		/**
		 * This method should be used to print out the Notifier. This method is
		 * called from `cli\Notify::tick()` after `cli\Notify::$_interval` has passed.
		 *
		 * @abstract
		 * @param boolean $finish
		 * @see cli\Notify::tick()
		 */
		abstract public function display( $finish = false);
		/**
		 * Reset the notifier state so the same instance can be used in multiple loops.
		 */
		public function reset() {       }
		/**
		 * Returns the formatted tick count.
		 *
		 * @return string  The formatted tick count.
		 */
		public function current() {         }
		/**
		 * Calculates the time elapsed since the Notifier was first ticked.
		 *
		 * @return int  The elapsed time in seconds.
		 */
		public function elapsed() {         }
		/**
		 * Calculates the speed (number of ticks per second) at which the Notifier
		 * is being updated.
		 *
		 * @return int  The number of ticks performed in 1 second.
		 */
		public function speed() {       }
		/**
		 * Takes a time span given in seconds and formats it for display. The
		 * returned string will be in MM:SS form.
		 *
		 * @param int $time The time span in seconds to format.
		 * @return string  The formatted time span.
		 */
		public function formatTime( $time ) {       }
		/**
		 * Finish our Notification display. Should be called after the Notifier is
		 * no longer needed.
		 *
		 * @see cli\Notify::display()
		 */
		public function finish() {      }
		/**
		 * Increments are tick counter by the given amount. If no amount is provided,
		 * the ticker is incremented by 1.
		 *
		 * @param int $increment  The amount to increment by.
		 */
		public function increment( $increment = 1 ) {       }
		/**
		 * Determines whether the display should be updated or not according to
		 * our interval setting.
		 *
		 * @return boolean  `true` if the display should be updated, `false` otherwise.
		 */
		public function shouldUpdate() {        }
		/**
		 * This method is the meat of all Notifiers. First we increment the ticker
		 * and then update the display if enough time has passed since our last tick.
		 *
		 * @param int $increment  The amount to increment by.
		 * @see cli\Notify::increment()
		 * @see cli\Notify::shouldUpdate()
		 * @see cli\Notify::display()
		 */
		public function tick( $increment = 1 ) {        }
	}
}

namespace cli\notify {
	/**
	 * A Notifer that displays a string of periods.
	 */
	class Dots extends \cli\Notify {

		protected $_dots;
		protected $_format = '{:msg}{:dots}  ({:elapsed}, {:speed}/s)';
		protected $_iteration;
		/**
		 * Instatiates a Notification object.
		 *
		 * @param string $msg       The text to display next to the Notifier.
		 * @param int    $dots      The number of dots to iterate through.
		 * @param int    $interval  The interval in milliseconds between updates.
		 * @throws \InvalidArgumentException
		 */
		public function __construct( $msg, $dots = 3, $interval = 100 ) {       }
		/**
		 * Prints the correct number of dots to `STDOUT` with the time elapsed and
		 * tick speed.
		 *
		 * @param boolean $finish  `true` if this was called from
		 *                         `cli\Notify::finish()`, `false` otherwise.
		 * @see cli\out_padded()
		 * @see cli\Notify::formatTime()
		 * @see cli\Notify::speed()
		 */
		public function display( $finish = false ) {        }
	}
	/**
	 * The `Spinner` Notifier displays an ASCII spinner.
	 */
	class Spinner extends \cli\Notify {

		protected $_chars     = '-\\|/';
		protected $_format    = '{:msg} {:char}  ({:elapsed}, {:speed}/s)';
		protected $_iteration = 0;
		/**
		 * Prints the current spinner position to `STDOUT` with the time elapsed
		 * and tick speed.
		 *
		 * @param boolean $finish  `true` if this was called from
		 *                         `cli\Notify::finish()`, `false` otherwise.
		 * @see cli\out_padded()
		 * @see cli\Notify::formatTime()
		 * @see cli\Notify::speed()
		 */
		public function display( $finish = false ) {        }
	}
}

namespace cli {
	/**
	 * A more complex type of Notifier, `Progress` Notifiers always have a maxim
	 * value and generally show some form of percent complete or estimated time
	 * to completion along with the standard Notifier displays.
	 *
	 * @see cli\Notify
	 */
	abstract class Progress extends \cli\Notify {

		protected $_total = 0;
		/**
		 * Instantiates a Progress Notifier.
		 *
		 * @param string $msg       The text to display next to the Notifier.
		 * @param int    $total     The total number of ticks we will be performing.
		 * @param int    $interval  The interval in milliseconds between updates.
		 * @see cli\Progress::setTotal()
		 */
		public function __construct( $msg, $total, $interval = 100 ) {      }
		/**
		 * Set the max increments for this progress notifier.
		 *
		 * @param int $total  The total number of times this indicator should be `tick`ed.
		 * @throws \InvalidArgumentException  Thrown if the `$total` is less than 0.
		 */
		public function setTotal( $total ) {        }
		/**
		 * Reset the progress state so the same instance can be used in multiple loops.
		 */
		public function reset( $total = null ) {        }
		/**
		 * Behaves in a similar manner to `cli\Notify::current()`, but the output
		 * is padded to match the length of `cli\Progress::total()`.
		 *
		 * @return string  The formatted and padded tick count.
		 * @see cli\Progress::total()
		 */
		public function current() {         }
		/**
		 * Returns the formatted total expected ticks.
		 *
		 * @return string  The formatted total ticks.
		 */
		public function total() {       }
		/**
		 * Calculates the estimated total time for the tick count to reach the
		 * total ticks given.
		 *
		 * @return int  The estimated total number of seconds for all ticks to be
		 *              completed. This is not the estimated time left, but total.
		 * @see cli\Notify::speed()
		 * @see cli\Notify::elapsed()
		 */
		public function estimated() {       }
		/**
		 * Forces the current tick count to the total ticks given at instatiation
		 * time before passing on to `cli\Notify::finish()`.
		 */
		public function finish() {      }
		/**
		 * Increments are tick counter by the given amount. If no amount is provided,
		 * the ticker is incremented by 1.
		 *
		 * @param int $increment  The amount to increment by.
		 */
		public function increment( $increment = 1 ) {       }
		/**
		 * Calculate the percentage completed.
		 *
		 * @return float  The percent completed.
		 */
		public function percent() {         }
	}
	/**
	 * Change the color of text.
	 *
	 * Reference: http://graphcomp.com/info/specs/ansi_col.html#colors
	 */
	class Colors {

		protected static $_colors       = array(
			'color'      => array(
				'black'   => 30,
				'red'     => 31,
				'green'   => 32,
				'yellow'  => 33,
				'blue'    => 34,
				'magenta' => 35,
				'cyan'    => 36,
				'white'   => 37,
			),
			'style'      => array(
				'bright'    => 1,
				'dim'       => 2,
				'underline' => 4,
				'blink'     => 5,
				'reverse'   => 7,
				'hidden'    => 8,
			),
			'background' => array(
				'black'   => 40,
				'red'     => 41,
				'green'   => 42,
				'yellow'  => 43,
				'blue'    => 44,
				'magenta' => 45,
				'cyan'    => 46,
				'white'   => 47,
			),
		);
		protected static $_enabled      = null;
		protected static $_string_cache = array();
		public static function enable( $force = true ) {        }
		public static function disable( $force = true ) {       }
		/**
		 * Check if we should colorize output based on local flags and shell type.
		 *
		 * Only check the shell type if `Colors::$_enabled` is null and `$colored` is null.
		 */
		public static function shouldColorize( $colored = null ) {      }
		/**
		 * Set the color.
		 *
		 * @param string $color  The name of the color or style to set.
		 * @return string
		 */
		public static function color( $color ) {        }
		/**
		 * Colorize a string using helpful string formatters. If the `Streams::$out` points to a TTY coloring will be enabled,
		 * otherwise disabled. You can control this check with the `$colored` parameter.
		 *
		 * @param string  $string
		 * @param boolean $colored  Force enable or disable the colorized output. If left as `null` the TTY will control coloring.
		 * @return string
		 */
		public static function colorize( $string, $colored = null ) {       }
		/**
		 * Remove color information from a string.
		 *
		 * @param string $string A string with color information.
		 * @param int    $keep   Optional. If the 1 bit is set, color tokens (eg "%n") won't be stripped. If the 2 bit is set, color encodings (ANSI escapes) won't be stripped. Default 0.
		 * @return string A string with color information removed.
		 */
		public static function decolorize( $string, $keep = 0 ) {       }
		/**
		 * Cache the original, colorized, and decolorized versions of a string.
		 *
		 * @param string $passed The original string before colorization.
		 * @param string $colorized The string after running through self::colorize.
		 * @param string $deprecated Optional. Not used. Default null.
		 */
		public static function cacheString( $passed, $colorized, $deprecated = null ) {         }
		/**
		 * Return the length of the string without color codes.
		 *
		 * @param string $string  the string to measure
		 * @return int
		 */
		public static function length( $string ) {      }
		/**
		 * Return the width (length in characters) of the string without color codes if enabled.
		 *
		 * @param string      $string        The string to measure.
		 * @param bool        $pre_colorized Optional. Set if the string is pre-colorized. Default false.
		 * @param string|bool $encoding      Optional. The encoding of the string. Default false.
		 * @return int
		 */
		public static function width( $string, $pre_colorized = false, $encoding = false ) {        }
		/**
		 * Pad the string to a certain display length.
		 *
		 * @param string      $string        The string to pad.
		 * @param int         $length        The display length.
		 * @param bool        $pre_colorized Optional. Set if the string is pre-colorized. Default false.
		 * @param string|bool $encoding      Optional. The encoding of the string. Default false.
		 * @param int         $pad_type      Optional. Can be STR_PAD_RIGHT, STR_PAD_LEFT, or STR_PAD_BOTH. If pad_type is not specified it is assumed to be STR_PAD_RIGHT.
		 * @return string
		 */
		public static function pad( $string, $length, $pre_colorized = false, $encoding = false, $pad_type = STR_PAD_RIGHT ) {      }
		/**
		 * Get the color mapping array.
		 *
		 * @return array Array of color tokens mapped to colors and styles.
		 */
		public static function getColors() {        }
		/**
		 * Get the cached string values.
		 *
		 * @return array The cached string values.
		 */
		public static function getStringCache() {       }
		/**
		 * Clear the string cache.
		 */
		public static function clearStringCache() {         }
	}
}

namespace cli\progress {
	/**
	 * Displays a progress bar spanning the entire shell.
	 *
	 * Basic format:
	 *
	 *   ^MSG  PER% [=======================            ]  00:00 / 00:00$
	 */
	class Bar extends \cli\Progress {

		protected $_bars          = '=>';
		protected $_formatMessage = '{:msg}  {:percent}% [';
		protected $_formatTiming  = '] {:elapsed} / {:estimated}';
		protected $_format        = '{:msg}{:bar}{:timing}';
		/**
		 * Prints the progress bar to the screen with percent complete, elapsed time
		 * and estimated total time.
		 *
		 * @param boolean $finish  `true` if this was called from
		 *                         `cli\Notify::finish()`, `false` otherwise.
		 * @see cli\out()
		 * @see cli\Notify::formatTime()
		 * @see cli\Notify::elapsed()
		 * @see cli\Progress::estimated();
		 * @see cli\Progress::percent()
		 * @see cli\Shell::columns()
		 */
		public function display( $finish = false ) {        }
		/**
		 * This method augments the base definition from cli\Notify to optionally
		 * allow passing a new message.
		 *
		 * @param int    $increment The amount to increment by.
		 * @param string $msg       The text to display next to the Notifier. (optional)
		 * @see cli\Notify::tick()
		 */
		public function tick( $increment = 1, $msg = null ) {       }
	}
}

namespace cli {
	/**
	 * The `Shell` class is a utility class for shell related tasks such as
	 * information on width.
	 */
	class Shell {

		/**
		 * Returns the number of columns the current shell has for display.
		 *
		 * @return int  The number of columns.
		 * @todo Test on more systems.
		 */
		public static function columns() {      }
		/**
		 * Checks whether the output of the current script is a TTY or a pipe / redirect
		 *
		 * Returns true if STDOUT output is being redirected to a pipe or a file; false is
		 * output is being sent directly to the terminal.
		 *
		 * If an env variable SHELL_PIPE exists, returned result depends it's
		 * value. Strings like 1, 0, yes, no, that validate to booleans are accepted.
		 *
		 * To enable ASCII formatting even when shell is piped, use the
		 * ENV variable SHELL_PIPE=0
		 *
		 * @return bool
		 */
		public static function isPiped() {      }
		/**
		 * Uses `stty` to hide input/output completely.
		 *
		 * @param boolean $hidden Will hide/show the next data. Defaults to true.
		 */
		public static function hide( $hidden = true ) {         }
	}
	class Streams {

		protected static $out = STDOUT;
		protected static $in  = STDIN;
		protected static $err = STDERR;
		static function _call( $func, $args ) {         }
		public static function isTty() {        }
		/**
		 * Handles rendering strings. If extra scalar arguments are given after the `$msg`
		 * the string will be rendered with `sprintf`. If the second argument is an `array`
		 * then each key in the array will be the placeholder name. Placeholders are of the
		 * format {:key}.
		 *
		 * @param string $msg  The message to render.
		 * @param mixed    ...   Either scalar arguments or a single array argument.
		 * @return string  The rendered string.
		 */
		public static function render( $msg ) {         }
		/**
		 * Shortcut for printing to `STDOUT`. The message and parameters are passed
		 * through `sprintf` before output.
		 *
		 * @param string $msg  The message to output in `printf` format.
		 * @param mixed   ...   Either scalar arguments or a single array argument.
		 * @return void
		 * @see \cli\render()
		 */
		public static function out( $msg ) {        }
		/**
		 * Pads `$msg` to the width of the shell before passing to `cli\out`.
		 *
		 * @param string $msg  The message to pad and pass on.
		 * @param mixed   ...   Either scalar arguments or a single array argument.
		 * @return void
		 * @see cli\out()
		 */
		public static function out_padded( $msg ) {         }
		/**
		 * Prints a message to `STDOUT` with a newline appended. See `\cli\out` for
		 * more documentation.
		 *
		 * @see cli\out()
		 */
		public static function line( $msg = '' ) {      }
		/**
		 * Shortcut for printing to `STDERR`. The message and parameters are passed
		 * through `sprintf` before output.
		 *
		 * @param string $msg  The message to output in `printf` format. With no string,
		 *                     a newline is printed.
		 * @param mixed   ...   Either scalar arguments or a single array argument.
		 * @return void
		 */
		public static function err( $msg = '' ) {       }
		/**
		 * Takes input from `STDIN` in the given format. If an end of transmission
		 * character is sent (^D), an exception is thrown.
		 *
		 * @param string  $format  A valid input format. See `fscanf` for documentation.
		 *                         If none is given, all input up to the first newline
		 *                         is accepted.
		 * @param boolean $hide    If true will hide what the user types in.
		 * @return string  The input with whitespace trimmed.
		 * @throws \Exception  Thrown if ctrl-D (EOT) is sent as input.
		 */
		public static function input( $format = null, $hide = false ) {         }
		/**
		 * Displays an input prompt. If no default value is provided the prompt will
		 * continue displaying until input is received.
		 *
		 * @param string      $question The question to ask the user.
		 * @param bool|string $default  A default value if the user provides no input.
		 * @param string      $marker   A string to append to the question and default value
		 *                              on display.
		 * @param boolean     $hide     Optionally hides what the user types in.
		 * @return string  The users input.
		 * @see cli\input()
		 */
		public static function prompt( $question, $default = false, $marker = ': ', $hide = false ) {       }
		/**
		 * Presents a user with a multiple choice question, useful for 'yes/no' type
		 * questions (which this public static function defaults too).
		 *
		 * @param string $question  The question to ask the user.
		 * @param string $choice    A string of characters allowed as a response. Case is ignored.
		 * @param string $default   The default choice. NULL if a default is not allowed.
		 * @return string  The users choice.
		 * @see cli\prompt()
		 */
		public static function choose( $question, $choice = 'yn', $default = 'n' ) {        }
		/**
		 * Displays an array of strings as a menu where a user can enter a number to
		 * choose an option. The array must be a single dimension with either strings
		 * or objects with a `__toString()` method.
		 *
		 * @param array  $items    The list of items the user can choose from.
		 * @param string $default  The index of the default item.
		 * @param string $title    The message displayed to the user when prompted.
		 * @return string  The index of the chosen item.
		 * @see cli\line()
		 * @see cli\input()
		 * @see cli\err()
		 */
		public static function menu( $items, $default = null, $title = 'Choose an item' ) {         }
		/**
		 * Sets one of the streams (input, output, or error) to a `stream` type resource.
		 *
		 * Valid $whichStream values are:
		 *    - 'in'   (default: STDIN)
		 *    - 'out'  (default: STDOUT)
		 *    - 'err'  (default: STDERR)
		 *
		 * Any custom streams will be closed for you on shutdown, so please don't close stream
		 * resources used with this method.
		 *
		 * @param string   $whichStream  The stream property to update
		 * @param resource $stream       The new stream resource to use
		 * @return void
		 * @throws \Exception Thrown if $stream is not a resource of the 'stream' type.
		 */
		public static function setStream( $whichStream, $stream ) {         }
	}
}

namespace cli\table {
	/**
	 * Table renderers are used to change how a table is displayed.
	 */
	abstract class Renderer {

		protected $_widths = array();
		public function __construct( array $widths = array() ) {        }
		/**
		 * Set the widths of each column in the table.
		 *
		 * @param array $widths    The widths of the columns.
		 * @param bool  $fallback  Whether to use these values as fallback only.
		 */
		public function setWidths( array $widths, $fallback = false ) {         }
		/**
		 * Render a border for the top and bottom and separating the headers from the
		 * table rows.
		 *
		 * @return string  The table border.
		 */
		public function border() {      }
		/**
		 * Renders a row for output.
		 *
		 * @param array $row  The table row.
		 * @return string  The formatted table row.
		 */
		abstract public function row( array $row);
	}
	/**
	 * The tabular renderer is used for displaying data in a tabular format.
	 */
	class Tabular extends \cli\table\Renderer {

		/**
		 * Renders a row for output.
		 *
		 * @param array $row  The table row.
		 * @return string  The formatted table row.
		 */
		public function row( array $row ) {         }
	}
	/**
	 * The ASCII renderer renders tables with ASCII borders.
	 */
	class Ascii extends \cli\table\Renderer {

		protected $_characters      = array(
			'corner'  => '+',
			'line'    => '-',
			'border'  => '|',
			'padding' => ' ',
		);
		protected $_border          = null;
		protected $_constraintWidth = null;
		protected $_pre_colorized   = false;
		/**
		 * Set the widths of each column in the table.
		 *
		 * @param array $widths    The widths of the columns.
		 * @param bool  $fallback  Whether to use these values as fallback only.
		 */
		public function setWidths( array $widths, $fallback = false ) {         }
		/**
		 * Set the constraint width for the table
		 *
		 * @param int $constraintWidth
		 */
		public function setConstraintWidth( $constraintWidth ) {        }
		/**
		 * Set the characters used for rendering the Ascii table.
		 *
		 * The keys `corner`, `line` and `border` are used in rendering.
		 *
		 * @param $characters  array  Characters used in rendering.
		 */
		public function setCharacters( array $characters ) {        }
		/**
		 * Render a border for the top and bottom and separating the headers from the
		 * table rows.
		 *
		 * @return string  The table border.
		 */
		public function border() {      }
		/**
		 * Renders a row for output.
		 *
		 * @param array $row  The table row.
		 * @return string  The formatted table row.
		 */
		public function row( array $row ) {         }
		/**
		 * Set whether items are pre-colorized.
		 *
		 * @param bool|array $colorized A boolean to set all columns in the table as pre-colorized, or an array of booleans keyed by column index (number) to set individual columns as pre-colorized.
		 */
		public function setPreColorized( $pre_colorized ) {         }
		/**
		 * Is a column pre-colorized?
		 *
		 * @param int $column Column index to check.
		 * @return bool True if whole table is marked as pre-colorized, or if the individual column is pre-colorized; else false.
		 */
		public function isPreColorized( $column ) {         }
	}
}

namespace cli {
	/**
	 * The `Tree` class is used to display data in a tree-like format.
	 */
	class Tree {

		protected $_renderer;
		protected $_data = array();
		/**
		 * Sets the renderer used by this tree.
		 *
		 * @param tree\Renderer $renderer  The renderer to use for output.
		 * @see   tree\Renderer
		 * @see   tree\Ascii
		 * @see   tree\Markdown
		 */
		public function setRenderer( \cli\tree\Renderer $renderer ) {       }
		/**
		 * Set the data.
		 * Format:
		 *     [
		 *         'Label' => [
		 *             'Thing' => ['Thing'],
		 *         ],
		 *         'Thing',
		 *     ]
		 *
		 * @param array $data
		 */
		public function setData( array $data ) {        }
		/**
		 * Render the tree and return it as a string.
		 *
		 * @return string|null
		 */
		public function render() {      }
		/**
		 * Display the rendered tree
		 */
		public function display() {         }
	}
	abstract class Memoize {

		protected $_memoCache = array();
		public function __get( $name ) {        }
		protected function _unmemo( $name ) {       }
	}
	/**
	 * The `Table` class is used to display data in a tabular format.
	 */
	class Table {

		protected $_renderer;
		protected $_headers = array();
		protected $_footers = array();
		protected $_width   = array();
		protected $_rows    = array();
		/**
		 * Initializes the `Table` class.
		 *
		 * There are 3 ways to instantiate this class:
		 *
		 *  1. Pass an array of strings as the first parameter for the column headers
		 *     and a 2-dimensional array as the second parameter for the data rows.
		 *  2. Pass an array of hash tables (string indexes instead of numerical)
		 *     where each hash table is a row and the indexes of the *first* hash
		 *     table are used as the header values.
		 *  3. Pass nothing and use `setHeaders()` and `addRow()` or `setRows()`.
		 *
		 * @param array $headers  Headers used in this table. Optional.
		 * @param array $rows     The rows of data for this table. Optional.
		 * @param array $footers  Footers used in this table. Optional.
		 */
		public function __construct( array $headers = null, array $rows = null, array $footers = null ) {       }
		public function resetTable() {      }
		/**
		 * Sets the renderer used by this table.
		 *
		 * @param table\Renderer $renderer  The renderer to use for output.
		 * @see   table\Renderer
		 * @see   table\Ascii
		 * @see   table\Tabular
		 */
		public function setRenderer( \cli\table\Renderer $renderer ) {      }
		/**
		 * Loops through the row and sets the maximum width for each column.
		 *
		 * @param array $row  The table row.
		 * @return array $row
		 */
		protected function checkRow( array $row ) {         }
		/**
		 * Output the table to `STDOUT` using `cli\line()`.
		 *
		 * If STDOUT is a pipe or redirected to a file, should output simple
		 * tab-separated text. Otherwise, renders table with ASCII table borders
		 *
		 * @uses cli\Shell::isPiped() Determine what format to output
		 *
		 * @see cli\Table::renderRow()
		 */
		public function display() {         }
		/**
		 * Get the table lines to output.
		 *
		 * @see cli\Table::display()
		 * @see cli\Table::renderRow()
		 *
		 * @return array
		 */
		public function getDisplayLines() {         }
		/**
		 * Sort the table by a column. Must be called before `cli\Table::display()`.
		 *
		 * @param int $column  The index of the column to sort by.
		 */
		public function sort( $column ) {       }
		/**
		 * Set the headers of the table.
		 *
		 * @param array $headers  An array of strings containing column header names.
		 */
		public function setHeaders( array $headers ) {      }
		/**
		 * Set the footers of the table.
		 *
		 * @param array $footers  An array of strings containing column footers names.
		 */
		public function setFooters( array $footers ) {      }
		/**
		 * Add a row to the table.
		 *
		 * @param array $row  The row data.
		 * @see cli\Table::checkRow()
		 */
		public function addRow( array $row ) {      }
		/**
		 * Clears all previous rows and adds the given rows.
		 *
		 * @param array $rows  A 2-dimensional array of row data.
		 * @see cli\Table::addRow()
		 */
		public function setRows( array $rows ) {        }
		public function countRows() {       }
		/**
		 * Set whether items in an Ascii table are pre-colorized.
		 *
		 * @param bool|array $precolorized A boolean to set all columns in the table as pre-colorized, or an array of booleans keyed by column index (number) to set individual columns as pre-colorized.
		 * @see cli\Ascii::setPreColorized()
		 */
		public function setAsciiPreColorized( $pre_colorized ) {        }
	}
}

namespace cli\arguments {
	/**
	 * Represents an Argument or a value and provides several helpers related to parsing an argument list.
	 */
	class Argument extends \cli\Memoize {

		/**
		 * The canonical name of this argument, used for aliasing.
		 *
		 * @param string
		 */
		public $key;
		/**
		 * @param string $argument  The raw argument, leading dashes included.
		 */
		public function __construct( $argument ) {      }
		/**
		 * Returns the raw input as a string.
		 *
		 * @return string
		 */
		public function __toString() {      }
		/**
		 * Returns the formatted argument string.
		 *
		 * @return string
		 */
		public function value() {       }
		/**
		 * Returns the raw input.
		 *
		 * @return mixed
		 */
		public function raw() {         }
		/**
		 * Returns true if the string matches the pattern for long arguments.
		 *
		 * @return bool
		 */
		public function isLong() {      }
		/**
		 * Returns true if the string matches the pattern for short arguments.
		 *
		 * @return bool
		 */
		public function isShort() {         }
		/**
		 * Returns true if the string matches the pattern for arguments.
		 *
		 * @return bool
		 */
		public function isArgument() {      }
		/**
		 * Returns true if the string matches the pattern for values.
		 *
		 * @return bool
		 */
		public function isValue() {         }
		/**
		 * Returns true if the argument is short but contains several characters. Each
		 * character is considered a separate argument.
		 *
		 * @return bool
		 */
		public function canExplode() {      }
		/**
		 * Returns all but the first character of the argument, removing them from the
		 * objects representation at the same time.
		 *
		 * @return array
		 */
		public function exploded() {        }
	}
	/**
	 * Thrown when undefined arguments are detected in strict mode.
	 */
	class InvalidArguments extends \InvalidArgumentException {

		protected $arguments;
		/**
		 * @param array $arguments  A list of arguments that do not fit the profile.
		 */
		public function __construct( array $arguments ) {       }
		/**
		 * Get the arguments that caused the exception.
		 *
		 * @return array
		 */
		public function getArguments() {        }
	}
	/**
	 * Arguments help screen renderer
	 */
	class HelpScreen {

		protected $_flags     = array();
		protected $_flagMax   = 0;
		protected $_options   = array();
		protected $_optionMax = 0;
		public function __construct( \cli\Arguments $arguments ) {      }
		public function __toString() {      }
		public function setArguments( \cli\Arguments $arguments ) {         }
		public function consumeArgumentFlags( \cli\Arguments $arguments ) {         }
		public function consumeArgumentOptions( \cli\Arguments $arguments ) {       }
		public function render() {      }
	}
	class Lexer extends \cli\Memoize implements \Iterator {

		/**
		 * @param array $items  A list of strings to process as tokens.
		 */
		public function __construct( array $items ) {       }
		/**
		 * The current token.
		 *
		 * @return string
		 */
		#[\ReturnTypeWillChange]
		public function current() {         }
		/**
		 * Peek ahead to the next token without moving the cursor.
		 *
		 * @return Argument
		 */
		public function peek() {        }
		/**
		 * Move the cursor forward 1 element if it is valid.
		 */
		#[\ReturnTypeWillChange]
		public function next() {        }
		/**
		 * Return the current position of the cursor.
		 *
		 * @return int
		 */
		#[\ReturnTypeWillChange]
		public function key() {         }
		/**
		 * Move forward 1 element and, if the method hasn't been called before, reset
		 * the cursor's position to 0.
		 */
		#[\ReturnTypeWillChange]
		public function rewind() {      }
		/**
		 * Returns true if the cursor has not reached the end of the list.
		 *
		 * @return bool
		 */
		#[\ReturnTypeWillChange]
		public function valid() {       }
		/**
		 * Push an element to the front of the stack.
		 *
		 * @param mixed $item  The value to set
		 */
		public function unshift( $item ) {      }
		/**
		 * Returns true if the cursor is at the end of the list.
		 *
		 * @return bool
		 */
		public function end() {         }
	}
}

namespace cli {
	/**
	 * Parses command line arguments.
	 */
	class Arguments implements \ArrayAccess {

		protected $_flags   = array();
		protected $_options = array();
		protected $_strict  = false;
		protected $_input   = array();
		protected $_invalid = array();
		protected $_parsed;
		protected $_lexer;
		/**
		 * Initializes the argument parser. If you wish to change the default behaviour
		 * you may pass an array of options as the first argument. Valid options are
		 * `'help'` and `'strict'`, each a boolean.
		 *
		 * `'help'` is `true` by default, `'strict'` is false by default.
		 *
		 * @param  array $options  An array of options for this parser.
		 */
		public function __construct( $options = array() ) {         }
		/**
		 * Get the list of arguments found by the defined definitions.
		 *
		 * @return array
		 */
		public function getArguments() {        }
		public function getHelpScreen() {       }
		/**
		 * Encodes the parsed arguments as JSON.
		 *
		 * @return string
		 */
		public function asJSON() {      }
		/**
		 * Returns true if a given argument was parsed.
		 *
		 * @param mixed $offset  An Argument object or the name of the argument.
		 * @return bool
		 */
		#[\ReturnTypeWillChange]
		public function offsetExists( $offset ) {       }
		/**
		 * Get the parsed argument's value.
		 *
		 * @param mixed $offset  An Argument object or the name of the argument.
		 * @return mixed
		 */
		#[\ReturnTypeWillChange]
		public function offsetGet( $offset ) {      }
		/**
		 * Sets the value of a parsed argument.
		 *
		 * @param mixed $offset  An Argument object or the name of the argument.
		 * @param mixed $value   The value to set
		 */
		#[\ReturnTypeWillChange]
		public function offsetSet( $offset, $value ) {      }
		/**
		 * Unset a parsed argument.
		 *
		 * @param mixed $offset  An Argument object or the name of the argument.
		 */
		#[\ReturnTypeWillChange]
		public function offsetUnset( $offset ) {        }
		/**
		 * Adds a flag (boolean argument) to the argument list.
		 *
		 * @param mixed $flag  A string representing the flag, or an array of strings.
		 * @param array $settings  An array of settings for this flag.
		 * @setting string  description  A description to be shown in --help.
		 * @setting bool    default  The default value for this flag.
		 * @setting bool    stackable  Whether the flag is repeatable to increase the value.
		 * @setting array   aliases  Other ways to trigger this flag.
		 * @return $this
		 */
		public function addFlag( $flag, $settings = array() ) {         }
		/**
		 * Add multiple flags at once. The input array should be keyed with the
		 * primary flag character, and the values should be the settings array
		 * used by {addFlag}.
		 *
		 * @param array $flags  An array of flags to add
		 * @return $this
		 */
		public function addFlags( $flags ) {        }
		/**
		 * Adds an option (string argument) to the argument list.
		 *
		 * @param mixed $option  A string representing the option, or an array of strings.
		 * @param array $settings  An array of settings for this option.
		 * @setting string  description  A description to be shown in --help.
		 * @setting bool    default  The default value for this option.
		 * @setting array   aliases  Other ways to trigger this option.
		 * @return $this
		 */
		public function addOption( $option, $settings = array() ) {         }
		/**
		 * Add multiple options at once. The input array should be keyed with the
		 * primary option string, and the values should be the settings array
		 * used by {addOption}.
		 *
		 * @param array $options  An array of options to add
		 * @return $this
		 */
		public function addOptions( $options ) {        }
		/**
		 * Enable or disable strict mode. If strict mode is active any invalid
		 * arguments found by the parser will throw `cli\arguments\InvalidArguments`.
		 *
		 * Even if strict is disabled, invalid arguments are logged and can be
		 * retrieved with `cli\Arguments::getInvalidArguments()`.
		 *
		 * @param bool $strict  True to enable, false to disable.
		 * @return $this
		 */
		public function setStrict( $strict ) {      }
		/**
		 * Get the list of invalid arguments the parser found.
		 *
		 * @return array
		 */
		public function getInvalidArguments() {         }
		/**
		 * Get a flag by primary matcher or any defined aliases.
		 *
		 * @param mixed $flag  Either a string representing the flag or an
		 *                     cli\arguments\Argument object.
		 * @return array
		 */
		public function getFlag( $flag ) {      }
		public function getFlags() {        }
		public function hasFlags() {        }
		/**
		 * Returns true if the given argument is defined as a flag.
		 *
		 * @param mixed $argument  Either a string representing the flag or an
		 *                         cli\arguments\Argument object.
		 * @return bool
		 */
		public function isFlag( $argument ) {       }
		/**
		 * Returns true if the given flag is stackable.
		 *
		 * @param mixed $flag  Either a string representing the flag or an
		 *                     cli\arguments\Argument object.
		 * @return bool
		 */
		public function isStackable( $flag ) {      }
		/**
		 * Get an option by primary matcher or any defined aliases.
		 *
		 * @param mixed $option Either a string representing the option or an
		 *                      cli\arguments\Argument object.
		 * @return array
		 */
		public function getOption( $option ) {      }
		public function getOptions() {      }
		public function hasOptions() {      }
		/**
		 * Returns true if the given argument is defined as an option.
		 *
		 * @param mixed $argument  Either a string representing the option or an
		 *                         cli\arguments\Argument object.
		 * @return bool
		 */
		public function isOption( $argument ) {         }
		/**
		 * Parses the argument list with the given options. The returned argument list
		 * will use either the first long name given or the first name in the list
		 * if a long name is not given.
		 *
		 * @return array
		 * @throws arguments\InvalidArguments
		 */
		public function parse() {       }
	}
}

namespace {
	abstract class WP_Export_Base_Writer {

		protected $formatter;
		public function __construct( $formatter ) {         }
		public function export() {      }
		abstract protected function write( $xml);
	}
	class WP_Export_XML_Over_HTTP extends \WP_Export_Base_Writer {

		public function __construct( $formatter, $file_name ) {         }
		public function export() {      }
		protected function write( $xml ) {      }
		protected function get_export() {       }
		protected function send_headers() {         }
	}
	class WP_Iterator_Exception extends \Exception {

	}
	class WP_Export_Split_Files_Writer extends \WP_Export_Base_Writer {

		public function __construct( $formatter, $writer_args = array() ) {         }
		public function export() {      }
		protected function write( $xml ) {      }
	}
	class WP_Post_IDs_Iterator implements \Iterator {

		public function __construct( $post_ids, $limit = \null ) {      }
		#[\ReturnTypeWillChange]
		public function current() {         }
		#[\ReturnTypeWillChange]
		public function key() {         }
		#[\ReturnTypeWillChange]
		public function next() {        }
		#[\ReturnTypeWillChange]
		public function rewind() {      }
		#[\ReturnTypeWillChange]
		public function valid() {       }
	}
	class WP_Export_File_Writer extends \WP_Export_Base_Writer {

		public function __construct( $formatter, $file_name ) {         }
		public function export() {      }
		protected function write( $xml ) {      }
	}
	/**
	 * Represents a set of posts and other site data to be exported.
	 *
	 * An immutable object, which gathers all data needed for the export.
	 */
	class WP_Export_Query {

		const QUERY_CHUNK       = 100;
		public $missing_parents = \false;
		public function __construct( $filters = array() ) {         }
		public function post_ids() {        }
		public function charset() {         }
		public function site_metadata() {       }
		public function wp_generator_tag() {        }
		public function authors() {         }
		public function categories() {      }
		public function tags() {        }
		public function custom_taxonomies_terms() {         }
		public function nav_menu_terms() {      }
		public function exportify_post( $post ) {       }
		public function posts() {       }
	}
	class WP_Map_Iterator extends \IteratorIterator {

		public function __construct( $iterator, $callback ) {       }
		public function current(): mixed {
		}
	}
	class WP_Export_Returner extends \WP_Export_Base_Writer {

		public function export() {      }
		protected function write( $xml ) {      }
	}
	class WP_Export_Exception extends \RuntimeException {

	}
    //phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound -- WordPress constant.
	/**
	 * Responsible for formatting the data in WP_Export_Query to WXR
	 */
	class WP_Export_WXR_Formatter {

		public function __construct( $export ) {        }
		public function before_posts( $requested_sections = array() ) {         }
		public function posts() {       }
		public function after_posts() {         }
		public function header() {      }
		public function site_metadata() {       }
		public function authors() {         }
		public function categories() {      }
		public function tags() {        }
		public function nav_menu_terms() {      }
		public function custom_taxonomies_terms() {         }
		public function rss2_head_action() {        }
		public function post( $post ) {         }
		public function footer() {      }
		protected function terms( $terms ) {        }
		protected function comment_meta( $comment ) {       }
	}
	class Oxymel {

		public function __construct() {         }
		public function to_string() {       }
		public function __call( $name, $args ) {        }
		public function __get( $name ) {        }
		public function contains() {        }
		public function end() {         }
		public function tag( $name, $content_or_attributes = \null, $attributes = array() ) {       }
		public function cdata( $text ) {        }
		public function text( $text ) {         }
		public function comment( $text ) {      }
		public function xml() {         }
		public function oxymel( \Oxymel $other ) {      }
		public function raw( $raw_xml ) {       }
	}
	class WP_Export_Oxymel extends \Oxymel {

		public function optional( $tag_name, $contents ) {      }
		public function optional_cdata( $tag_name, $contents ) {        }
		public function cdata( $text ) {        }
	}
	/**
	 * Exports WordPress content to a WXR file.
	 *
	 * ## EXAMPLES
	 *
	 *     # Export posts published by the user between given start and end date
	 *     $ wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31
	 *     Starting export process...
	 *     Writing to file /tmp/staging.WordPress.2016-05-24.000.xml
	 *     Success: All done with export.
	 *
	 * @package wp-cli
	 */
	class Export_Command extends \WP_CLI_Command {

		/**
		 * Initialize the array of arguments that will be eventually be passed to export_wp.
		 *
		 * @var array
		 */
		public $export_args = array();
		/**
		 * Exports WordPress content to a WXR file.
		 *
		 * Generates one or more WXR files containing authors, terms, posts,
		 * comments, and attachments. WXR files do not include site configuration
		 * (options) or the attachment files themselves.
		 *
		 * ## OPTIONS
		 *
		 * [--dir=<dirname>]
		 * : Full path to directory where WXR export files should be stored. Defaults
		 * to current working directory.
		 *
		 * [--stdout]
		 * : Output the whole XML using standard output (incompatible with --dir=)
		 *
		 * [--skip_comments]
		 * : Don't include comments in the WXR export file.
		 *
		 * [--max_file_size=<MB>]
		 * : A single export file should have this many megabytes. -1 for unlimited.
		 * ---
		 * default: 15
		 * ---
		 *
		 * [--filename_format=<format>]
		 * : Use a custom format for export filenames. Defaults to '{site}.WordPress.{date}.{n}.xml'.
		 *
		 * [--include_once=<before_posts>]
		 * : Include specified export section only in the first export file. Valid options
		 * are categories, tags, nav_menu_items, custom_taxonomies_terms. Separate multiple
		 * sections with a comma. Defaults to none.
		 *
		 * [--allow_orphan_terms]
		 * : Export orphaned terms with `parent=0`, instead of throwing an exception.
		 *
		 * ## FILTERS
		 *
		 * [--start_date=<date>]
		 * : Export only posts published after this date, in format YYYY-MM-DD.
		 *
		 * [--end_date=<date>]
		 * : Export only posts published before this date, in format YYYY-MM-DD.
		 *
		 * [--post_type=<post-type>]
		 * : Export only posts with this post_type. Separate multiple post types with a
		 * comma.
		 * ---
		 * default: any
		 * ---
		 *
		 * [--post_type__not_in=<post-type>]
		 * : Export all post types except those identified. Separate multiple post types
		 * with a comma. Defaults to none.
		 *
		 * [--post__in=<pid>]
		 * : Export all posts specified as a comma-separated or space-separated list of IDs.
		 * Post's attachments won't be exported unless --with_attachments is specified.
		 *
		 * [--with_attachments]
		 * : Force including attachments in case --post__in has been specified.
		 *
		 * [--start_id=<pid>]
		 * : Export only posts with IDs greater than or equal to this post ID.
		 *
		 * [--max_num_posts=<num>]
		 * : Export no more than <num> posts (excluding attachments).
		 *
		 * [--author=<author>]
		 * : Export only posts by this author. Can be either user login or user ID.
		 *
		 * [--category=<name|id>]
		 * : Export only posts in this category.
		 *
		 * [--post_status=<status>]
		 * : Export only posts with this status.
		 *
		 * ## EXAMPLES
		 *
		 *     # Export posts published by the user between given start and end date
		 *     $ wp export --dir=/tmp/ --user=admin --post_type=post --start_date=2011-01-01 --end_date=2011-12-31
		 *     Starting export process...
		 *     Writing to file /tmp/staging.WordPress.2016-05-24.000.xml
		 *     Success: All done with export.
		 *
		 *     # Export posts by IDs
		 *     $ wp export --dir=/tmp/ --post__in=123,124,125
		 *     Starting export process...
		 *     Writing to file /tmp/staging.WordPress.2016-05-24.000.xml
		 *     Success: All done with export.
		 *
		 *     # Export a random subset of content
		 *     $ wp export --post__in="$(wp post list --post_type=post --orderby=rand --posts_per_page=8 --format=ids)"
		 *     Starting export process...
		 *     Writing to file /var/www/example.com/public_html/staging.WordPress.2016-05-24.000.xml
		 *     Success: All done with export.
		 */
		public function __invoke( $_, $assoc_args ) {       }
		public static function load_export_api() {      }
	}
	class WP_Export_Term_Exception extends \RuntimeException {

	}
	/**
	 * Retrieves details on the site's registered post types.
	 *
	 * Get information on WordPress' built-in and the site's [custom post types](https://developer.wordpress.org/plugins/post-types/).
	 *
	 * ## EXAMPLES
	 *
	 *     # Get details about a post type
	 *     $ wp post-type get page --fields=name,label,hierarchical --format=json
	 *     {"name":"page","label":"Pages","hierarchical":true}
	 *
	 *     # List post types with 'post' capability type
	 *     $ wp post-type list --capability_type=post --fields=name,public
	 *     +---------------+--------+
	 *     | name          | public |
	 *     +---------------+--------+
	 *     | post          | 1      |
	 *     | attachment    | 1      |
	 *     | revision      |        |
	 *     | nav_menu_item |        |
	 *     +---------------+--------+
	 *
	 * @package wp-cli
	 */
	class Post_Type_Command extends \WP_CLI_Command {

		/**
		 * Gets the post counts for each supplied post type.
		 *
		 * @param array $post_types Post types to fetch counts for.
		 * @return array Associative array of post counts keyed by post type.
		 */
		protected function get_counts( $post_types ) {      }
		/**
		 * Lists registered post types.
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : Filter by one or more fields (see get_post_types() first parameter for a list of available fields).
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each post type.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific post type fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each post type:
		 *
		 * * name
		 * * label
		 * * description
		 * * hierarchical
		 * * public
		 * * capability_type
		 *
		 * These fields are optionally available:
		 *
		 * * count
		 *
		 * ## EXAMPLES
		 *
		 *     # List registered post types
		 *     $ wp post-type list --format=csv
		 *     name,label,description,hierarchical,public,capability_type
		 *     post,Posts,,,1,post
		 *     page,Pages,,1,1,page
		 *     attachment,Media,,,1,post
		 *     revision,Revisions,,,,post
		 *     nav_menu_item,"Navigation Menu Items",,,,post
		 *
		 *     # List post types with 'post' capability type
		 *     $ wp post-type list --capability_type=post --fields=name,public
		 *     +---------------+--------+
		 *     | name          | public |
		 *     +---------------+--------+
		 *     | post          | 1      |
		 *     | attachment    | 1      |
		 *     | revision      |        |
		 *     | nav_menu_item |        |
		 *     +---------------+--------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets details about a registered post type.
		 *
		 * ## OPTIONS
		 *
		 * <post-type>
		 * : Post type slug
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole taxonomy, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for the specified post type:
		 *
		 * * name
		 * * label
		 * * description
		 * * hierarchical
		 * * public
		 * * capability_type
		 * * labels
		 * * cap
		 * * supports
		 *
		 * These fields are optionally available:
		 *
		 * * count
		 *
		 * ## EXAMPLES
		 *
		 *     # Get details about the 'page' post type.
		 *     $ wp post-type get page --fields=name,label,hierarchical --format=json
		 *     {"name":"page","label":"Pages","hierarchical":true}
		 */
		public function get( $args, $assoc_args ) {         }
	}
}

namespace WP_CLI {
	/**
	 * Base class for WP-CLI commands that deal with database objects.
	 *
	 * @package wp-cli
	 */
	abstract class CommandWithDBObject extends \WP_CLI_Command {

		/**
		 * @var string $object_type WordPress' expected name for the object.
		 */
		protected $obj_type;
		/**
		 * @var string $obj_id_key Key representing object's PK field in db.
		 */
		protected $obj_id_key = 'ID';
		/**
		 * @var array $obj_fields Default fields to display for each object.
		 */
		protected $obj_fields;
		/**
		 * Create a given database object.
		 * Exits with status.
		 *
		 * @param array  $args Arguments passed to command. Generally unused.
		 * @param array  $assoc_args Parameters passed to command to be passed to callback.
		 * @param string $callback Function used to create object.
		 */
		protected function _create( $args, $assoc_args, $callback ) {       }
		/**
		 * Update a given database object.
		 * Exits with status.
		 *
		 * @param array  $args Collection of one or more object ids to update.
		 * @param array  $assoc_args Fields => values to update on each object.
		 * @param string $callback Function used to update object.
		 */
		protected function _update( $args, $assoc_args, $callback ) {       }
		/**
		 * Transforms arguments with '__' from CSV into expected arrays
		 *
		 * @param array $assoc_args
		 * @return array
		 */
		protected static function process_csv_arguments_to_arrays( $assoc_args ) {      }
		/**
		 * Delete a given database object.
		 * Exits with status.
		 *
		 * @param array    $args Collection of one or more object ids to delete.
		 * @param array    $assoc_args Any arguments needed for the callback function.
		 * @param callable $callback Function used to delete object.
		 */
		protected function _delete( $args, $assoc_args, $callback ) {       }
		/**
		 * Format callback response to consistent format.
		 *
		 * @param WP_Error|true $response Response from CRUD callback.
		 * @param string        $success_msg
		 * @return array
		 */
		protected function wp_error_to_resp( $response, $success_msg ) {        }
		/**
		 * Display success or warning based on response; return proper exit code.
		 *
		 * @param array $response Formatted from a CRUD callback.
		 * @return int $status
		 */
		protected function success_or_failure( $response ) {        }
		/**
		 * Get Formatter object based on supplied parameters.
		 *
		 * @param array $assoc_args Parameters passed to command. Determines formatting.
		 * @return Formatter
		 */
		protected function get_formatter( &$assoc_args ) {      }
		/**
		 * Given a callback, display the URL for one or more objects.
		 *
		 * @param array  $args One or more object references.
		 * @param string $callback Function to get URL for the object.
		 */
		protected function _url( $args, $callback ) {       }
	}
	/**
	 * Base class for WP-CLI commands that deal with terms
	 *
	 * @package wp-cli
	 */
	abstract class CommandWithTerms extends \WP_CLI_Command {

		/**
		 * @var string $object_type WordPress' expected name for the object.
		 */
		protected $obj_type;
		/**
		 * @var string $object_id WordPress' object id.
		 */
		protected $obj_id;
		/**
		 * @var array $obj_fields Default fields to display for each object.
		 */
		protected $obj_fields = array( 'term_id', 'name', 'slug', 'taxonomy' );
		/**
		 * List all terms associated with an object.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : ID for the object.
		 *
		 * <taxonomy>...
		 * : One or more taxonomies to list.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each term.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific row fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - count
		 *   - ids
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each term:
		 *
		 * * term_id
		 * * name
		 * * slug
		 * * taxonomy
		 *
		 * These fields are optionally available:
		 *
		 * * term_taxonomy_id
		 * * description
		 * * term_group
		 * * parent
		 * * count
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Remove a term from an object.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <taxonomy>
		 * : The name of the term's taxonomy.
		 *
		 * [<term>...]
		 * : The slug of the term or terms to be removed from the object.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: slug
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 *
		 * [--all]
		 * : Remove all terms from the object.
		 */
		public function remove( $args, $assoc_args ) {      }
		/**
		 * Add a term to an object.
		 *
		 * Append the term to the existing set of terms on the object.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <taxonomy>
		 * : The name of the taxonomy type to be added.
		 *
		 * <term>...
		 * : The slug of the term or terms to be added.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: slug
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Set object terms.
		 *
		 * Replaces existing terms on the object.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <taxonomy>
		 * : The name of the taxonomy type to be updated.
		 *
		 * <term>...
		 * : The slug of the term or terms to be updated.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: slug
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 */
		public function set( $args, $assoc_args ) {         }
		/**
		 * Check if taxonomy exists
		 *
		 * @param $taxonomy
		 */
		protected function taxonomy_exists( $taxonomy ) {       }
		/**
		 * Prepare terms if `--by=<field>` flag is used
		 *
		 * @param array  $terms
		 * @param string $field
		 * @param string $taxonomy
		 */
		protected function prepare_terms( $field, $terms, $taxonomy ) {         }
		/**
		 * Set obj_id Class variable
		 *
		 * @param string $obj_id
		 */
		protected function set_obj_id( $obj_id ) {      }
		/**
		 * Get obj_id Class variable
		 *
		 * @return string
		 */
		protected function get_obj_id() {       }
		/**
		 * Get obj_type Class variable
		 *
		 * @return string $obj_type
		 */
		protected function get_object_type() {      }
		/**
		 * Get Formatter object based on supplied parameters.
		 *
		 * @param array $assoc_args Parameters passed to command. Determines formatting.
		 *
		 * @return WP_CLI\Formatter
		 */
		protected function get_formatter( &$assoc_args ) {      }
	}
	/**
	 * Base class for WP-CLI commands that deal with metadata
	 *
	 * @package wp-cli
	 */
	abstract class CommandWithMeta extends \WP_CLI_Command {

		protected $meta_type;
		/**
		 * List all metadata associated with an object.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : ID for the object.
		 *
		 * [--keys=<keys>]
		 * : Limit output to metadata of specific keys.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific row fields. Defaults to id,meta_key,meta_value.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - count
		 * ---
		 *
		 * [--orderby=<fields>]
		 * : Set orderby which field.
		 * ---
		 * default: id
		 * options:
		 *  - id
		 *  - meta_key
		 *  - meta_value
		 * ---
		 *
		 * [--order=<order>]
		 * : Set ascending or descending order.
		 * ---
		 * default: asc
		 * options:
		 *  - asc
		 *  - desc
		 * ---
		 *
		 * [--unserialize]
		 * : Unserialize meta_value output.
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Get meta field value.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <key>
		 * : The name of the meta field to get.
		 *
		 * [--format=<format>]
		 * : Get value in a particular format.
		 * ---
		 * default: var_export
		 * options:
		 *   - var_export
		 *   - json
		 *   - yaml
		 * ---
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Delete a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * [<key>]
		 * : The name of the meta field to delete.
		 *
		 * [<value>]
		 * : The value to delete. If omitted, all rows with key will deleted.
		 *
		 * [--all]
		 * : Delete all meta for the object.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Add a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <key>
		 * : The name of the meta field to create.
		 *
		 * [<value>]
		 * : The value of the meta field. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Update a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <key>
		 * : The name of the meta field to update.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * @alias set
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Get a nested value from a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <key>
		 * : The name of the meta field to get.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to pluck.
		 *
		 * [--format=<format>]
		 * : The output format of the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 *   - yaml
		 */
		public function pluck( $args, $assoc_args ) {       }
		/**
		 * Update a nested value for a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <action>
		 * : Patch action to perform.
		 * ---
		 * options:
		 *   - insert
		 *   - update
		 *   - delete
		 * ---
		 *
		 * <id>
		 * : The ID of the object.
		 *
		 * <key>
		 * : The name of the meta field to update.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to patch.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 */
		public function patch( $args, $assoc_args ) {       }
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = false ) {        }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = false ) {        }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
		/**
		 * Check that the object ID exists
		 *
		 * @param int
		 */
		protected function check_object_id( $object_id ) {      }
	}
}

namespace {
	/**
	 * Manages signups on a multisite installation.
	 *
	 * ## EXAMPLES
	 *
	 *     # List signups.
	 *     $ wp user signup list
	 *     +-----------+------------+---------------------+---------------------+--------+------------------+
	 *     | signup_id | user_login | user_email          | registered          | active | activation_key   |
	 *     +-----------+------------+---------------------+---------------------+--------+------------------+
	 *     | 1         | bobuser    | bobuser@example.com | 2024-03-13 05:46:53 | 1      | 7320b2f009266618 |
	 *     | 2         | johndoe    | johndoe@example.com | 2024-03-13 06:24:44 | 0      | 9068d859186cd0b5 |
	 *     +-----------+------------+---------------------+---------------------+--------+------------------+
	 *
	 *     # Activate signup.
	 *     $ wp user signup activate 2
	 *     Signup 2 activated. Password: bZFSGsfzb9xs
	 *     Success: Activated 1 of 1 signups.
	 *
	 *     # Delete signup.
	 *     $ wp user signup delete 3
	 *     Signup 3 deleted.
	 *     Success: Deleted 1 of 1 signups.
	 *
	 * @package wp-cli
	 */
	class Signup_Command extends \WP_CLI\CommandWithDBObject {

		protected $obj_type   = 'signup';
		protected $obj_id_key = 'signup_id';
		protected $obj_fields = array( 'signup_id', 'user_login', 'user_email', 'registered', 'active', 'activation_key' );
		public function __construct() {         }
		/**
		 * Lists signups.
		 *
		 * [--<field>=<value>]
		 * : Filter the list by a specific field.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each signup.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * [--per_page=<per_page>]
		 * : Limits the signups to the given number. Defaults to none.
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each signup:
		 *
		 * * signup_id
		 * * user_login
		 * * user_email
		 * * registered
		 * * active
		 * * activation_key
		 *
		 * These fields are optionally available:
		 *
		 * * domain
		 * * path
		 * * title
		 * * activated
		 * * meta
		 *
		 * ## EXAMPLES
		 *
		 *     # List signup IDs.
		 *     $ wp user signup list --field=signup_id
		 *     1
		 *
		 *     # List all signups.
		 *     $ wp user signup list
		 *     +-----------+------------+---------------------+---------------------+--------+------------------+
		 *     | signup_id | user_login | user_email          | registered          | active | activation_key   |
		 *     +-----------+------------+---------------------+---------------------+--------+------------------+
		 *     | 1         | bobuser    | bobuser@example.com | 2024-03-13 05:46:53 | 1      | 7320b2f009266618 |
		 *     | 2         | johndoe    | johndoe@example.com | 2024-03-13 06:24:44 | 0      | 9068d859186cd0b5 |
		 *     +-----------+------------+---------------------+---------------------+--------+------------------+
		 *
		 * @subcommand list
		 *
		 * @package wp-cli
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets details about a signup.
		 *
		 * ## OPTIONS
		 *
		 * <signup>
		 * : The signup ID, user login, user email, or activation key.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole signup, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get signup.
		 *     $ wp user signup get 1 --field=user_login
		 *     bobuser
		 *
		 *     # Get signup and export to JSON file.
		 *     $ wp user signup get bobuser --format=json > bobuser.json
		 *
		 * @package wp-cli
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Activates one or more signups.
		 *
		 * ## OPTIONS
		 *
		 * <signup>...
		 * : The signup ID, user login, user email, or activation key of the signup(s) to activate.
		 *
		 * ## EXAMPLES
		 *
		 *     # Activate signup.
		 *     $ wp user signup activate 2
		 *     Signup 2 activated. Password: bZFSGsfzb9xs
		 *     Success: Activated 1 of 1 signups.
		 *
		 * @package wp-cli
		 */
		public function activate( $args, $assoc_args ) {        }
		/**
		 * Deletes one or more signups.
		 *
		 * ## OPTIONS
		 *
		 * [<signup>...]
		 * : The signup ID, user login, user email, or activation key of the signup(s) to delete.
		 *
		 * [--all]
		 * : If set, all signups will be deleted.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete signup.
		 *     $ wp user signup delete 3
		 *     Signup 3 deleted.
		 *     Success: Deleted 1 of 1 signups.
		 *
		 * @package wp-cli
		 */
		public function delete( $args, $assoc_args ) {      }
	}
	/**
	 * Adds, updates, deletes, and lists site options in a multisite installation.
	 *
	 * ## EXAMPLES
	 *
	 *     # Get site registration
	 *     $ wp site option get registration
	 *     none
	 *
	 *     # Add site option
	 *     $ wp site option add my_option foobar
	 *     Success: Added 'my_option' site option.
	 *
	 *     # Update site option
	 *     $ wp site option update my_option '{"foo": "bar"}' --format=json
	 *     Success: Updated 'my_option' site option.
	 *
	 *     # Delete site option
	 *     $ wp site option delete my_option
	 *     Success: Deleted 'my_option' site option.
	 */
	class Site_Option_Command extends \WP_CLI_Command {

		/**
		 * Gets a site option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the site option.
		 *
		 * [--format=<format>]
		 * : Get value in a particular format.
		 * ---
		 * default: var_export
		 * options:
		 *   - var_export
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get site upload filetypes
		 *     $ wp site option get upload_filetypes
		 *     jpg jpeg png gif mov avi mpg
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Adds a site option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the site option to add.
		 *
		 * [<value>]
		 * : The value of the site option to add. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Create a site option by reading a JSON file
		 *     $ wp site option add my_option --format=json < config.json
		 *     Success: Added 'my_option' site option.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Lists site options.
		 *
		 * ## OPTIONS
		 *
		 * [--search=<pattern>]
		 * : Use wildcards ( * and ? ) to match option name.
		 *
		 * [--site_id=<id>]
		 * : Limit options to those of a particular site id.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value. total_bytes displays the total size of matching options in bytes.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - count
		 *   - yaml
		 *   - total_bytes
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * This field will be displayed by default for each matching option:
		 *
		 * * meta_key
		 * * meta_value
		 *
		 * These fields are optionally available:
		 *
		 * * meta_id
		 * * site_id
		 * * size_bytes
		 *
		 * ## EXAMPLES
		 *
		 *     # List all site options beginning with "i2f_"
		 *     $ wp site option list --search="i2f_*"
		 *     +-------------+--------------+
		 *     | meta_key    | meta_value   |
		 *     +-------------+--------------+
		 *     | i2f_version | 0.1.0        |
		 *     +-------------+--------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Updates a site option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the site option to update.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Update a site option by reading from a file
		 *     $ wp site option update my_option < value.txt
		 *     Success: Updated 'my_option' site option.
		 *
		 * @alias set
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Deletes a site option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the site option.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site option delete my_option
		 *     Success: Deleted 'my_option' site option.
		 */
		public function delete( $args ) {       }
		/**
		 * Gets a nested value from an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The option name.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to pluck.
		 *
		 * [--format=<format>]
		 * : The output format of the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 *   - yaml
		 */
		public function pluck( $args, $assoc_args ) {       }
		/**
		 * Updates a nested value in an option.
		 *
		 * ## OPTIONS
		 *
		 * <action>
		 * : Patch action to perform.
		 * ---
		 * options:
		 *   - insert
		 *   - update
		 *   - delete
		 * ---
		 *
		 * <key>
		 * : The option name.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to patch.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 */
		public function patch( $args, $assoc_args ) {       }
	}
	/**
	 * Manages users, along with their roles, capabilities, and meta.
	 *
	 * See references for [Roles and Capabilities](https://codex.wordpress.org/Roles_and_Capabilities) and [WP User class](https://codex.wordpress.org/Class_Reference/WP_User).
	 *
	 * ## EXAMPLES
	 *
	 *     # List user IDs
	 *     $ wp user list --field=ID
	 *     1
	 *
	 *     # Create a new user.
	 *     $ wp user create bob bob@example.com --role=author
	 *     Success: Created user 3.
	 *     Password: k9**&I4vNH(&
	 *
	 *     # Update an existing user.
	 *     $ wp user update 123 --display_name=Mary --user_pass=marypass
	 *     Success: Updated user 123.
	 *
	 *     # Delete user 123 and reassign posts to user 567
	 *     $ wp user delete 123 --reassign=567
	 *     Success: Removed user 123 from http://example.com.
	 *
	 * @package wp-cli
	 */
	class User_Command extends \WP_CLI\CommandWithDBObject {

		protected $obj_type   = 'user';
		protected $obj_fields = array( 'ID', 'user_login', 'display_name', 'user_email', 'user_registered', 'roles' );
		public function __construct() {         }
		/**
		 * Lists users.
		 *
		 * Display WordPress users based on all arguments supported by
		 * [WP_User_Query()](https://developer.wordpress.org/reference/classes/wp_user_query/prepare_query/).
		 *
		 * ## OPTIONS
		 *
		 * [--role=<role>]
		 * : Only display users with a certain role.
		 *
		 * [--<field>=<value>]
		 * : Control output by one or more arguments of WP_User_Query().
		 *
		 * [--network]
		 * : List all users in the network for multisite.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each user.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each user:
		 *
		 * * ID
		 * * user_login
		 * * display_name
		 * * user_email
		 * * user_registered
		 * * roles
		 *
		 * These fields are optionally available:
		 *
		 * * user_pass
		 * * user_nicename
		 * * user_url
		 * * user_activation_key
		 * * user_status
		 * * spam
		 * * deleted
		 * * caps
		 * * cap_key
		 * * allcaps
		 * * filter
		 * * url
		 *
		 * ## EXAMPLES
		 *
		 *     # List user IDs
		 *     $ wp user list --field=ID
		 *     1
		 *
		 *     # List users with administrator role
		 *     $ wp user list --role=administrator --format=csv
		 *     ID,user_login,display_name,user_email,user_registered,roles
		 *     1,supervisor,supervisor,supervisor@gmail.com,"2016-06-03 04:37:00",administrator
		 *
		 *     # List users with only given fields
		 *     $ wp user list --fields=display_name,user_email --format=json
		 *     [{"display_name":"supervisor","user_email":"supervisor@gmail.com"}]
		 *
		 *     # List users ordered by the 'last_activity' meta value.
		 *     $ wp user list --meta_key=last_activity --orderby=meta_value_num
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets details about a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole user, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Get a specific subset of the user's fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get user
		 *     $ wp user get 12 --field=login
		 *     supervisor
		 *
		 *     # Get user and export to JSON file
		 *     $ wp user get bob --format=json > bob.json
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Deletes one or more users from the current site.
		 *
		 * On multisite, `wp user delete` only removes the user from the current
		 * site. Include `--network` to also remove the user from the database, but
		 * make sure to reassign their posts prior to deleting the user.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : The user login, user email, or user ID of the user(s) to delete.
		 *
		 * [--network]
		 * : On multisite, delete the user from the entire network.
		 *
		 * [--reassign=<user-id>]
		 * : User ID to reassign the posts to.
		 *
		 * [--yes]
		 * : Answer yes to any confirmation prompts.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete user 123 and reassign posts to user 567
		 *     $ wp user delete 123 --reassign=567
		 *     Success: Removed user 123 from http://example.com.
		 *
		 *     # Delete all contributors and reassign their posts to user 2
		 *     $ wp user delete $(wp user list --role=contributor --field=ID) --reassign=2
		 *     Success: Removed user 813 from http://example.com.
		 *     Success: Removed user 578 from http://example.com.
		 *
		 *     # Delete all contributors in batches of 100 (avoid error: argument list too long: wp)
		 *     $ wp user delete $(wp user list --role=contributor --field=ID | head -n 100)
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Creates a new user.
		 *
		 * ## OPTIONS
		 *
		 * <user-login>
		 * : The login of the user to create.
		 *
		 * <user-email>
		 * : The email address of the user to create.
		 *
		 * [--role=<role>]
		 * : The role of the user to create. Default: default role. Possible values
		 * include 'administrator', 'editor', 'author', 'contributor', 'subscriber'.
		 *
		 * [--user_pass=<password>]
		 * : The user password. Default: randomly generated.
		 *
		 * [--user_registered=<yyyy-mm-dd-hh-ii-ss>]
		 * : The date the user registered. Default: current date.
		 *
		 * [--display_name=<name>]
		 * : The display name.
		 *
		 * [--user_nicename=<nice_name>]
		 * : A string that contains a URL-friendly name for the user. The default is the user's username.
		 *
		 * [--user_url=<url>]
		 * : A string containing the user's URL for the user's web site.
		 *
		 * [--nickname=<nickname>]
		 * : The user's nickname, defaults to the user's username.
		 *
		 * [--first_name=<first_name>]
		 * : The user's first name.
		 *
		 * [--last_name=<last_name>]
		 * : The user's last name.
		 *
		 * [--description=<description>]
		 * : A string containing content about the user.
		 *
		 * [--rich_editing=<rich_editing>]
		 * : A string for whether to enable the rich editor or not. False if not empty.
		 *
		 * [--send-email]
		 * : Send an email to the user with their new account details.
		 *
		 * [--porcelain]
		 * : Output just the new user id.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create user
		 *     $ wp user create bob bob@example.com --role=author
		 *     Success: Created user 3.
		 *     Password: k9**&I4vNH(&
		 *
		 *     # Create user without showing password upon success
		 *     $ wp user create ann ann@example.com --porcelain
		 *     4
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Updates an existing user.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : The user login, user email or user ID of the user(s) to update.
		 *
		 * [--user_pass=<password>]
		 * : A string that contains the plain text password for the user.
		 *
		 * [--user_nicename=<nice_name>]
		 * : A string that contains a URL-friendly name for the user. The default is the user's username.
		 *
		 * [--user_url=<url>]
		 * : A string containing the user's URL for the user's web site.
		 *
		 * [--user_email=<email>]
		 * : A string containing the user's email address.
		 *
		 * [--display_name=<display_name>]
		 * : A string that will be shown on the site. Defaults to user's username.
		 *
		 * [--nickname=<nickname>]
		 * : The user's nickname, defaults to the user's username.
		 *
		 * [--first_name=<first_name>]
		 * : The user's first name.
		 *
		 * [--last_name=<last_name>]
		 * : The user's last name.
		 *
		 * [--description=<description>]
		 * : A string containing content about the user.
		 *
		 * [--rich_editing=<rich_editing>]
		 * : A string for whether to enable the rich editor or not. False if not empty.
		 *
		 * [--user_registered=<yyyy-mm-dd-hh-ii-ss>]
		 * : The date the user registered.
		 *
		 * [--role=<role>]
		 * : A string used to set the user's role.
		 *
		 * --<field>=<value>
		 * : One or more fields to update. For accepted fields, see wp_update_user().
		 *
		 * [--skip-email]
		 * : Don't send an email notification to the user.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update user
		 *     $ wp user update 123 --display_name=Mary --user_pass=marypass
		 *     Success: Updated user 123.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Generates some users.
		 *
		 * Creates a specified number of new users with dummy data.
		 *
		 * ## OPTIONS
		 *
		 * [--count=<number>]
		 * : How many users to generate?
		 * ---
		 * default: 100
		 * ---
		 *
		 * [--role=<role>]
		 * : The role of the generated users. Default: default role from WP
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: progress
		 * options:
		 *   - progress
		 *   - ids
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add meta to every generated users.
		 *     $ wp user generate --format=ids --count=3 | xargs -d ' ' -I % wp user meta add % foo bar
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 */
		public function generate( $args, $assoc_args ) {        }
		/**
		 * Verifies whether a user exists.
		 *
		 * Displays a success message if the user does exist.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the user to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # The user exists.
		 *     $ wp user exists 1337
		 *     Success: User with ID 1337 exists.
		 *     $ echo $?
		 *     0
		 *
		 *     # The user does not exist.
		 *     $ wp user exists 10000
		 *     $ echo $?
		 *     1
		 */
		public function exists( $args ) {       }
		/**
		 * Sets the user role.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [<role>]
		 * : Make the user have the specified role. If not passed, the default role is
		 * used.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp user set-role 12 author
		 *     Success: Added johndoe (12) to http://example.com as author.
		 *
		 * @subcommand set-role
		 */
		public function set_role( $args, $assoc_args ) {        }
		/**
		 * Adds a role for a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [<role>...]
		 * : Add the specified role(s) to the user.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp user add-role 12 author
		 *     Success: Added 'author' role for johndoe (12).
		 *
		 *     $ wp user add-role 12 author editor
		 *     Success: Added 'author', 'editor' roles for johndoe (12).
		 *
		 * @subcommand add-role
		 */
		public function add_role( $args, $assoc_args ) {        }
		/**
		 * Removes a user's role.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [<role>...]
		 * : Remove the specified role(s) from the user.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp user remove-role 12 author
		 *     Success: Removed 'author' role for johndoe (12).
		 *
		 *     $ wp user remove-role 12 author editor
		 *     Success: Removed 'author', 'editor' roles for johndoe (12).
		 *
		 * @subcommand remove-role
		 */
		public function remove_role( $args, $assoc_args ) {         }
		/**
		 * Adds a capability to a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * <cap>
		 * : The capability to add.
		 *
		 * ## EXAMPLES
		 *
		 *     # Add a capability for a user
		 *     $ wp user add-cap john create_premium_item
		 *     Success: Added 'create_premium_item' capability for john (16).
		 *
		 *     # Add a capability for a user
		 *     $ wp user add-cap 15 edit_product
		 *     Success: Added 'edit_product' capability for johndoe (15).
		 *
		 * @subcommand add-cap
		 */
		public function add_cap( $args, $assoc_args ) {         }
		/**
		 * Removes a user's capability.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * <cap>
		 * : The capability to be removed.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp user remove-cap 11 publish_newsletters
		 *     Success: Removed 'publish_newsletters' cap for supervisor (11).
		 *
		 *     $ wp user remove-cap 11 publish_posts
		 *     Error: The 'publish_posts' cap for supervisor (11) is inherited from a role.
		 *
		 *     $ wp user remove-cap 11 nonexistent_cap
		 *     Error: No such 'nonexistent_cap' cap for supervisor (11).
		 *
		 * @subcommand remove-cap
		 */
		public function remove_cap( $args, $assoc_args ) {      }
		/**
		 * Lists all capabilities for a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or login.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: list
		 * options:
		 *   - list
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * [--origin=<origin>]
		 * : Render output in a particular format.
		 * ---
		 * default: all
		 * options:
		 *   - all
		 *   - user
		 *   - role
		 * ---
		 *
		 * [--exclude-role-names]
		 * : Exclude capabilities that match role names from output.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp user list-caps 21
		 *     edit_product
		 *     create_premium_item
		 *
		 * @subcommand list-caps
		 */
		public function list_caps( $args, $assoc_args ) {       }
		/**
		 * Imports users from a CSV file.
		 *
		 * If the user already exists (matching the email address or login), then
		 * the user is updated unless the `--skip-update` flag is used.
		 *
		 * ## OPTIONS
		 *
		 * <file>
		 * : The local or remote CSV file of users to import. If '-', then reads from STDIN.
		 *
		 * [--send-email]
		 * : Send an email to new users with their account details.
		 *
		 * [--skip-update]
		 * : Don't update users that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Import users from local CSV file
		 *     $ wp user import-csv /path/to/users.csv
		 *     Success: bobjones created.
		 *     Success: newuser1 created.
		 *     Success: existinguser created.
		 *
		 *     # Import users from remote CSV file
		 *     $ wp user import-csv http://example.com/users.csv
		 *
		 *     Sample users.csv file:
		 *
		 *     user_login,user_email,display_name,role
		 *     bobjones,bobjones@example.com,Bob Jones,contributor
		 *     newuser1,newuser1@example.com,New User,author
		 *     existinguser,existinguser@example.com,Existing User,administrator
		 *
		 * @subcommand import-csv
		 */
		public function import_csv( $args, $assoc_args ) {      }
		/**
		 * Resets the password for one or more users.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : one or more user logins or IDs.
		 *
		 * [--skip-email]
		 * : Don't send an email notification to the affected user(s).
		 *
		 * [--show-password]
		 * : Show the new password(s).
		 *
		 * [--porcelain]
		 * : Output only the new password(s).
		 *
		 * ## EXAMPLES
		 *
		 *     # Reset the password for two users and send them the change email.
		 *     $ wp user reset-password admin editor
		 *     Reset password for admin.
		 *     Reset password for editor.
		 *     Success: Passwords reset for 2 users.
		 *
		 *     # Reset and display the password.
		 *     $ wp user reset-password editor --show-password
		 *     Reset password for editor.
		 *     Password: N6hAau0fXZMN#rLCIirdEGOh
		 *     Success: Password reset for 1 user.
		 *
		 *     # Reset the password for one user, displaying only the new password, and not sending the change email.
		 *     $ wp user reset-password admin --skip-email --porcelain
		 *     yV6BP*!d70wg
		 *
		 *     # Reset password for all users.
		 *     $ wp user reset-password $(wp user list --format=ids)
		 *     Reset password for admin.
		 *     Reset password for editor.
		 *     Reset password for subscriber.
		 *     Success: Passwords reset for 3 users.
		 *
		 *     # Reset password for all users with a particular role.
		 *     $ wp user reset-password $(wp user list --format=ids --role=administrator)
		 *     Reset password for admin.
		 *     Success: Password reset for 1 user.
		 *
		 * @subcommand reset-password
		 */
		public function reset_password( $args, $assoc_args ) {      }
		/**
		 * Accommodates three different behaviors for wp_new_user_notification()
		 * - 4.3.1 and above: expect second argument to be deprecated
		 * - 4.3: Second argument was repurposed as $notify
		 * - Below 4.3: Send the password in the notification
		 *
		 * @param string $user_id
		 * @param string $password
		 */
		public static function wp_new_user_notification( $user_id, $password ) {        }
		/**
		 * Marks one or more users as spam on multisite.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : The user login, user email, or user ID of the user(s) to mark as spam.
		 *
		 * ## EXAMPLES
		 *
		 *     # Mark user as spam.
		 *     $ wp user spam 123
		 *     User 123 marked as spam.
		 *     Success: Spammed 1 of 1 users.
		 */
		public function spam( $args ) {         }
		/**
		 * Removes one or more users from spam on multisite.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : The user login, user email, or user ID of the user(s) to remove from spam.
		 *
		 * ## EXAMPLES
		 *
		 *     # Remove user from spam.
		 *     $ wp user unspam 123
		 *     User 123 removed from spam.
		 *     Success: Unspamed 1 of 1 users.
		 */
		public function unspam( $args ) {       }
		/**
		 * Checks if a user's password is valid or not.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email or user ID of the user to check credentials for.
		 *
		 * <user_pass>
		 * : A string that contains the plain text password for the user.
		 *
		 * [--escape-chars]
		 * : Escape password with `wp_slash()` to mimic the same behavior as `wp-login.php`.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether given credentials are valid; exit status 0 if valid, otherwise 1
		 *     $ wp user check-password admin adminpass
		 *     $ echo $?
		 *     1
		 *
		 *     # Bash script for checking whether given credentials are valid or not
		 *     if ! $(wp user check-password admin adminpass); then
		 *      notify-send "Invalid Credentials";
		 *     fi
		 *
		 * @subcommand check-password
		 */
		public function check_password( $args, $assoc_args ) {      }
	}
	/**
	 * Perform network-wide operations.
	 *
	 * ## EXAMPLES
	 *
	 *     # Get a list of super-admins
	 *     $ wp network meta get 1 site_admins
	 *     array (
	 *       0 => 'supervisor',
	 *     )
	 */
	class Network_Namespace extends \WP_CLI\Dispatcher\CommandNamespace {

	}
	/**
	 * Adds, updates, removes, and lists post terms.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set category post term `test` to the post ID 123
	 *     $ wp post term set 123 test category
	 *     Success: Set term.
	 *
	 *     # Set category post terms `test` and `apple` to the post ID 123
	 *     $ wp post term set 123 test apple category
	 *     Success: Set terms.
	 *
	 *     # List category post terms for the post ID 123
	 *     $ wp post term list 123 category --fields=term_id,slug
	 *     +---------+-------+
	 *     | term_id | slug  |
	 *     +---------+-------+
	 *     | 2       | apple |
	 *     | 3       | test  |
	 *     +----------+------+
	 *
	 *     # Remove category post terms `test` and `apple` for the post ID 123
	 *     $ wp post term remove 123 category test apple
	 *     Success: Removed terms.
	 */
	class Post_Term_Command extends \WP_CLI\CommandWithTerms {

		protected $obj_type = 'post';
		public function __construct() {         }
		protected function get_object_type() {      }
	}
	/**
	 * Lists, creates, assigns, and deletes the active theme's navigation menus.
	 *
	 * See the [Navigation Menus](https://developer.wordpress.org/themes/functionality/navigation-menus/) reference in the Theme Handbook.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a new menu
	 *     $ wp menu create "My Menu"
	 *     Success: Created menu 200.
	 *
	 *     # List existing menus
	 *     $ wp menu list
	 *     +---------+----------+----------+-----------+-------+
	 *     | term_id | name     | slug     | locations | count |
	 *     +---------+----------+----------+-----------+-------+
	 *     | 200     | My Menu  | my-menu  |           | 0     |
	 *     | 177     | Top Menu | top-menu | primary   | 7     |
	 *     +---------+----------+----------+-----------+-------+
	 *
	 *     # Create a new menu link item
	 *     $ wp menu item add-custom my-menu Apple http://apple.com --porcelain
	 *     1922
	 *
	 *     # Assign the 'my-menu' menu to the 'primary' location
	 *     $ wp menu location assign my-menu primary
	 *     Success: Assigned location primary to menu my-menu.
	 *
	 * @package wp-cli
	 */
	class Menu_Command extends \WP_CLI_Command {

		protected $obj_type   = 'nav_menu';
		protected $obj_fields = array( 'term_id', 'name', 'slug', 'locations', 'count' );
		/**
		 * Creates a new menu.
		 *
		 * ## OPTIONS
		 *
		 * <menu-name>
		 * : A descriptive name for the menu.
		 *
		 * [--porcelain]
		 * : Output just the new menu id.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu create "My Menu"
		 *     Success: Created menu 200.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Deletes one or more menus.
		 *
		 * ## OPTIONS
		 *
		 * <menu>...
		 * : The name, slug, or term ID for the menu(s).
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu delete "My Menu"
		 *     Deleted menu 'My Menu'.
		 *     Success: Deleted 1 of 1 menus.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Gets a list of menus.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - ids
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each menu:
		 *
		 * * term_id
		 * * name
		 * * slug
		 * * count
		 *
		 * These fields are optionally available:
		 *
		 * * term_group
		 * * term_taxonomy_id
		 * * taxonomy
		 * * description
		 * * parent
		 * * locations
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu list
		 *     +---------+----------+----------+-----------+-------+
		 *     | term_id | name     | slug     | locations | count |
		 *     +---------+----------+----------+-----------+-------+
		 *     | 200     | My Menu  | my-menu  |           | 0     |
		 *     | 177     | Top Menu | top-menu | primary   | 7     |
		 *     +---------+----------+----------+-----------+-------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		protected function get_formatter( &$assoc_args ) {      }
	}
	/**
	 * Creates, updates, deletes, lists and retrieves application passwords.
	 *
	 * ## EXAMPLES
	 *
	 *     # List user application passwords and only show app name and password hash
	 *     $ wp user application-password list 123 --fields=name,password
	 *     +--------+------------------------------------+
	 *     | name   | password                           |
	 *     +--------+------------------------------------+
	 *     | myapp  | $P$BVGeou1CUot114YohIemgpwxQCzb8O/ |
	 *     +--------+------------------------------------+
	 *
	 *     # Get a specific application password and only show app name and created timestamp
	 *     $ wp user application-password get 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --fields=name,created
	 *     +--------+------------+
	 *     | name   | created    |
	 *     +--------+------------+
	 *     | myapp  | 1638395611 |
	 *     +--------+------------+
	 *
	 *     # Create user application password
	 *     $ wp user application-password create 123 myapp
	 *     Success: Created application password.
	 *     Password: ZG1bxdxdzjTwhsY8vK8l1C65
	 *
	 *     # Only print the password without any chrome
	 *     $ wp user application-password create 123 myapp --porcelain
	 *     ZG1bxdxdzjTwhsY8vK8l1C65
	 *
	 *     # Update an existing application password
	 *     $ wp user application-password update 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --name=newappname
	 *     Success: Updated application password.
	 *
	 *     # Delete an existing application password
	 *     $ wp user application-password delete 123 6633824d-c1d7-4f79-9dd5-4586f734d69e
	 *     Success: Deleted 1 of 1 application password.
	 *
	 *     # Check if an application password for a given application exists
	 *     $ wp user application-password exists 123 myapp
	 *     $ echo $?
	 *     1
	 *
	 *     # Bash script for checking whether an application password exists and creating one if not
	 *     if ! wp user application-password exists 123 myapp; then
	 *         PASSWORD=$(wp user application-password create 123 myapp --porcelain)
	 *     fi
	 */
	final class User_Application_Password_Command {

		/**
		 * List of application password fields.
		 *
		 * @var array<string>
		 */
		const APPLICATION_PASSWORD_FIELDS = array( 'uuid', 'app_id', 'name', 'password', 'created', 'last_used', 'last_ip' );
		/**
		 * Lists all application passwords associated with a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to get application passwords for.
		 *
		 * [--<field>=<value>]
		 * : Filter the list by a specific field.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each application password.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 *   - ids
		 * ---
		 *
		 * [--orderby=<fields>]
		 * : Set orderby which field.
		 * ---
		 * default: created
		 * options:
		 *  - uuid
		 *  - app_id
		 *  - name
		 *  - password
		 *  - created
		 *  - last_used
		 *  - last_ip
		 * ---
		 *
		 * [--order=<order>]
		 * : Set ascending or descending order.
		 * ---
		 * default: desc
		 * options:
		 *  - asc
		 *  - desc
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # List user application passwords and only show app name and password hash
		 *     $ wp user application-password list 123 --fields=name,password
		 *     +--------+------------------------------------+
		 *     | name   | password                           |
		 *     +--------+------------------------------------+
		 *     | myapp  | $P$BVGeou1CUot114YohIemgpwxQCzb8O/ |
		 *     +--------+------------------------------------+
		 *
		 * @subcommand list
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the user could not be found/parsed.
		 * @throws ExitException If the application passwords could not be retrieved.
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets a specific application password.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to get the application password for.
		 *
		 * <uuid>
		 * : The universally unique ID of the application password.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for the application password.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get a specific application password and only show app name and created timestamp
		 *     $ wp user application-password get 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --fields=name,created
		 *     +--------+------------+
		 *     | name   | created    |
		 *     +--------+------------+
		 *     | myapp  | 1638395611 |
		 *     +--------+------------+
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application passwords could not be retrieved.
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Creates a new application password.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to create a new application password for.
		 *
		 * <app-name>
		 * : Unique name of the application to create an application password for.
		 *
		 * [--app-id=<app-id>]
		 * : Application ID to attribute to the application password.
		 *
		 * [--porcelain]
		 * : Output just the new password.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create user application password
		 *     $ wp user application-password create 123 myapp
		 *     Success: Created application password.
		 *     Password: ZG1bxdxdzjTwhsY8vK8l1C65
		 *
		 *     # Only print the password without any chrome
		 *     $ wp user application-password create 123 myapp --porcelain
		 *     ZG1bxdxdzjTwhsY8vK8l1C65
		 *
		 *     # Create user application with a custom application ID for internal tracking
		 *     $ wp user application-password create 123 myapp --app-id=42 --porcelain
		 *     ZG1bxdxdzjTwhsY8vK8l1C65
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application password could not be created.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Updates an existing application password.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to update the application password for.
		 *
		 * <uuid>
		 * : The universally unique ID of the application password.
		 *
		 * [--<field>=<value>]
		 * : Update the <field> with a new <value>. Currently supported fields: name.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update an existing application password
		 *     $ wp user application-password update 123 6633824d-c1d7-4f79-9dd5-4586f734d69e --name=newappname
		 *     Success: Updated application password.
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application password could not be created.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Record usage of an application password.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to update the application password for.
		 *
		 * <uuid>
		 * : The universally unique ID of the application password.
		 *
		 * ## EXAMPLES
		 *
		 *     # Record usage of an application password
		 *     $ wp user application-password record-usage 123 6633824d-c1d7-4f79-9dd5-4586f734d69e
		 *     Success: Recorded application password usage.
		 *
		 * @subcommand record-usage
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application password could not be created.
		 */
		public function record_usage( $args, $assoc_args ) {        }
		/**
		 * Delete an existing application password.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to delete the application password for.
		 *
		 * [<uuid>...]
		 * : Comma-separated list of UUIDs of the application passwords to delete.
		 *
		 * [--all]
		 * : Delete all of the user's application password.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete an existing application password
		 *     $ wp user application-password delete 123 6633824d-c1d7-4f79-9dd5-4586f734d69e
		 *     Success: Deleted 1 of 1 application password.
		 *
		 *     # Delete all of the user's application passwords
		 *     $ wp user application-password delete 123 --all
		 *     Success: Deleted all application passwords.
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application password could not be created.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Checks whether an application password for a given application exists.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to check the existence of an application password for.
		 *
		 * <app-name>
		 * : Name of the application to check the existence of an application password for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check if an application password for a given application exists
		 *     $ wp user application-password exists 123 myapp
		 *     $ echo $?
		 *     1
		 *
		 *     # Bash script for checking whether an application password exists and creating one if not
		 *     if ! wp user application-password exists 123 myapp; then
		 *         PASSWORD=$(wp user application-password create 123 myapp --porcelain)
		 *     fi
		 *
		 * @param array $args       Indexed array of positional arguments.
		 * @param array $assoc_args Associative array of associative arguments.
		 * @throws ExitException If the application password could not be created.
		 */
		public function exists( $args, $assoc_args ) {      }
	}
	/**
	 * Adds, updates, removes, and lists user terms.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set user terms
	 *     $ wp user term set 123 test category
	 *     Success: Set terms.
	 */
	class User_Term_Command extends \WP_CLI\CommandWithTerms {

		protected $obj_type = 'user';
	}
	/**
	 * Creates, updates, deletes, and moderates comments.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a new comment.
	 *     $ wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli"
	 *     Success: Created comment 932.
	 *
	 *     # Update an existing comment.
	 *     $ wp comment update 123 --comment_author='That Guy'
	 *     Success: Updated comment 123.
	 *
	 *     # Delete an existing comment.
	 *     $ wp comment delete 1337 --force
	 *     Success: Deleted comment 1337.
	 *
	 *     # Trash all spam comments.
	 *     $ wp comment delete $(wp comment list --status=spam --format=ids)
	 *     Success: Trashed comment 264.
	 *     Success: Trashed comment 262.
	 *
	 * @package wp-cli
	 */
	class Comment_Command extends \WP_CLI\CommandWithDBObject {

		protected $obj_type   = 'comment';
		protected $obj_id_key = 'comment_ID';
		protected $obj_fields = array( 'comment_ID', 'comment_post_ID', 'comment_date', 'comment_approved', 'comment_author', 'comment_author_email' );
		public function __construct() {         }
		/**
		 * Creates a new comment.
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : Associative args for the new comment. See wp_insert_comment().
		 *
		 * [--porcelain]
		 * : Output just the new comment id.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create comment.
		 *     $ wp comment create --comment_post_ID=15 --comment_content="hello blog" --comment_author="wp-cli"
		 *     Success: Created comment 932.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Updates one or more comments.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : One or more IDs of comments to update.
		 *
		 * --<field>=<value>
		 * : One or more fields to update. See wp_update_comment().
		 *
		 * ## EXAMPLES
		 *
		 *     # Update comment.
		 *     $ wp comment update 123 --comment_author='That Guy'
		 *     Success: Updated comment 123.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Generates some number of new dummy comments.
		 *
		 * Creates a specified number of new comments with dummy data.
		 *
		 * ## OPTIONS
		 *
		 * [--count=<number>]
		 * : How many comments to generate?
		 * ---
		 * default: 100
		 * ---
		 *
		 * [--post_id=<post-id>]
		 * : Assign comments to a specific post.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: progress
		 * options:
		 *   - progress
		 *   - ids
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate comments for the given post.
		 *     $ wp comment generate --format=ids --count=3 --post_id=123
		 *     138 139 140
		 *
		 *     # Add meta to every generated comment.
		 *     $ wp comment generate --format=ids --count=3 | xargs -d ' ' -I % wp comment meta add % foo bar
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 */
		public function generate( $args, $assoc_args ) {        }
		/**
		 * Gets the data of a single comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The comment to get.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole comment, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get comment.
		 *     $ wp comment get 21 --field=content
		 *     Thanks for all the comments, everyone!
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Gets a list of comments.
		 *
		 * Display comments based on all arguments supported by
		 * [WP_Comment_Query()](https://developer.wordpress.org/reference/classes/WP_Comment_Query/__construct/).
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : One or more args to pass to WP_Comment_Query.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each comment.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - ids
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each comment:
		 *
		 * * comment_ID
		 * * comment_post_ID
		 * * comment_date
		 * * comment_approved
		 * * comment_author
		 * * comment_author_email
		 *
		 * These fields are optionally available:
		 *
		 * * comment_author_url
		 * * comment_author_IP
		 * * comment_date_gmt
		 * * comment_content
		 * * comment_karma
		 * * comment_agent
		 * * comment_type
		 * * comment_parent
		 * * user_id
		 * * url
		 *
		 * ## EXAMPLES
		 *
		 *     # List comment IDs.
		 *     $ wp comment list --field=ID
		 *     22
		 *     23
		 *     24
		 *
		 *     # List comments of a post.
		 *     $ wp comment list --post_id=1 --fields=ID,comment_date,comment_author
		 *     +------------+---------------------+----------------+
		 *     | comment_ID | comment_date        | comment_author |
		 *     +------------+---------------------+----------------+
		 *     | 1          | 2015-06-20 09:00:10 | Mr WordPress   |
		 *     +------------+---------------------+----------------+
		 *
		 *     # List approved comments.
		 *     $ wp comment list --number=3 --status=approve --fields=ID,comment_date,comment_author
		 *     +------------+---------------------+----------------+
		 *     | comment_ID | comment_date        | comment_author |
		 *     +------------+---------------------+----------------+
		 *     | 1          | 2015-06-20 09:00:10 | Mr WordPress   |
		 *     | 30         | 2013-03-14 12:35:07 | John Doe       |
		 *     | 29         | 2013-03-14 11:56:08 | Jane Doe       |
		 *     +------------+---------------------+----------------+
		 *
		 *     # List unapproved comments.
		 *     $ wp comment list --number=3 --status=hold --fields=ID,comment_date,comment_author
		 *     +------------+---------------------+----------------+
		 *     | comment_ID | comment_date        | comment_author |
		 *     +------------+---------------------+----------------+
		 *     | 8          | 2023-11-10 13:13:06 | John Doe       |
		 *     | 7          | 2023-11-10 13:09:55 | Mr WordPress   |
		 *     | 9          | 2023-11-10 11:22:31 | Jane Doe       |
		 *     +------------+---------------------+----------------+
		 *
		 *     # List comments marked as spam.
		 *     $ wp comment list --status=spam --fields=ID,comment_date,comment_author
		 *     +------------+---------------------+----------------+
		 *     | comment_ID | comment_date        | comment_author |
		 *     +------------+---------------------+----------------+
		 *     | 2          | 2023-11-10 11:22:31 | Jane Doe       |
		 *     +------------+---------------------+----------------+
		 *
		 *     # List comments in trash.
		 *     $ wp comment list --status=trash --fields=ID,comment_date,comment_author
		 *     +------------+---------------------+----------------+
		 *     | comment_ID | comment_date        | comment_author |
		 *     +------------+---------------------+----------------+
		 *     | 3          | 2023-11-10 11:22:31 | John Doe       |
		 *     +------------+---------------------+----------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Deletes a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : One or more IDs of comments to delete.
		 *
		 * [--force]
		 * : Skip the trash bin.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete comment.
		 *     $ wp comment delete 1337 --force
		 *     Success: Deleted comment 1337.
		 *
		 *     # Delete multiple comments.
		 *     $ wp comment delete 1337 2341 --force
		 *     Success: Deleted comment 1337.
		 *     Success: Deleted comment 2341.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Trashes a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to trash.
		 *
		 * ## EXAMPLES
		 *
		 *     # Trash comment.
		 *     $ wp comment trash 1337
		 *     Success: Trashed comment 1337.
		 */
		public function trash( $args, $assoc_args ) {       }
		/**
		 * Untrashes a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to untrash.
		 *
		 * ## EXAMPLES
		 *
		 *     # Untrash comment.
		 *     $ wp comment untrash 1337
		 *     Success: Untrashed comment 1337.
		 */
		public function untrash( $args, $assoc_args ) {         }
		/**
		 * Marks a comment as spam.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to mark as spam.
		 *
		 * ## EXAMPLES
		 *
		 *     # Spam comment.
		 *     $ wp comment spam 1337
		 *     Success: Marked as spam comment 1337.
		 */
		public function spam( $args, $assoc_args ) {        }
		/**
		 * Unmarks a comment as spam.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to unmark as spam.
		 *
		 * ## EXAMPLES
		 *
		 *     # Unspam comment.
		 *     $ wp comment unspam 1337
		 *     Success: Unspammed comment 1337.
		 */
		public function unspam( $args, $assoc_args ) {      }
		/**
		 * Approves a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to approve.
		 *
		 * ## EXAMPLES
		 *
		 *     # Approve comment.
		 *     $ wp comment approve 1337
		 *     Success: Approved comment 1337.
		 */
		public function approve( $args, $assoc_args ) {         }
		/**
		 * Unapproves a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : The IDs of the comments to unapprove.
		 *
		 * ## EXAMPLES
		 *
		 *     # Unapprove comment.
		 *     $ wp comment unapprove 1337
		 *     Success: Unapproved comment 1337.
		 */
		public function unapprove( $args, $assoc_args ) {       }
		/**
		 * Counts comments, on whole blog or on a given post.
		 *
		 * ## OPTIONS
		 *
		 * [<post-id>]
		 * : The ID of the post to count comments in.
		 *
		 * ## EXAMPLES
		 *
		 *     # Count comments on whole blog.
		 *     $ wp comment count
		 *     approved:        33
		 *     spam:            3
		 *     trash:           1
		 *     post-trashed:    0
		 *     all:             34
		 *     moderated:       1
		 *     total_comments:  37
		 *
		 *     # Count comments in a post.
		 *     $ wp comment count 42
		 *     approved:        19
		 *     spam:            0
		 *     trash:           0
		 *     post-trashed:    0
		 *     all:             19
		 *     moderated:       0
		 *     total_comments:  19
		 */
		public function count( $args, $assoc_args ) {       }
		/**
		 * Recalculates the comment_count value for one or more posts.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : IDs for one or more posts to update.
		 *
		 * ## EXAMPLES
		 *
		 *     # Recount comment for the post.
		 *     $ wp comment recount 123
		 *     Updated post 123 comment count to 67.
		 */
		public function recount( $args ) {      }
		/**
		 * Gets the status of a comment.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the comment to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get status of comment.
		 *     $ wp comment status 1337
		 *     approved
		 */
		public function status( $args, $assoc_args ) {      }
		/**
		 * Verifies whether a comment exists.
		 *
		 * Displays a success message if the comment does exist.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the comment to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether comment exists.
		 *     $ wp comment exists 1337
		 *     Success: Comment with ID 1337 exists.
		 */
		public function exists( $args ) {       }
	}
	/**
	 * Assigns, removes, and lists a menu's locations.
	 *
	 * ## EXAMPLES
	 *
	 *     # List available menu locations
	 *     $ wp menu location list
	 *     +----------+-------------------+
	 *     | location | description       |
	 *     +----------+-------------------+
	 *     | primary  | Primary Menu      |
	 *     | social   | Social Links Menu |
	 *     +----------+-------------------+
	 *
	 *     # Assign the 'primary-menu' menu to the 'primary' location
	 *     $ wp menu location assign primary-menu primary
	 *     Success: Assigned location primary to menu primary-menu.
	 *
	 *     # Remove the 'primary-menu' menu from the 'primary' location
	 *     $ wp menu location remove primary-menu primary
	 *     Success: Removed location from menu.
	 */
	class Menu_Location_Command extends \WP_CLI_Command {

		/**
		 * Lists locations for the current theme.
		 *
		 * ## OPTIONS
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 *   - ids
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each location:
		 *
		 * * name
		 * * description
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu location list
		 *     +----------+-------------------+
		 *     | location | description       |
		 *     +----------+-------------------+
		 *     | primary  | Primary Menu      |
		 *     | social   | Social Links Menu |
		 *     +----------+-------------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Assigns a location to a menu.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * <location>
		 * : Location's slug.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu location assign primary-menu primary
		 *     Success: Assigned location primary to menu primary-menu.
		 *
		 * @subcommand assign
		 */
		public function assign( $args, $assoc_args ) {      }
		/**
		 * Removes a location from a menu.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * <location>
		 * : Location's slug.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu location remove primary-menu primary
		 *     Success: Removed location from menu.
		 *
		 * @subcommand remove
		 */
		public function remove( $args, $assoc_args ) {      }
	}
	/**
	 * List, add, and delete items associated with a menu.
	 *
	 * ## EXAMPLES
	 *
	 *     # Add an existing post to an existing menu
	 *     $ wp menu item add-post sidebar-menu 33 --title="Custom Test Post"
	 *     Success: Menu item added.
	 *
	 *     # Create a new menu link item
	 *     $ wp menu item add-custom sidebar-menu Apple http://apple.com
	 *     Success: Menu item added.
	 *
	 *     # Delete menu item
	 *     $ wp menu item delete 45
	 *     Success: Deleted 1 of 1 menu items.
	 */
	class Menu_Item_Command extends \WP_CLI_Command {

		protected $obj_fields = array( 'db_id', 'type', 'title', 'link', 'position' );
		/**
		 * Gets a list of items associated with a menu.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - ids
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each menu item:
		 *
		 * * db_id
		 * * type
		 * * title
		 * * link
		 * * position
		 *
		 * These fields are optionally available:
		 *
		 * * menu_item_parent
		 * * object_id
		 * * object
		 * * type
		 * * type_label
		 * * target
		 * * attr_title
		 * * description
		 * * classes
		 * * xfn
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item list main-menu
		 *     +-------+-----------+-------------+---------------------------------+----------+
		 *     | db_id | type      | title       | link                            | position |
		 *     +-------+-----------+-------------+---------------------------------+----------+
		 *     | 5     | custom    | Home        | http://example.com              | 1        |
		 *     | 6     | post_type | Sample Page | http://example.com/sample-page/ | 2        |
		 *     +-------+-----------+-------------+---------------------------------+----------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Adds a post as a menu item.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * <post-id>
		 * : Post ID to add to the menu.
		 *
		 * [--title=<title>]
		 * : Set a custom title for the menu item.
		 *
		 * [--link=<link>]
		 * : Set a custom url for the menu item.
		 *
		 * [--description=<description>]
		 * : Set a custom description for the menu item.
		 *
		 * [--attr-title=<attr-title>]
		 * : Set a custom title attribute for the menu item.
		 *
		 * [--target=<target>]
		 * : Set a custom link target for the menu item.
		 *
		 * [--classes=<classes>]
		 * : Set a custom link classes for the menu item.
		 *
		 * [--position=<position>]
		 * : Specify the position of this menu item.
		 *
		 * [--parent-id=<parent-id>]
		 * : Make this menu item a child of another menu item.
		 *
		 * [--porcelain]
		 * : Output just the new menu item id.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item add-post sidebar-menu 33 --title="Custom Test Post"
		 *     Success: Menu item added.
		 *
		 * @subcommand add-post
		 */
		public function add_post( $args, $assoc_args ) {        }
		/**
		 * Adds a taxonomy term as a menu item.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * <taxonomy>
		 * : Taxonomy of the term to be added.
		 *
		 * <term-id>
		 * : Term ID of the term to be added.
		 *
		 * [--title=<title>]
		 * : Set a custom title for the menu item.
		 *
		 * [--link=<link>]
		 * : Set a custom url for the menu item.
		 *
		 * [--description=<description>]
		 * : Set a custom description for the menu item.
		 *
		 * [--attr-title=<attr-title>]
		 * : Set a custom title attribute for the menu item.
		 *
		 * [--target=<target>]
		 * : Set a custom link target for the menu item.
		 *
		 * [--classes=<classes>]
		 * : Set a custom link classes for the menu item.
		 *
		 * [--position=<position>]
		 * : Specify the position of this menu item.
		 *
		 * [--parent-id=<parent-id>]
		 * : Make this menu item a child of another menu item.
		 *
		 * [--porcelain]
		 * : Output just the new menu item id.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item add-term sidebar-menu post_tag 24
		 *     Success: Menu item added.
		 *
		 * @subcommand add-term
		 */
		public function add_term( $args, $assoc_args ) {        }
		/**
		 * Adds a custom menu item.
		 *
		 * ## OPTIONS
		 *
		 * <menu>
		 * : The name, slug, or term ID for the menu.
		 *
		 * <title>
		 * : Title for the link.
		 *
		 * <link>
		 * : Target URL for the link.
		 *
		 * [--description=<description>]
		 * : Set a custom description for the menu item.
		 *
		 * [--attr-title=<attr-title>]
		 * : Set a custom title attribute for the menu item.
		 *
		 * [--target=<target>]
		 * : Set a custom link target for the menu item.
		 *
		 * [--classes=<classes>]
		 * : Set a custom link classes for the menu item.
		 *
		 * [--position=<position>]
		 * : Specify the position of this menu item.
		 *
		 * [--parent-id=<parent-id>]
		 * : Make this menu item a child of another menu item.
		 *
		 * [--porcelain]
		 * : Output just the new menu item id.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item add-custom sidebar-menu Apple http://apple.com
		 *     Success: Menu item added.
		 *
		 * @subcommand add-custom
		 */
		public function add_custom( $args, $assoc_args ) {      }
		/**
		 * Updates a menu item.
		 *
		 * ## OPTIONS
		 *
		 * <db-id>
		 * : Database ID for the menu item.
		 *
		 * [--title=<title>]
		 * : Set a custom title for the menu item.
		 *
		 * [--link=<link>]
		 * : Set a custom url for the menu item.
		 *
		 * [--description=<description>]
		 * : Set a custom description for the menu item.
		 *
		 * [--attr-title=<attr-title>]
		 * : Set a custom title attribute for the menu item.
		 *
		 * [--target=<target>]
		 * : Set a custom link target for the menu item.
		 *
		 * [--classes=<classes>]
		 * : Set a custom link classes for the menu item.
		 *
		 * [--position=<position>]
		 * : Specify the position of this menu item.
		 *
		 * [--parent-id=<parent-id>]
		 * : Make this menu item a child of another menu item.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item update 45 --title=WordPress --link='http://wordpress.org' --target=_blank --position=2
		 *     Success: Menu item updated.
		 *
		 * @subcommand update
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Deletes one or more items from a menu.
		 *
		 * ## OPTIONS
		 *
		 * <db-id>...
		 * : Database ID for the menu item(s).
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp menu item delete 45
		 *     Success: Deleted 1 of 1 menu items.
		 *
		 * @subcommand delete
		 */
		public function delete( $args, $assoc_args ) {      }
		protected function get_formatter( &$assoc_args ) {      }
	}
	/**
	 * Adds, updates, deletes, and lists post custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set post meta
	 *     $ wp post meta set 123 _wp_page_template about.php
	 *     Success: Updated custom field '_wp_page_template'.
	 *
	 *     # Get post meta
	 *     $ wp post meta get 123 _wp_page_template
	 *     about.php
	 *
	 *     # Update post meta
	 *     $ wp post meta update 123 _wp_page_template contact.php
	 *     Success: Updated custom field '_wp_page_template'.
	 *
	 *     # Delete post meta
	 *     $ wp post meta delete 123 _wp_page_template
	 *     Success: Deleted custom field.
	 */
	class Post_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'post';
		/**
		 * Check that the post ID exists
		 *
		 * @param int
		 */
		protected function check_object_id( $object_id ) {      }
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = \false ) {       }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = \false ) {       }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
		/**
		 * Cleans up duplicate post meta values on a post.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : ID of the post to clean.
		 *
		 * <key>
		 * : Meta key to clean up.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete duplicate post meta.
		 *     wp post meta clean-duplicates 1234 enclosure
		 *     Success: Cleaned up duplicate 'enclosure' meta values.
		 *
		 * @subcommand clean-duplicates
		 */
		public function clean_duplicates( $args, $assoc_args ) {        }
	}
	/**
	 * Manages taxonomy terms and term meta, with create, delete, and list commands.
	 *
	 * See reference for [taxonomies and their terms](https://codex.wordpress.org/Taxonomies).
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a new term.
	 *     $ wp term create category Apple --description="A type of fruit"
	 *     Success: Created category 199.
	 *
	 *     # Get details about a term.
	 *     $ wp term get category 199 --format=json --fields=term_id,name,slug,count
	 *     {"term_id":199,"name":"Apple","slug":"apple","count":1}
	 *
	 *     # Update an existing term.
	 *     $ wp term update category 15 --name=Apple
	 *     Success: Term updated.
	 *
	 *     # Get the term's URL.
	 *     $ wp term list post_tag --include=123 --field=url
	 *     http://example.com/tag/tips-and-tricks
	 *
	 *     # Delete post category
	 *     $ wp term delete category 15
	 *     Success: Deleted category 15.
	 *
	 *     # Recount posts assigned to each categories and tags
	 *     $ wp term recount category post_tag
	 *     Success: Updated category term count
	 *     Success: Updated post_tag term count
	 *
	 * @package wp-cli
	 */
	class Term_Command extends \WP_CLI_Command {

		/**
		 * Lists terms in a taxonomy.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>...
		 * : List terms of one or more taxonomies
		 *
		 * [--<field>=<value>]
		 * : Filter by one or more fields (see get_terms() $args parameter for a list of fields).
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each term.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each term:
		 *
		 * * term_id
		 * * term_taxonomy_id
		 * * name
		 * * slug
		 * * description
		 * * parent
		 * * count
		 *
		 * These fields are optionally available:
		 *
		 * * url
		 *
		 * ## EXAMPLES
		 *
		 *     # List post categories
		 *     $ wp term list category --format=csv
		 *     term_id,term_taxonomy_id,name,slug,description,parent,count
		 *     2,2,aciform,aciform,,0,1
		 *     3,3,antiquarianism,antiquarianism,,0,1
		 *     4,4,arrangement,arrangement,,0,1
		 *     5,5,asmodeus,asmodeus,,0,1
		 *
		 *     # List post tags
		 *     $ wp term list post_tag --fields=name,slug
		 *     +-----------+-------------+
		 *     | name      | slug        |
		 *     +-----------+-------------+
		 *     | 8BIT      | 8bit        |
		 *     | alignment | alignment-2 |
		 *     | Articles  | articles    |
		 *     | aside     | aside       |
		 *     +-----------+-------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Creates a new term.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : Taxonomy for the new term.
		 *
		 * <term>
		 * : A name for the new term.
		 *
		 * [--slug=<slug>]
		 * : A unique slug for the new term. Defaults to sanitized version of name.
		 *
		 * [--description=<description>]
		 * : A description for the new term.
		 *
		 * [--parent=<term-id>]
		 * : A parent for the new term.
		 *
		 * [--porcelain]
		 * : Output just the new term id.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create a new category "Apple" with a description.
		 *     $ wp term create category Apple --description="A type of fruit"
		 *     Success: Created category 199.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Gets details about a term.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : Taxonomy of the term to get
		 *
		 * <term>
		 * : ID or slug of the term to get
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: id
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole term, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get details about a category with id 199.
		 *     $ wp term get category 199 --format=json
		 *     {"term_id":199,"name":"Apple","slug":"apple","term_group":0,"term_taxonomy_id":199,"taxonomy":"category","description":"A type of fruit","parent":0,"count":0,"filter":"raw"}
		 *
		 *     # Get details about a category with slug apple.
		 *     $ wp term get category apple --by=slug --format=json
		 *     {"term_id":199,"name":"Apple","slug":"apple","term_group":0,"term_taxonomy_id":199,"taxonomy":"category","description":"A type of fruit","parent":0,"count":0,"filter":"raw"}
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Updates an existing term.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : Taxonomy of the term to update.
		 *
		 * <term>
		 * : ID or slug for the term to update.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: id
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 *
		 * [--name=<name>]
		 * : A new name for the term.
		 *
		 * [--slug=<slug>]
		 * : A new slug for the term.
		 *
		 * [--description=<description>]
		 * : A new description for the term.
		 *
		 * [--parent=<term-id>]
		 * : A new parent for the term.
		 *
		 * ## EXAMPLES
		 *
		 *     # Change category with id 15 to use the name "Apple"
		 *     $ wp term update category 15 --name=Apple
		 *     Success: Term updated.
		 *
		 *     # Change category with slug apple to use the name "Apple"
		 *     $ wp term update category apple --by=slug --name=Apple
		 *     Success: Term updated.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Deletes an existing term.
		 *
		 * Errors if the term doesn't exist, or there was a problem in deleting it.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : Taxonomy of the term to delete.
		 *
		 * <term>...
		 * : One or more IDs or slugs of terms to delete.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: id
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete post category by id
		 *     $ wp term delete category 15
		 *     Deleted category 15.
		 *     Success: Deleted 1 of 1 terms.
		 *
		 *     # Delete post category by slug
		 *     $ wp term delete category apple --by=slug
		 *     Deleted category 15.
		 *     Success: Deleted 1 of 1 terms.
		 *
		 *     # Delete all post tags
		 *     $ wp term list post_tag --field=term_id | xargs wp term delete post_tag
		 *     Deleted post_tag 159.
		 *     Deleted post_tag 160.
		 *     Deleted post_tag 161.
		 *     Success: Deleted 3 of 3 terms.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Generates some terms.
		 *
		 * Creates a specified number of new terms with dummy data.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : The taxonomy for the generated terms.
		 *
		 * [--count=<number>]
		 * : How many terms to generate?
		 * ---
		 * default: 100
		 * ---
		 *
		 * [--max_depth=<number>]
		 * : Generate child terms down to a certain depth.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: progress
		 * options:
		 *   - progress
		 *   - ids
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate post categories.
		 *     $ wp term generate category --count=10
		 *     Generating terms  100% [=========] 0:02 / 0:02
		 *
		 *     # Add meta to every generated term.
		 *     $ wp term generate category --format=ids --count=3 | xargs -d ' ' -I % wp term meta add % foo bar
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 */
		public function generate( $args, $assoc_args ) {        }
		/**
		 * Recalculates number of posts assigned to each term.
		 *
		 * In instances where manual updates are made to the terms assigned to
		 * posts in the database, the number of posts associated with a term
		 * can become out-of-sync with the actual number of posts.
		 *
		 * This command runs wp_update_term_count() on the taxonomy's terms
		 * to bring the count back to the correct value.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>...
		 * : One or more taxonomies to recalculate.
		 *
		 * ## EXAMPLES
		 *
		 *     # Recount posts assigned to each categories and tags
		 *     $ wp term recount category post_tag
		 *     Success: Updated category term count.
		 *     Success: Updated post_tag term count.
		 *
		 *     # Recount all listed taxonomies
		 *     $ wp taxonomy list --field=name | xargs wp term recount
		 *     Success: Updated category term count.
		 *     Success: Updated post_tag term count.
		 *     Success: Updated nav_menu term count.
		 *     Success: Updated link_category term count.
		 *     Success: Updated post_format term count.
		 */
		public function recount( $args ) {      }
		/**
		 * Migrate a term of a taxonomy to another taxonomy.
		 *
		 * ## OPTIONS
		 *
		 * <term>
		 * : Slug or ID of the term to migrate.
		 *
		 * [--by=<field>]
		 * : Explicitly handle the term value as a slug or id.
		 * ---
		 * default: id
		 * options:
		 *   - slug
		 *   - id
		 * ---
		 *
		 * [--from=<taxonomy>]
		 * : Taxonomy slug of the term to migrate.
		 *
		 * [--to=<taxonomy>]
		 * : Taxonomy slug to migrate to.
		 *
		 * ## EXAMPLES
		 *
		 *     # Migrate a category's term (video) to tag taxonomy.
		 *     $ wp term migrate 9190 --from=category --to=post_tag
		 *     Term 'video' assigned to post 1155.
		 *     Term 'video' migrated.
		 *     Old instance of term 'video' removed from its original taxonomy.
		 *     Success: Migrated the term 'video' from taxonomy 'category' to taxonomy 'post_tag' for 1 post.
		 */
		public function migrate( $args, $assoc_args ) {         }
	}
	/**
	 * Adds, updates, deletes, and lists user custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Add user meta
	 *     $ wp user meta add 123 bio "Mary is an WordPress developer."
	 *     Success: Added custom field.
	 *
	 *     # List user meta
	 *     $ wp user meta list 123 --keys=nickname,description,wp_capabilities
	 *     +---------+-----------------+--------------------------------+
	 *     | user_id | meta_key        | meta_value                     |
	 *     +---------+-----------------+--------------------------------+
	 *     | 123     | nickname        | supervisor                     |
	 *     | 123     | description     | Mary is a WordPress developer. |
	 *     | 123     | wp_capabilities | {"administrator":true}         |
	 *     +---------+-----------------+--------------------------------+
	 *
	 *     # Update user meta
	 *     $ wp user meta update 123 bio "Mary is an awesome WordPress developer."
	 *     Success: Updated custom field 'bio'.
	 *
	 *     # Delete user meta
	 *     $ wp user meta delete 123 bio
	 *     Success: Deleted custom field.
	 */
	class User_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'user';
		public function __construct() {         }
		/**
		 * Lists all metadata associated with a user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to get metadata for.
		 *
		 * [--keys=<keys>]
		 * : Limit output to metadata of specific keys.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific row fields. Defaults to id,meta_key,meta_value.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * [--orderby=<fields>]
		 * : Set orderby which field.
		 * ---
		 * default: id
		 * options:
		 *  - id
		 *  - meta_key
		 *  - meta_value
		 * ---
		 *
		 * [--order=<order>]
		 * : Set ascending or descending order.
		 * ---
		 * default: asc
		 * options:
		 *  - asc
		 *  - desc
		 * ---
		 *
		 * [--unserialize]
		 * : Unserialize meta_value output.
		 *
		 * ## EXAMPLES
		 *
		 *     # List user meta
		 *     $ wp user meta list 123 --keys=nickname,description,wp_capabilities
		 *     +---------+-----------------+--------------------------------+
		 *     | user_id | meta_key        | meta_value                     |
		 *     +---------+-----------------+--------------------------------+
		 *     | 123     | nickname        | supervisor                     |
		 *     | 123     | description     | Mary is a WordPress developer. |
		 *     | 123     | wp_capabilities | {"administrator":true}         |
		 *     +---------+-----------------+--------------------------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets meta field value.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to get metadata for.
		 *
		 * <key>
		 * : The metadata key.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get user meta
		 *     $ wp user meta get 123 bio
		 *     Mary is an WordPress developer.
		 *
		 *     # Get the primary site of a user (for multisite)
		 *     $ wp user meta get 2 primary_blog
		 *     3
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Deletes a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to delete metadata from.
		 *
		 * <key>
		 * : The metadata key.
		 *
		 * [<value>]
		 * : The value to delete. If omitted, all rows with key will deleted.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete user meta
		 *     $ wp user meta delete 123 bio
		 *     Success: Deleted custom field.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Adds a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to add metadata for.
		 *
		 * <key>
		 * : The metadata key.
		 *
		 * <value>
		 * : The new metadata value.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add user meta
		 *     $ wp user meta add 123 bio "Mary is an WordPress developer."
		 *     Success: Added custom field.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Updates a meta field.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : The user login, user email, or user ID of the user to update metadata for.
		 *
		 * <key>
		 * : The metadata key.
		 *
		 * <value>
		 * : The new metadata value.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Update user meta
		 *     $ wp user meta update 123 bio "Mary is an awesome WordPress developer."
		 *     Success: Updated custom field 'bio'.
		 *
		 * @alias set
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = \false ) {       }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = \false ) {       }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
	}
	/**
	 * Creates, deletes, empties, moderates, and lists one or more sites on a multisite installation.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create site
	 *     $ wp site create --slug=example
	 *     Success: Site 3 created: www.example.com/example/
	 *
	 *     # Output a simple list of site URLs
	 *     $ wp site list --field=url
	 *     http://www.example.com/
	 *     http://www.example.com/subdir/
	 *
	 *     # Delete site
	 *     $ wp site delete 123
	 *     Are you sure you want to delete the 'http://www.example.com/example' site? [y/n] y
	 *     Success: The site at 'http://www.example.com/example' was deleted.
	 *
	 * @package wp-cli
	 */
	class Site_Command extends \WP_CLI\CommandWithDBObject {

		protected $obj_type   = 'site';
		protected $obj_id_key = 'blog_id';
		public function __construct() {         }
		/**
		 * Empties a site of its content (posts, comments, terms, and meta).
		 *
		 * Truncates posts, comments, and terms tables to empty a site of its
		 * content. Doesn't affect site configuration (options) or users.
		 *
		 * If running a persistent object cache, make sure to flush the cache
		 * after emptying the site, as the cache values will be invalid otherwise.
		 *
		 * To also empty custom database tables, you'll need to hook into command
		 * execution:
		 *
		 * ```
		 * WP_CLI::add_hook( 'after_invoke:site empty', function(){
		 *     global $wpdb;
		 *     foreach( array( 'p2p', 'p2pmeta' ) as $table ) {
		 *         $table = $wpdb->$table;
		 *         $wpdb->query( "TRUNCATE $table" );
		 *     }
		 * });
		 * ```
		 *
		 * ## OPTIONS
		 *
		 * [--uploads]
		 * : Also delete *all* files in the site's uploads directory.
		 *
		 * [--yes]
		 * : Proceed to empty the site without a confirmation prompt.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site empty
		 *     Are you sure you want to empty the site at http://www.example.com of all posts, links, comments, and terms? [y/n] y
		 *     Success: The site at 'http://www.example.com' was emptied.
		 *
		 * @subcommand empty
		 */
		public function empty_( $args, $assoc_args ) {      }
		/**
		 * Deletes a site in a multisite installation.
		 *
		 * ## OPTIONS
		 *
		 * [<site-id>]
		 * : The id of the site to delete. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be deleted. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * [--yes]
		 * : Answer yes to the confirmation message.
		 *
		 * [--keep-tables]
		 * : Delete the blog from the list, but don't drop its tables.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site delete 123
		 *     Are you sure you want to delete the http://www.example.com/example site? [y/n] y
		 *     Success: The site at 'http://www.example.com/example' was deleted.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Creates a site in a multisite installation.
		 *
		 * ## OPTIONS
		 *
		 * --slug=<slug>
		 * : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * [--title=<title>]
		 * : Title of the new site. Default: prettified slug.
		 *
		 * [--email=<email>]
		 * : Email for admin user. User will be created if none exists. Assignment to super admin if not included.
		 *
		 * [--network_id=<network-id>]
		 * : Network to associate new site with. Defaults to current network (typically 1).
		 *
		 * [--private]
		 * : If set, the new site will be non-public (not indexed)
		 *
		 * [--porcelain]
		 * : If set, only the site id will be output on success.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site create --slug=example
		 *     Success: Site 3 created: http://www.example.com/example/
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Generate some sites.
		 *
		 * Creates a specified number of new sites.
		 *
		 * ## OPTIONS
		 *
		 * [--count=<number>]
		 * : How many sites to generates?
		 * ---
		 * default: 100
		 * ---
		 *
		 * [--slug=<slug>]
		 * : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * [--email=<email>]
		 * : Email for admin user. User will be created if none exists. Assignment to super admin if not included.
		 *
		 * [--network_id=<network-id>]
		 * : Network to associate new site with. Defaults to current network (typically 1).
		 *
		 * [--private]
		 * : If set, the new site will be non-public (not indexed)
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: progress
		 * options:
		 *  - progress
		 *  - ids
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *    # Generate 10 sites.
		 *    $ wp site generate --count=10
		 *    Generating sites  100% [================================================] 0:01 / 0:04
		 */
		public function generate( $args, $assoc_args ) {        }
		/**
		 * Lists all sites in a multisite installation.
		 *
		 * ## OPTIONS
		 *
		 * [--network=<id>]
		 * : The network to which the sites belong.
		 *
		 * [--<field>=<value>]
		 * : Filter by one or more fields (see "Available Fields" section). However,
		 * 'url' isn't an available filter, as it comes from 'home' in wp_options.
		 *
		 * [--site__in=<value>]
		 * : Only list the sites with these blog_id values (comma-separated).
		 *
		 * [--site_user=<value>]
		 * : Only list the sites with this user.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each site.
		 *
		 * [--fields=<fields>]
		 * : Comma-separated list of fields to show.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - count
		 *   - ids
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each site:
		 *
		 * * blog_id
		 * * url
		 * * last_updated
		 * * registered
		 *
		 * These fields are optionally available:
		 *
		 * * site_id
		 * * domain
		 * * path
		 * * public
		 * * archived
		 * * mature
		 * * spam
		 * * deleted
		 * * lang_id
		 *
		 * ## EXAMPLES
		 *
		 *     # Output a simple list of site URLs
		 *     $ wp site list --field=url
		 *     http://www.example.com/
		 *     http://www.example.com/subdir/
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Archives one or more sites.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to archive. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to archive. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site archive 123
		 *     Success: Site 123 archived.
		 *
		 *     $ wp site archive --slug=demo
		 *     Success: Site 123 archived.
		 */
		public function archive( $args, $assoc_args ) {         }
		/**
		 * Unarchives one or more sites.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to unarchive. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to unarchive. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site unarchive 123
		 *     Success: Site 123 unarchived.
		 *
		 *     $ wp site unarchive --slug=demo
		 *     Success: Site 123 unarchived.
		 */
		public function unarchive( $args, $assoc_args ) {       }
		/**
		 * Activates one or more sites.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to activate. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be activated. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site activate 123
		 *     Success: Site 123 activated.
		 *
		 *      $ wp site activate --slug=demo
		 *      Success: Site 123 marked as activated.
		 */
		public function activate( $args, $assoc_args ) {        }
		/**
		 * Deactivates one or more sites.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to deactivate. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be deactivated. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site deactivate 123
		 *     Success: Site 123 deactivated.
		 *
		 *     $ wp site deactivate --slug=demo
		 *     Success: Site 123 deactivated.
		 */
		public function deactivate( $args, $assoc_args ) {      }
		/**
		 * Marks one or more sites as spam.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to be marked as spam. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be marked as spam. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site spam 123
		 *     Success: Site 123 marked as spam.
		 */
		public function spam( $args, $assoc_args ) {        }
		/**
		 * Removes one or more sites from spam.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to remove from spam. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be removed from spam. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site unspam 123
		 *     Success: Site 123 removed from spam.
		 *
		 * @subcommand unspam
		 */
		public function unspam( $args, $assoc_args ) {      }
		/**
		 * Sets one or more sites as mature.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to set as mature. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be set as mature. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site mature 123
		 *     Success: Site 123 marked as mature.
		 *
		 *     $ wp site mature --slug=demo
		 *     Success: Site 123 marked as mature.
		 */
		public function mature( $args, $assoc_args ) {      }
		/**
		 * Sets one or more sites as immature.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to set as unmature. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be set as unmature. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site unmature 123
		 *     Success: Site 123 marked as unmature.
		 *
		 *     $ wp site unmature --slug=demo
		 *     Success: Site 123 marked as unmature.
		 */
		public function unmature( $args, $assoc_args ) {        }
		/**
		 * Sets one or more sites as public.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to set as public. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be set as public. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site public 123
		 *     Success: Site 123 marked as public.
		 *
		 *      $ wp site public --slug=demo
		 *      Success: Site 123 marked as public.
		 *
		 * @subcommand public
		 */
		public function set_public( $args, $assoc_args ) {      }
		/**
		 * Sets one or more sites as private.
		 *
		 * ## OPTIONS
		 *
		 * [<id>...]
		 * : One or more IDs of sites to set as private. If not provided, you must set the --slug parameter.
		 *
		 * [--slug=<slug>]
		 * : Path of the site to be set as private. Subdomain on subdomain installs, directory on subdirectory installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site private 123
		 *     Success: Site 123 marked as private.
		 *
		 *     $ wp site private --slug=demo
		 *     Success: Site 123 marked as private.
		 *
		 * @subcommand private
		 */
		public function set_private( $args, $assoc_args ) {         }
	}
	/**
	 * Adds, updates, deletes, and lists term custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set term meta
	 *     $ wp term meta set 123 bio "Mary is a WordPress developer."
	 *     Success: Updated custom field 'bio'.
	 *
	 *     # Get term meta
	 *     $ wp term meta get 123 bio
	 *     Mary is a WordPress developer.
	 *
	 *     # Update term meta
	 *     $ wp term meta update 123 bio "Mary is an awesome WordPress developer."
	 *     Success: Updated custom field 'bio'.
	 *
	 *     # Delete term meta
	 *     $ wp term meta delete 123 bio
	 *     Success: Deleted custom field.
	 */
	class Term_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'term';
		/**
		 * Check that the term ID exists
		 *
		 * @param int
		 */
		protected function check_object_id( $object_id ) {      }
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = \false ) {       }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = \false ) {       }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
	}
	/**
	 * Adds, updates, deletes, and lists site custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set site meta
	 *     $ wp site meta set 123 bio "Mary is a WordPress developer."
	 *     Success: Updated custom field 'bio'.
	 *
	 *     # Get site meta
	 *     $ wp site meta get 123 bio
	 *     Mary is a WordPress developer.
	 *
	 *     # Update site meta
	 *     $ wp site meta update 123 bio "Mary is an awesome WordPress developer."
	 *     Success: Updated custom field 'bio'.
	 *
	 *     # Delete site meta
	 *     $ wp site meta delete 123 bio
	 *     Success: Deleted custom field.
	 */
	class Site_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'blog';
		/**
		 * Check that the site ID exists
		 *
		 * @param int
		 */
		protected function check_object_id( $object_id ) {      }
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = \false ) {       }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = \false ) {       }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
	}
	/**
	 * Retrieves information about registered taxonomies.
	 *
	 * See references for [built-in taxonomies](https://developer.wordpress.org/themes/basics/categories-tags-custom-taxonomies/) and [custom taxonomies](https://developer.wordpress.org/plugins/taxonomies/working-with-custom-taxonomies/).
	 *
	 * ## EXAMPLES
	 *
	 *     # List all taxonomies with 'post' object type.
	 *     $ wp taxonomy list --object_type=post --fields=name,public
	 *     +-------------+--------+
	 *     | name        | public |
	 *     +-------------+--------+
	 *     | category    | 1      |
	 *     | post_tag    | 1      |
	 *     | post_format | 1      |
	 *     +-------------+--------+
	 *
	 *     # Get capabilities of 'post_tag' taxonomy.
	 *     $ wp taxonomy get post_tag --field=cap
	 *     {"manage_terms":"manage_categories","edit_terms":"manage_categories","delete_terms":"manage_categories","assign_terms":"edit_posts"}
	 *
	 * @package wp-cli
	 */
	class Taxonomy_Command extends \WP_CLI_Command {

		public function __construct() {         }
		/**
		 * Gets the term counts for each supplied taxonomy.
		 *
		 * @param array $taxonomies Taxonomies to fetch counts for.
		 * @return array Associative array of term counts keyed by taxonomy.
		 */
		protected function get_counts( $taxonomies ) {      }
		/**
		 * Lists registered taxonomies.
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : Filter by one or more fields (see get_taxonomies() first parameter for a list of available fields).
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each taxonomy.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific taxonomy fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each term:
		 *
		 * * name
		 * * label
		 * * description
		 * * object_type
		 * * show_tagcloud
		 * * hierarchical
		 * * public
		 *
		 * These fields are optionally available:
		 *
		 * * count
		 *
		 * ## EXAMPLES
		 *
		 *     # List all taxonomies.
		 *     $ wp taxonomy list --format=csv
		 *     name,label,description,object_type,show_tagcloud,hierarchical,public
		 *     category,Categories,,post,1,1,1
		 *     post_tag,Tags,,post,1,,1
		 *     nav_menu,"Navigation Menus",,nav_menu_item,,,
		 *     link_category,"Link Categories",,link,1,,
		 *     post_format,Format,,post,,,1
		 *
		 *     # List all taxonomies with 'post' object type.
		 *     $ wp taxonomy list --object_type=post --fields=name,public
		 *     +-------------+--------+
		 *     | name        | public |
		 *     +-------------+--------+
		 *     | category    | 1      |
		 *     | post_tag    | 1      |
		 *     | post_format | 1      |
		 *     +-------------+--------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets details about a registered taxonomy.
		 *
		 * ## OPTIONS
		 *
		 * <taxonomy>
		 * : Taxonomy slug.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole taxonomy, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for the specified taxonomy:
		 *
		 * * name
		 * * label
		 * * description
		 * * object_type
		 * * show_tagcloud
		 * * hierarchical
		 * * public
		 * * labels
		 * * cap
		 *
		 * These fields are optionally available:
		 *
		 * * count
		 *
		 * ## EXAMPLES
		 *
		 *     # Get details of `category` taxonomy.
		 *     $ wp taxonomy get category --fields=name,label,object_type
		 *     +-------------+------------+
		 *     | Field       | Value      |
		 *     +-------------+------------+
		 *     | name        | category   |
		 *     | label       | Categories |
		 *     | object_type | ["post"]   |
		 *     +-------------+------------+
		 *
		 *     # Get capabilities of 'post_tag' taxonomy.
		 *     $ wp taxonomy get post_tag --field=cap
		 *     {"manage_terms":"manage_categories","edit_terms":"manage_categories","delete_terms":"manage_categories","assign_terms":"edit_posts"}
		 */
		public function get( $args, $assoc_args ) {         }
	}
	/**
	 * Manages posts, content, and meta.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a new post.
	 *     $ wp post create --post_type=post --post_title='A sample post'
	 *     Success: Created post 123.
	 *
	 *     # Update an existing post.
	 *     $ wp post update 123 --post_status=draft
	 *     Success: Updated post 123.
	 *
	 *     # Delete an existing post.
	 *     $ wp post delete 123
	 *     Success: Trashed post 123.
	 *
	 * @package wp-cli
	 */
	class Post_Command extends \WP_CLI\CommandWithDBObject {

		protected $obj_type   = 'post';
		protected $obj_fields = array( 'ID', 'post_title', 'post_name', 'post_date', 'post_status' );
		public function __construct() {         }
		/**
		 * Creates a new post.
		 *
		 * ## OPTIONS
		 *
		 * [--post_author=<post_author>]
		 * : The ID of the user who added the post. Default is the current user ID.
		 *
		 * [--post_date=<post_date>]
		 * : The date of the post. Default is the current time.
		 *
		 * [--post_date_gmt=<post_date_gmt>]
		 * : The date of the post in the GMT timezone. Default is the value of $post_date.
		 *
		 * [--post_content=<post_content>]
		 * : The post content. Default empty.
		 *
		 * [--post_content_filtered=<post_content_filtered>]
		 * : The filtered post content. Default empty.
		 *
		 * [--post_title=<post_title>]
		 * : The post title. Default empty.
		 *
		 * [--post_excerpt=<post_excerpt>]
		 * : The post excerpt. Default empty.
		 *
		 * [--post_status=<post_status>]
		 * : The post status. Default 'draft'.
		 *
		 * [--post_type=<post_type>]
		 * : The post type. Default 'post'.
		 *
		 * [--comment_status=<comment_status>]
		 * : Whether the post can accept comments. Accepts 'open' or 'closed'. Default is the value of 'default_comment_status' option.
		 *
		 * [--ping_status=<ping_status>]
		 * : Whether the post can accept pings. Accepts 'open' or 'closed'. Default is the value of 'default_ping_status' option.
		 *
		 * [--post_password=<post_password>]
		 * : The password to access the post. Default empty.
		 *
		 * [--post_name=<post_name>]
		 * : The post name. Default is the sanitized post title when creating a new post.
		 *
		 * [--from-post=<post_id>]
		 * : Post id of a post to be duplicated.
		 *
		 * [--to_ping=<to_ping>]
		 * : Space or carriage return-separated list of URLs to ping. Default empty.
		 *
		 * [--pinged=<pinged>]
		 * : Space or carriage return-separated list of URLs that have been pinged. Default empty.
		 *
		 * [--post_modified=<post_modified>]
		 * : The date when the post was last modified. Default is the current time.
		 *
		 * [--post_modified_gmt=<post_modified_gmt>]
		 * : The date when the post was last modified in the GMT timezone. Default is the current time.
		 *
		 * [--post_parent=<post_parent>]
		 * : Set this for the post it belongs to, if any. Default 0.
		 *
		 * [--menu_order=<menu_order>]
		 * : The order the post should be displayed in. Default 0.
		 *
		 * [--post_mime_type=<post_mime_type>]
		 * : The mime type of the post. Default empty.
		 *
		 * [--guid=<guid>]
		 * : Global Unique ID for referencing the post. Default empty.
		 *
		 * [--post_category=<post_category>]
		 * : Array of category names, slugs, or IDs. Defaults to value of the 'default_category' option.
		 *
		 * [--tags_input=<tags_input>]
		 * : Array of tag names, slugs, or IDs. Default empty.
		 *
		 * [--tax_input=<tax_input>]
		 * : Array of taxonomy terms keyed by their taxonomy name. Default empty.
		 *
		 * [--meta_input=<meta_input>]
		 * : Array in JSON format of post meta values keyed by their post meta key. Default empty.
		 *
		 * [<file>]
		 * : Read post content from <file>. If this value is present, the
		 *     `--post_content` argument will be ignored.
		 *
		 *   Passing `-` as the filename will cause post content to
		 *   be read from STDIN.
		 *
		 * [--<field>=<value>]
		 * : Associative args for the new post. See wp_insert_post().
		 *
		 * [--edit]
		 * : Immediately open system's editor to write or edit post content.
		 *
		 *   If content is read from a file, from STDIN, or from the `--post_content`
		 *   argument, that text will be loaded into the editor.
		 *
		 * [--porcelain]
		 * : Output just the new post id.
		 *
		 *
		 * ## EXAMPLES
		 *
		 *     # Create post and schedule for future
		 *     $ wp post create --post_type=post --post_title='A future post' --post_status=future --post_date='2030-12-01 07:00:00'
		 *     Success: Created post 1921.
		 *
		 *     # Create post with content from given file
		 *     $ wp post create ./post-content.txt --post_category=201,345 --post_title='Post from file'
		 *     Success: Created post 1922.
		 *
		 *     # Create a post with multiple meta values.
		 *     $ wp post create --post_title='A post' --post_content='Just a small post.' --meta_input='{"key1":"value1","key2":"value2"}'
		 *     Success: Created post 1923.
		 *
		 *     # Create a duplicate post from existing posts.
		 *     $ wp post create --from-post=123 --post_title='Different Title'
		 *     Success: Created post 2350.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Updates one or more existing posts.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : One or more IDs of posts to update.
		 *
		 * [--post_author=<post_author>]
		 * : The ID of the user who added the post. Default is the current user ID.
		 *
		 * [--post_date=<post_date>]
		 * : The date of the post. Default is the current time.
		 *
		 * [--post_date_gmt=<post_date_gmt>]
		 * : The date of the post in the GMT timezone. Default is the value of $post_date.
		 *
		 * [--post_content=<post_content>]
		 * : The post content. Default empty.
		 *
		 * [--post_content_filtered=<post_content_filtered>]
		 * : The filtered post content. Default empty.
		 *
		 * [--post_title=<post_title>]
		 * : The post title. Default empty.
		 *
		 * [--post_excerpt=<post_excerpt>]
		 * : The post excerpt. Default empty.
		 *
		 * [--post_status=<post_status>]
		 * : The post status. Default 'draft'.
		 *
		 * [--post_type=<post_type>]
		 * : The post type. Default 'post'.
		 *
		 * [--comment_status=<comment_status>]
		 * : Whether the post can accept comments. Accepts 'open' or 'closed'. Default is the value of 'default_comment_status' option.
		 *
		 * [--ping_status=<ping_status>]
		 * : Whether the post can accept pings. Accepts 'open' or 'closed'. Default is the value of 'default_ping_status' option.
		 *
		 * [--post_password=<post_password>]
		 * : The password to access the post. Default empty.
		 *
		 * [--post_name=<post_name>]
		 * : The post name. Default is the sanitized post title when creating a new post.
		 *
		 * [--to_ping=<to_ping>]
		 * : Space or carriage return-separated list of URLs to ping. Default empty.
		 *
		 * [--pinged=<pinged>]
		 * : Space or carriage return-separated list of URLs that have been pinged. Default empty.
		 *
		 * [--post_modified=<post_modified>]
		 * : The date when the post was last modified. Default is the current time.
		 *
		 * [--post_modified_gmt=<post_modified_gmt>]
		 * : The date when the post was last modified in the GMT timezone. Default is the current time.
		 *
		 * [--post_parent=<post_parent>]
		 * : Set this for the post it belongs to, if any. Default 0.
		 *
		 * [--menu_order=<menu_order>]
		 * : The order the post should be displayed in. Default 0.
		 *
		 * [--post_mime_type=<post_mime_type>]
		 * : The mime type of the post. Default empty.
		 *
		 * [--guid=<guid>]
		 * : Global Unique ID for referencing the post. Default empty.
		 *
		 * [--post_category=<post_category>]
		 * : Array of category names, slugs, or IDs. Defaults to value of the 'default_category' option.
		 *
		 * [--tags_input=<tags_input>]
		 * : Array of tag names, slugs, or IDs. Default empty.
		 *
		 * [--tax_input=<tax_input>]
		 * : Array of taxonomy terms keyed by their taxonomy name. Default empty.
		 *
		 * [--meta_input=<meta_input>]
		 * : Array in JSON format of post meta values keyed by their post meta key. Default empty.
		 *
		 * [<file>]
		 * : Read post content from <file>. If this value is present, the
		 *     `--post_content` argument will be ignored.
		 *
		 *   Passing `-` as the filename will cause post content to
		 *   be read from STDIN.
		 *
		 * --<field>=<value>
		 * : One or more fields to update. See wp_insert_post().
		 *
		 * [--defer-term-counting]
		 * : Recalculate term count in batch, for a performance boost.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp post update 123 --post_name=something --post_status=draft
		 *     Success: Updated post 123.
		 *
		 *     # Update a post with multiple meta values.
		 *     $ wp post update 123 --meta_input='{"key1":"value1","key2":"value2"}'
		 *     Success: Updated post 123.
		 *
		 *     # Update multiple posts at once.
		 *     $ wp post update 123 456 --post_author=789
		 *     Success: Updated post 123.
		 *     Success: Updated post 456.
		 *
		 *     # Update all posts of a given post type at once.
		 *     $ wp post update $(wp post list --post_type=page --format=ids) --post_author=123
		 *     Success: Updated post 123.
		 *     Success: Updated post 456.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Launches system editor to edit post content.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the post to edit.
		 *
		 * ## EXAMPLES
		 *
		 *     # Launch system editor to edit post
		 *     $ wp post edit 123
		 */
		public function edit( $args, $assoc_args ) {        }
        // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore -- Whitelisting to provide backward compatibility to classes possibly extending this class.
		protected function _edit( $content, $title ) {      }
		/**
		 * Gets details about a post.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the post to get.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole post, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Save the post content to a file
		 *     $ wp post get 123 --field=content > file.txt
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Deletes an existing post.
		 *
		 * ## OPTIONS
		 *
		 * <id>...
		 * : One or more IDs of posts to delete.
		 *
		 * [--force]
		 * : Skip the trash bin.
		 *
		 * [--defer-term-counting]
		 * : Recalculate term count in batch, for a performance boost.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete post skipping trash
		 *     $ wp post delete 123 --force
		 *     Success: Deleted post 123.
		 *
		 *     # Delete multiple posts
		 *     $ wp post delete 123 456 789
		 *     Success: Trashed post 123.
		 *     Success: Trashed post 456.
		 *     Success: Trashed post 789.
		 *
		 *     # Delete all pages
		 *     $ wp post delete $(wp post list --post_type='page' --format=ids)
		 *     Success: Trashed post 1164.
		 *     Success: Trashed post 1186.
		 *
		 *     # Delete all posts in the trash
		 *     $ wp post delete $(wp post list --post_status=trash --format=ids)
		 *     Success: Deleted post 1268.
		 *     Success: Deleted post 1294.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Callback used to delete a post.
		 *
		 * @param $post_id
		 * @param $assoc_args
		 * @return array
		 */
		protected function delete_callback( $post_id, $assoc_args ) {       }
		/**
		 * Gets a list of posts.
		 *
		 * Display posts based on all arguments supported by [WP_Query()](https://developer.wordpress.org/reference/classes/wp_query/).
		 * Only shows post types marked as post by default.
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : One or more args to pass to WP_Query.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each post.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each post:
		 *
		 * * ID
		 * * post_title
		 * * post_name
		 * * post_date
		 * * post_status
		 *
		 * These fields are optionally available:
		 *
		 * * post_author
		 * * post_date_gmt
		 * * post_content
		 * * post_excerpt
		 * * comment_status
		 * * ping_status
		 * * post_password
		 * * to_ping
		 * * pinged
		 * * post_modified
		 * * post_modified_gmt
		 * * post_content_filtered
		 * * post_parent
		 * * guid
		 * * menu_order
		 * * post_type
		 * * post_mime_type
		 * * comment_count
		 * * filter
		 * * url
		 *
		 * ## EXAMPLES
		 *
		 *     # List post
		 *     $ wp post list --field=ID
		 *     568
		 *     829
		 *     1329
		 *     1695
		 *
		 *     # List posts in JSON
		 *     $ wp post list --post_type=post --posts_per_page=5 --format=json
		 *     [{"ID":1,"post_title":"Hello world!","post_name":"hello-world","post_date":"2015-06-20 09:00:10","post_status":"publish"},{"ID":1178,"post_title":"Markup: HTML Tags and Formatting","post_name":"markup-html-tags-and-formatting","post_date":"2013-01-11 20:22:19","post_status":"draft"}]
		 *
		 *     # List all pages
		 *     $ wp post list --post_type=page --fields=post_title,post_status
		 *     +-------------+-------------+
		 *     | post_title  | post_status |
		 *     +-------------+-------------+
		 *     | Sample Page | publish     |
		 *     +-------------+-------------+
		 *
		 *     # List ids of all pages and posts
		 *     $ wp post list --post_type=page,post --format=ids
		 *     15 25 34 37 198
		 *
		 *     # List given posts
		 *     $ wp post list --post__in=1,3
		 *     +----+--------------+-------------+---------------------+-------------+
		 *     | ID | post_title   | post_name   | post_date           | post_status |
		 *     +----+--------------+-------------+---------------------+-------------+
		 *     | 3  | Lorem Ipsum  | lorem-ipsum | 2016-06-01 14:34:36 | publish     |
		 *     | 1  | Hello world! | hello-world | 2016-06-01 14:31:12 | publish     |
		 *     +----+--------------+-------------+---------------------+-------------+
		 *
		 *     # List given post by a specific author
		 *     $ wp post list --author=2
		 *     +----+-------------------+-------------------+---------------------+-------------+
		 *     | ID | post_title        | post_name         | post_date           | post_status |
		 *     +----+-------------------+-------------------+---------------------+-------------+
		 *     | 14 | New documentation | new-documentation | 2021-06-18 21:05:11 | publish     |
		 *     +----+-------------------+-------------------+---------------------+-------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Generates some posts.
		 *
		 * Creates a specified number of new posts with dummy data.
		 *
		 * ## OPTIONS
		 *
		 * [--count=<number>]
		 * : How many posts to generate?
		 * ---
		 * default: 100
		 * ---
		 *
		 * [--post_type=<type>]
		 * : The type of the generated posts.
		 * ---
		 * default: post
		 * ---
		 *
		 * [--post_status=<status>]
		 * : The status of the generated posts.
		 * ---
		 * default: publish
		 * ---
		 *
		 * [--post_title=<post_title>]
		 * : The post title.
		 * ---
		 * default:
		 * ---
		 *
		 * [--post_author=<login>]
		 * : The author of the generated posts.
		 * ---
		 * default:
		 * ---
		 *
		 * [--post_date=<yyyy-mm-dd-hh-ii-ss>]
		 * : The date of the post. Default is the current time.
		 *
		 * [--post_date_gmt=<yyyy-mm-dd-hh-ii-ss>]
		 * : The date of the post in the GMT timezone. Default is the value of --post_date.
		 *
		 * [--post_content]
		 * : If set, the command reads the post_content from STDIN.
		 *
		 * [--max_depth=<number>]
		 * : For hierarchical post types, generate child posts down to a certain depth.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: progress
		 * options:
		 *   - progress
		 *   - ids
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate posts.
		 *     $ wp post generate --count=10 --post_type=page --post_date=1999-01-04
		 *     Generating posts  100% [================================================] 0:01 / 0:04
		 *
		 *     # Generate posts with fetched content.
		 *     $ curl -N https://loripsum.net/api/5 | wp post generate --post_content --count=10
		 *       % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
		 *                                      Dload  Upload   Total   Spent    Left  Speed
		 *     100  2509  100  2509    0     0    616      0  0:00:04  0:00:04 --:--:--   616
		 *     Generating posts  100% [================================================] 0:01 / 0:04
		 *
		 *     # Add meta to every generated posts.
		 *     $ wp post generate --format=ids | xargs -d ' ' -I % wp post meta add % foo bar
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 *     Success: Added custom field.
		 */
		public function generate( $args, $assoc_args ) {        }
		/**
		 * Gets the post ID for a given URL.
		 *
		 * ## OPTIONS
		 *
		 * <url>
		 * : The URL of the post to get.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get post ID by URL
		 *     $ wp post url-to-id https://example.com/?p=1
		 *     1
		 *
		 * @subcommand url-to-id
		 */
		public function url_to_id( $args, $assoc_args ) {       }
		/**
		 * Verifies whether a post exists.
		 *
		 * Displays a success message if the post does exist.
		 *
		 * ## OPTIONS
		 *
		 * <id>
		 * : The ID of the post to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # The post exists.
		 *     $ wp post exists 1337
		 *     Success: Post with ID 1337 exists.
		 *     $ echo $?
		 *     0
		 *
		 *     # The post does not exist.
		 *     $ wp post exists 10000
		 *     $ echo $?
		 *     1
		 */
		public function exists( $args ) {       }
	}
	/**
	 * Adds, updates, deletes, and lists comment custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set comment meta
	 *     $ wp comment meta set 123 description "Mary is a WordPress developer."
	 *     Success: Updated custom field 'description'.
	 *
	 *     # Get comment meta
	 *     $ wp comment meta get 123 description
	 *     Mary is a WordPress developer.
	 *
	 *     # Update comment meta
	 *     $ wp comment meta update 123 description "Mary is an awesome WordPress developer."
	 *     Success: Updated custom field 'description'.
	 *
	 *     # Delete comment meta
	 *     $ wp comment meta delete 123 description
	 *     Success: Deleted custom field.
	 */
	class Comment_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'comment';
		/**
		 * Wrapper method for add_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param bool   $unique     Optional, default is false. Whether the
		 *                           specified metadata key should be unique for the
		 *                           object. If true, and the object already has a
		 *                           value for the specified metadata key, no change
		 *                           will be made.
		 *
		 * @return int|false The meta ID on success, false on failure.
		 */
		protected function add_metadata( $object_id, $meta_key, $meta_value, $unique = \false ) {       }
		/**
		 * Wrapper method for update_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object the metadata is for.
		 * @param string $meta_key   Metadata key to use.
		 * @param mixed  $meta_value Metadata value. Must be serializable if
		 *                           non-scalar.
		 * @param mixed  $prev_value Optional. If specified, only update existing
		 *                           metadata entries with the specified value.
		 *                           Otherwise, update all entries.
		 *
		 * @return int|bool Meta ID if the key didn't exist, true on successful
		 *                  update, false on failure.
		 */
		protected function update_metadata( $object_id, $meta_key, $meta_value, $prev_value = '' ) {        }
		/**
		 * Wrapper method for get_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id ID of the object the metadata is for.
		 * @param string $meta_key  Optional. Metadata key. If not specified,
		 *                          retrieve all metadata for the specified object.
		 * @param bool   $single    Optional, default is false. If true, return only
		 *                          the first value of the specified meta_key. This
		 *                          parameter has no effect if meta_key is not
		 *                          specified.
		 *
		 * @return mixed Single metadata value, or array of values.
		 */
		protected function get_metadata( $object_id, $meta_key = '', $single = \false ) {       }
		/**
		 * Wrapper method for delete_metadata that can be overridden in sub classes.
		 *
		 * @param int    $object_id  ID of the object metadata is for
		 * @param string $meta_key   Metadata key
		 * @param mixed  $meta_value  Optional. Metadata value. Must be serializable
		 *                            if non-scalar. If specified, only delete
		 *                            metadata entries with this value. Otherwise,
		 *                            delete all entries with the specified meta_key.
		 *                            Pass `null, `false`, or an empty string to skip
		 *                            this check. For backward compatibility, it is
		 *                            not possible to pass an empty string to delete
		 *                            those entries with an empty string for a value.
		 *
		 * @return bool True on successful delete, false on failure.
		 */
		protected function delete_metadata( $object_id, $meta_key, $meta_value = '' ) {         }
		/**
		 * Check that the comment ID exists
		 *
		 * @param int
		 */
		protected function check_object_id( $object_id ) {      }
	}
	/**
	 * Gets, adds, updates, deletes, and lists network custom fields.
	 *
	 * ## EXAMPLES
	 *
	 *     # Get a list of super-admins
	 *     $ wp network meta get 1 site_admins
	 *     array (
	 *       0 => 'supervisor',
	 *     )
	 */
	class Network_Meta_Command extends \WP_CLI\CommandWithMeta {

		protected $meta_type = 'site';
	}
	/**
	 * Retrieves and sets site options, including plugin and WordPress settings.
	 *
	 * See the [Plugin Settings API](https://developer.wordpress.org/plugins/settings/settings-api/) and the [Theme Options](https://developer.wordpress.org/themes/customize-api/) for more information on adding customized options.
	 *
	 * ## EXAMPLES
	 *
	 *     # Get site URL.
	 *     $ wp option get siteurl
	 *     http://example.com
	 *
	 *     # Add option.
	 *     $ wp option add my_option foobar
	 *     Success: Added 'my_option' option.
	 *
	 *     # Update option.
	 *     $ wp option update my_option '{"foo": "bar"}' --format=json
	 *     Success: Updated 'my_option' option.
	 *
	 *     # Delete option.
	 *     $ wp option delete my_option
	 *     Success: Deleted 'my_option' option.
	 *
	 * @package wp-cli
	 */
	class Option_Command extends \WP_CLI_Command {

		/**
		 * Gets the value for an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the option.
		 *
		 * [--format=<format>]
		 * : Get value in a particular format.
		 * ---
		 * default: var_export
		 * options:
		 *   - var_export
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get option.
		 *     $ wp option get home
		 *     http://example.com
		 *
		 *     # Get blog description.
		 *     $ wp option get blogdescription
		 *     A random blog description
		 *
		 *     # Get blog name
		 *     $ wp option get blogname
		 *     A random blog name
		 *
		 *     # Get admin email.
		 *     $ wp option get admin_email
		 *     someone@example.com
		 *
		 *     # Get option in JSON format.
		 *     $ wp option get active_plugins --format=json
		 *     {"0":"dynamically-dynamic-sidebar\/dynamically-dynamic-sidebar.php","1":"monster-widget\/monster-widget.php","2":"show-current-template\/show-current-template.php","3":"theme-check\/theme-check.php","5":"wordpress-importer\/wordpress-importer.php"}
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Adds a new option value.
		 *
		 * Errors if the option already exists.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the option to add.
		 *
		 * [<value>]
		 * : The value of the option to add. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * [--autoload=<autoload>]
		 * : Should this option be automatically loaded.
		 * ---
		 * options:
		 *   - 'on'
		 *   - 'off'
		 *   - 'yes'
		 *   - 'no'
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Create an option by reading a JSON file.
		 *     $ wp option add my_option --format=json < config.json
		 *     Success: Added 'my_option' option.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Lists options and their values.
		 *
		 * ## OPTIONS
		 *
		 * [--search=<pattern>]
		 * : Use wildcards ( * and ? ) to match option name.
		 *
		 * [--exclude=<pattern>]
		 * : Pattern to exclude. Use wildcards ( * and ? ) to match option name.
		 *
		 * [--autoload=<value>]
		 * : Match only autoload options when value is on, and only not-autoload option when off.
		 *
		 * [--transients]
		 * : List only transients. Use `--no-transients` to ignore all transients.
		 *
		 * [--unserialize]
		 * : Unserialize option values in output.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value. total_bytes displays the total size of matching options in bytes.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - count
		 *   - yaml
		 *   - total_bytes
		 * ---
		 *
		 * [--orderby=<fields>]
		 * : Set orderby which field.
		 * ---
		 * default: option_id
		 * options:
		 *  - option_id
		 *  - option_name
		 *  - option_value
		 * ---
		 *
		 * [--order=<order>]
		 * : Set ascending or descending order.
		 * ---
		 * default: asc
		 * options:
		 *  - asc
		 *  - desc
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * This field will be displayed by default for each matching option:
		 *
		 * * option_name
		 * * option_value
		 *
		 * These fields are optionally available:
		 *
		 * * autoload
		 * * size_bytes
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the total size of all autoload options.
		 *     $ wp option list --autoload=on --format=total_bytes
		 *     33198
		 *
		 *     # Find biggest transients.
		 *     $ wp option list --search="*_transient_*" --fields=option_name,size_bytes | sort -n -k 2 | tail
		 *     option_name size_bytes
		 *     _site_transient_timeout_theme_roots 10
		 *     _site_transient_theme_roots 76
		 *     _site_transient_update_themes   181
		 *     _site_transient_update_core 808
		 *     _site_transient_update_plugins  6645
		 *
		 *     # List all options beginning with "i2f_".
		 *     $ wp option list --search="i2f_*"
		 *     +-------------+--------------+
		 *     | option_name | option_value |
		 *     +-------------+--------------+
		 *     | i2f_version | 0.1.0        |
		 *     +-------------+--------------+
		 *
		 *     # Delete all options beginning with "theme_mods_".
		 *     $ wp option list --search="theme_mods_*" --field=option_name | xargs -I % wp option delete %
		 *     Success: Deleted 'theme_mods_twentysixteen' option.
		 *     Success: Deleted 'theme_mods_twentyfifteen' option.
		 *     Success: Deleted 'theme_mods_twentyfourteen' option.
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Updates an option value.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the option to update.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--autoload=<autoload>]
		 * : Requires WP 4.2. Should this option be automatically loaded.
		 * ---
		 * options:
		 *   - 'on'
		 *   - 'off'
		 *   - 'yes'
		 *   - 'no'
		 * ---
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Update an option by reading from a file.
		 *     $ wp option update my_option < value.txt
		 *     Success: Updated 'my_option' option.
		 *
		 *     # Update one option on multiple sites using xargs.
		 *     $ wp site list --field=url | xargs -n1 -I {} sh -c 'wp --url={} option update my_option my_value'
		 *     Success: Updated 'my_option' option.
		 *     Success: Updated 'my_option' option.
		 *
		 *     # Update site blog name.
		 *     $ wp option update blogname "Random blog name"
		 *     Success: Updated 'blogname' option.
		 *
		 *     # Update site blog description.
		 *     $ wp option update blogdescription "Some random blog description"
		 *     Success: Updated 'blogdescription' option.
		 *
		 *     # Update admin email address.
		 *     $ wp option update admin_email someone@example.com
		 *     Success: Updated 'admin_email' option.
		 *
		 *     # Set the default role.
		 *     $ wp option update default_role author
		 *     Success: Updated 'default_role' option.
		 *
		 *     # Set the timezone string.
		 *     $ wp option update timezone_string "America/New_York"
		 *     Success: Updated 'timezone_string' option.
		 *
		 * @alias set
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Gets the 'autoload' value for an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the option to get 'autoload' of.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the 'autoload' value for an option.
		 *     $ wp option get-autoload blogname
		 *     yes
		 *
		 * @subcommand get-autoload
		 */
		public function get_autoload( $args ) {         }
		/**
		 * Sets the 'autoload' value for an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The name of the option to set 'autoload' for.
		 *
		 * <autoload>
		 * : Should this option be automatically loaded.
		 * ---
		 * options:
		 *   - 'on'
		 *   - 'off'
		 *   - 'yes'
		 *   - 'no'
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Set the 'autoload' value for an option.
		 *     $ wp option set-autoload abc_options no
		 *     Success: Updated autoload value for 'abc_options' option.
		 *
		 * @subcommand set-autoload
		 */
		public function set_autoload( $args ) {         }
		/**
		 * Deletes an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>...
		 * : Key for the option.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete an option.
		 *     $ wp option delete my_option
		 *     Success: Deleted 'my_option' option.
		 *
		 *     # Delete multiple options.
		 *     $ wp option delete option_one option_two option_three
		 *     Success: Deleted 'option_one' option.
		 *     Success: Deleted 'option_two' option.
		 *     Warning: Could not delete 'option_three' option. Does it exist?
		 */
		public function delete( $args ) {       }
		/**
		 * Gets a nested value from an option.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : The option name.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to pluck.
		 *
		 * [--format=<format>]
		 * : The output format of the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 *   - yaml
		 * ---
		 */
		public function pluck( $args, $assoc_args ) {       }
		/**
		 * Updates a nested value in an option.
		 *
		 * ## OPTIONS
		 *
		 * <action>
		 * : Patch action to perform.
		 * ---
		 * options:
		 *   - insert
		 *   - update
		 *   - delete
		 * ---
		 *
		 * <key>
		 * : The option name.
		 *
		 * <key-path>...
		 * : The name(s) of the keys within the value to locate the value to patch.
		 *
		 * [<value>]
		 * : The new value. If omitted, the value is read from STDIN.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: plaintext
		 * options:
		 *   - plaintext
		 *   - json
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add 'bar' to the 'foo' key on an option with name 'option_name'
		 *     $ wp option patch insert option_name foo bar
		 *     Success: Updated 'option_name' option.
		 *
		 *     # Update the value of 'foo' key to 'new' on an option with name 'option_name'
		 *     $ wp option patch update option_name foo new
		 *     Success: Updated 'option_name' option.
		 *
		 *     # Set nested value of 'bar' key to value we have in the patch file on an option with name 'option_name'.
		 *     $ wp option patch update option_name foo bar < patch
		 *     Success: Updated 'option_name' option.
		 *
		 *     # Update the value for the key 'not-a-key' which is not exist on an option with name 'option_name'.
		 *     $ wp option patch update option_name foo not-a-key new-value
		 *     Error: No data exists for key "not-a-key"
		 *
		 *     # Update the value for the key 'foo' without passing value on an option with name 'option_name'.
		 *     $ wp option patch update option_name foo
		 *     Error: Please provide value to update.
		 *
		 *     # Delete the nested key 'bar' under 'foo' key on an option with name 'option_name'.
		 *     $ wp option patch delete option_name foo bar
		 *     Success: Updated 'option_name' option.
		 */
		public function patch( $args, $assoc_args ) {       }
	}
	/**
	 * Destroys and lists a user's sessions.
	 *
	 * ## EXAMPLES
	 *
	 *     # List a user's sessions.
	 *     $ wp user session list admin@example.com --format=csv
	 *     login_time,expiration_time,ip,ua
	 *     "2016-01-01 12:34:56","2016-02-01 12:34:56",127.0.0.1,"Mozilla/5.0..."
	 *
	 *     # Destroy the most recent session of the given user.
	 *     $ wp user session destroy admin
	 *     Success: Destroyed session. 3 sessions remaining.
	 *
	 * @package wp-cli
	 */
	class User_Session_Command extends \WP_CLI_Command {

		public function __construct() {         }
		/**
		 * Destroy a session for the given user.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [<token>]
		 * : The token of the session to destroy. Defaults to the most recently created session.
		 *
		 * [--all]
		 * : Destroy all of the user's sessions.
		 *
		 * ## EXAMPLES
		 *
		 *     # Destroy the most recent session of the given user.
		 *     $ wp user session destroy admin
		 *     Success: Destroyed session. 3 sessions remaining.
		 *
		 *     # Destroy a specific session of the given user.
		 *     $ wp user session destroy admin e073ad8540a9c2...
		 *     Success: Destroyed session. 2 sessions remaining.
		 *
		 *     # Destroy all the sessions of the given user.
		 *     $ wp user session destroy admin --all
		 *     Success: Destroyed all sessions.
		 *
		 *     # Destroy all sessions for all users.
		 *     $ wp user list --field=ID | xargs -n 1 wp user session destroy --all
		 *     Success: Destroyed all sessions.
		 *     Success: Destroyed all sessions.
		 */
		public function destroy( $args, $assoc_args ) {         }
		/**
		 * List sessions for the given user.
		 *
		 * Note: The `token` field does not return the actual token, but a hash of
		 * it. The real token is not persisted and can only be found in the
		 * corresponding cookies on the client side.
		 *
		 * ## OPTIONS
		 *
		 * <user>
		 * : User ID, user email, or user login.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - count
		 *   - ids
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each session:
		 *
		 * * token
		 * * login_time
		 * * expiration_time
		 * * ip
		 * * ua
		 *
		 * These fields are optionally available:
		 *
		 * * expiration
		 * * login
		 *
		 * ## EXAMPLES
		 *
		 *     # List a user's sessions.
		 *     $ wp user session list admin@example.com --format=csv
		 *     login_time,expiration_time,ip,ua
		 *     "2016-01-01 12:34:56","2016-02-01 12:34:56",127.0.0.1,"Mozilla/5.0..."
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		protected function get_all_sessions( \WP_Session_Tokens $manager ) {        }
		protected function destroy_session( \WP_Session_Tokens $manager, $token ) {         }
	}
	class Import_Command extends \WP_CLI_Command {

		public $processed_posts = array();
		/**
		 * Imports content from a given WXR file.
		 *
		 * Provides a command line interface to the WordPress Importer plugin, for
		 * performing data migrations.
		 *
		 * Use `define( 'IMPORT_DEBUG', true );` for more verbosity during importing.
		 *
		 * ## OPTIONS
		 *
		 * <file>...
		 * : Path to one or more valid WXR files for importing. Directories are also accepted.
		 *
		 * --authors=<authors>
		 * : How the author mapping should be handled. Options are 'create', 'mapping.csv', or 'skip'. The first will create any non-existent users from the WXR file. The second will read author mapping associations from a CSV, or create a CSV for editing if the file path doesn't exist. The CSV requires two columns, and a header row like "old_user_login,new_user_login". The last option will skip any author mapping.
		 *
		 * [--skip=<data-type>]
		 * : Skip importing specific data. Supported options are: 'attachment' and 'image_resize' (skip time-consuming thumbnail generation).
		 *
		 * ## EXAMPLES
		 *
		 *     # Import content from a WXR file
		 *     $ wp import example.WordPress.2016-06-21.xml --authors=create
		 *     Starting the import process...
		 *     Processing post #1 ("Hello world!") (post_type: post)
		 *     -- 1 of 1
		 *     -- Tue, 21 Jun 2016 05:31:12 +0000
		 *     -- Imported post as post_id #1
		 *     Success: Finished importing from 'example.WordPress.2016-06-21.xml' file.
		 */
		public function __invoke( $args, $assoc_args ) {        }
		public function filter_set_image_sizes( $sizes ) {      }
	}
	/**
	 * Lists, adds, or removes super admin users on a multisite installation.
	 *
	 * ## EXAMPLES
	 *
	 *     # List user with super-admin capabilities.
	 *     $ wp super-admin list
	 *     supervisor
	 *     administrator
	 *
	 *     # Grant super-admin privileges to the user.
	 *     $ wp super-admin add superadmin2
	 *     Success: Granted super-admin capabilities to 1 user.
	 *
	 *     # Revoke super-admin privileges from the user.
	 *     $ wp super-admin remove superadmin2
	 *     Success: Revoked super-admin capabilities from 1 user.
	 *
	 * @package wp-cli
	 */
	class Super_Admin_Command extends \WP_CLI_Command {

		public function __construct() {         }
		/**
		 * Lists users with super admin capabilities.
		 *
		 * ## OPTIONS
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: list
		 * options:
		 *   - list
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - ids
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # List user with super-admin capabilities.
		 *     $ wp super-admin list
		 *     supervisor
		 *     administrator
		 *
		 * @subcommand list
		 */
		public function list_subcommand( $_, $assoc_args ) {        }
		/**
		 * Grants super admin privileges to one or more users.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : One or more user IDs, user emails, or user logins.
		 *
		 * ## EXAMPLES
		 *
		 *     # Grant super-admin privileges to the user.
		 *     $ wp super-admin add superadmin2
		 *     Success: Granted super-admin capabilities to 1 user.
		 */
		public function add( $args, $_ ) {      }
		/**
		 * Removes super admin privileges from one or more users.
		 *
		 * ## OPTIONS
		 *
		 * <user>...
		 * : One or more user IDs, user emails, or user logins.
		 *
		 * ## EXAMPLES
		 *
		 *     # Revoke super-admin privileges from the user.
		 *     $ wp super-admin remove superadmin2
		 *     Success: Revoked super-admin capabilities from 1 user.
		 */
		public function remove( $args, $_ ) {       }
	}
}

namespace WP_CLI {
	/**
	 * Base class for WP-CLI commands that deal with translations
	 *
	 * @package wp-cli
	 */
	abstract class CommandWithTranslation extends \WP_CLI_Command {

		protected $obj_type;
		protected $obj_fields;
		/**
		 * Callback to sort array by a 'language' key.
		 */
		protected function sort_translations_callback( $a, $b ) {       }
		/**
		 * Updates installed languages for the current object type.
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Get all updates available for all translations.
		 *
		 * @see wp_get_translation_updates()
		 *
		 * @return array
		 */
		protected function get_translation_updates() {      }
		/**
		 * Download a language pack.
		 *
		 * @see wp_download_language_pack()
		 *
		 * @param string $download Language code to download.
		 * @param string $slug Plugin or theme slug. Not used for core.
		 * @return string|\WP_Error Returns the language code if successfully downloaded, or a WP_Error object on failure.
		 */
		protected function download_language_pack( $download, $slug = null ) {      }
		/**
		 * Return a list of installed languages.
		 *
		 * @param string $slug Optional. Plugin or theme slug. Defaults to 'default' for core.
		 *
		 * @return array
		 */
		protected function get_installed_languages( $slug = 'default' ) {       }
		/**
		 * Return a list of all languages.
		 *
		 * @param string $slug Optional. Plugin or theme slug. Not used for core.
		 *
		 * @return array
		 */
		protected function get_all_languages( $slug = null ) {      }
		/**
		 * Get Formatter object based on supplied parameters.
		 *
		 * @param array $assoc_args Parameters passed to command. Determines formatting.
		 * @return Formatter
		 */
		protected function get_formatter( &$assoc_args ) {      }
	}
}

namespace WP_CLI {
	/**
	 * A Language Pack Upgrader class that caches the download, and uses cached if available
	 *
	 * @package wp-cli
	 */
	class LanguagePackUpgrader extends \Language_Pack_Upgrader {

		/**
		 * Initialize the upgrade strings.
		 *
		 * Makes sure that the strings are always in English.
		 */
		public function upgrade_strings() {         }
		/**
		 * Initialize the generic strings.
		 *
		 * Makes sure that the strings are always in English.
		 */
		public function generic_strings() {         }
		/**
		 * Caches the download, and uses cached if available.
		 *
		 * @param string $package          The URI of the package. If this is the full path to an
		 *                                 existing local file, it will be returned untouched.
		 * @param bool   $check_signatures Whether to validate file signatures. Default false.
		 * @param array  $hook_extra       Extra arguments to pass to the filter hooks. Default empty array.
		 * @return string|\WP_Error The full path to the downloaded package file, or a WP_Error object.
		 */
		public function download_package( $package, $check_signatures = false, $hook_extra = array() ) {        }
	}
}

namespace {
	/**
	 * Installs, activates, and manages plugin language packs.
	 *
	 * ## EXAMPLES
	 *
	 *     # Install the Dutch plugin language pack for Hello Dolly.
	 *     $ wp language plugin install hello-dolly nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/plugin/hello-dolly/1.7.2/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 *     # Uninstall the Dutch plugin language pack for Hello Dolly.
	 *     $ wp language plugin uninstall hello-dolly nl_NL
	 *     Language 'nl_NL' for 'hello-dolly' uninstalled.
	 *     +-------------+--------+-------------+
	 *     | name        | locale | status      |
	 *     +-------------+--------+-------------+
	 *     | hello-dolly | nl_NL  | uninstalled |
	 *     +-------------+--------+-------------+
	 *     Success: Uninstalled 1 of 1 languages.
	 *
	 *     # List installed plugin language packs for Hello Dolly.
	 *     $ wp language plugin list hello-dolly --status=installed
	 *     +-------------+----------+--------------+-------------+-----------+--------+---------------------+
	 *     | plugin      | language | english_name | native_name | status    | update | updated             |
	 *     +-------------+----------+--------------+-------------+-----------+--------+---------------------+
	 *     | hello-dolly | nl_NL    | Dutch        | Nederlands  | installed | none   | 2023-11-13 12:34:15 |
	 *     +-------------+----------+--------------+-------------+-----------+--------+---------------------+
	 *
	 * @package wp-cli
	 */
	class Plugin_Language_Command extends \WP_CLI\CommandWithTranslation {

		protected $obj_type   = 'plugins';
		protected $obj_fields = array( 'plugin', 'language', 'english_name', 'native_name', 'status', 'update', 'updated' );
		/**
		 * Lists all available languages for one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to list languages for.
		 *
		 * [--all]
		 * : If set, available languages for all plugins will be listed.
		 *
		 * [--field=<field>]
		 * : Display the value of a single field.
		 *
		 * [--<field>=<value>]
		 * : Filter results by key=value pairs.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each translation:
		 *
		 * * plugin
		 * * language
		 * * english_name
		 * * native_name
		 * * status
		 * * update
		 * * updated
		 *
		 * ## EXAMPLES
		 *
		 *     # List available language packs for the plugin.
		 *     $ wp language plugin list hello-dolly --fields=language,english_name,status
		 *     +----------------+-------------------------+-------------+
		 *     | language       | english_name            | status      |
		 *     +----------------+-------------------------+-------------+
		 *     | ar             | Arabic                  | uninstalled |
		 *     | ary            | Moroccan Arabic         | uninstalled |
		 *     | az             | Azerbaijani             | uninstalled |
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Checks if a given language is installed.
		 *
		 * Returns exit code 0 when installed, 1 when uninstalled.
		 *
		 * ## OPTIONS
		 *
		 * <plugin>
		 * : Plugin to check for.
		 *
		 * <language>...
		 * : The language code to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether the German language is installed for Akismet; exit status 0 if installed, otherwise 1.
		 *     $ wp language plugin is-installed akismet de_DE
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args = array() ) {      }
		/**
		 * Installs a given language for a plugin.
		 *
		 * Downloads the language pack from WordPress.org.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>]
		 * : Plugin to install language for.
		 *
		 * [--all]
		 * : If set, languages for all plugins will be installed.
		 *
		 * <language>...
		 * : Language code to install.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format. Used when installing languages for all plugins.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Install the Japanese language for Akismet.
		 *     $ wp language plugin install akismet ja
		 *     Downloading translation from https://downloads.wordpress.org/translation/plugin/akismet/4.0.3/ja.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the translation...
		 *     Translation updated successfully.
		 *     Language 'ja' installed.
		 *     Success: Installed 1 of 1 languages.
		 *
		 * @subcommand install
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Uninstalls a given language for a plugin.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>]
		 * : Plugin to uninstall language for.
		 *
		 * [--all]
		 * : If set, languages for all plugins will be uninstalled.
		 *
		 * <language>...
		 * : Language code to uninstall.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format. Used when installing languages for all plugins.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Uninstall the Japanese plugin language pack for Hello Dolly.
		 *     $ wp language plugin uninstall hello-dolly ja
		 *     Language 'ja' for 'hello-dolly' uninstalled.
		 *     +-------------+--------+-------------+
		 *     | name        | locale | status      |
		 *     +-------------+--------+-------------+
		 *     | hello-dolly | ja     | uninstalled |
		 *     +-------------+--------+-------------+
		 *     Success: Uninstalled 1 of 1 languages.
		 *
		 * @subcommand uninstall
		 */
		public function uninstall( $args, $assoc_args ) {       }
		/**
		 * Updates installed languages for one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to update languages for.
		 *
		 * [--all]
		 * : If set, languages for all plugins will be updated.
		 *
		 * [--dry-run]
		 * : Preview which translations would be updated.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update all installed language packs for all plugins.
		 *     $ wp language plugin update --all
		 *     Updating 'Japanese' translation for Akismet 3.1.11...
		 *     Downloading translation from https://downloads.wordpress.org/translation/plugin/akismet/3.1.11/ja.zip...
		 *     Translation updated successfully.
		 *     Success: Updated 1/1 translation.
		 *
		 * @subcommand update
		 */
		public function update( $args, $assoc_args ) {      }
	}
	/**
	 * Installs, activates, and manages language packs.
	 *
	 * ## EXAMPLES
	 *
	 *     # Install the Dutch core language pack.
	 *     $ wp language core install nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/core/6.4.3/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 *     # Activate the Dutch core language pack.
	 *     $ wp site switch-language nl_NL
	 *     Success: Language activated.
	 *
	 *     # Install the Dutch theme language pack for Twenty Ten.
	 *     $ wp language theme install twentyten nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/theme/twentyten/4.0/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 *     # Install the Dutch plugin language pack for Hello Dolly.
	 *     $ wp language plugin install hello-dolly nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/plugin/hello-dolly/1.7.2/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 * @package wp-cli
	 */
	class Language_Namespace extends \WP_CLI\Dispatcher\CommandNamespace {

	}
	/**
	 * Installs, activates, and manages theme language packs.
	 *
	 * ## EXAMPLES
	 *
	 *     # Install the Dutch theme language pack for Twenty Ten.
	 *     $ wp language theme install twentyten nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/theme/twentyten/4.0/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 *     # Uninstall the Dutch theme language pack for Twenty Ten.
	 *     $ wp language theme uninstall twentyten nl_NL
	 *     Language 'nl_NL' for 'twentyten' uninstalled.
	 *     +-----------+--------+-------------+
	 *     | name      | locale | status      |
	 *     +-----------+--------+-------------+
	 *     | twentyten | nl_NL  | uninstalled |
	 *     +-----------+--------+-------------+
	 *     Success: Uninstalled 1 of 1 languages.
	 *
	 *     # List installed theme language packs for Twenty Ten.
	 *     $ wp language theme list twentyten --status=installed
	 *     +-----------+----------+--------------+-------------+-----------+--------+---------------------+
	 *     | theme     | language | english_name | native_name | status    | update | updated             |
	 *     +-----------+----------+--------------+-------------+-----------+--------+---------------------+
	 *     | twentyten | nl_NL    | Dutch        | Nederlands  | installed | none   | 2023-12-29 21:21:39 |
	 *     +-----------+----------+--------------+-------------+-----------+--------+---------------------+
	 *
	 * @package wp-cli
	 */
	class Theme_Language_Command extends \WP_CLI\CommandWithTranslation {

		protected $obj_type   = 'themes';
		protected $obj_fields = array( 'theme', 'language', 'english_name', 'native_name', 'status', 'update', 'updated' );
		/**
		 * Lists all available languages for one or more themes.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to list languages for.
		 *
		 * [--all]
		 * : If set, available languages for all themes will be listed.
		 *
		 * [--field=<field>]
		 * : Display the value of a single field.
		 *
		 * [--<field>=<value>]
		 * : Filter results by key=value pairs.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each translation:
		 *
		 * * theme
		 * * language
		 * * english_name
		 * * native_name
		 * * status
		 * * update
		 * * updated
		 *
		 * ## EXAMPLES
		 *
		 *     # List available language packs for the theme.
		 *     $ wp language theme list twentyten --fields=language,english_name,status
		 *     +----------------+-------------------------+-------------+
		 *     | language       | english_name            | status      |
		 *     +----------------+-------------------------+-------------+
		 *     | ar             | Arabic                  | uninstalled |
		 *     | ary            | Moroccan Arabic         | uninstalled |
		 *     | az             | Azerbaijani             | uninstalled |
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Checks if a given language is installed.
		 *
		 * Returns exit code 0 when installed, 1 when uninstalled.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : Theme to check for.
		 *
		 * <language>...
		 * : The language code to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether the German language is installed for Twenty Seventeen; exit status 0 if installed, otherwise 1.
		 *     $ wp language theme is-installed twentyseventeen de_DE
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args = array() ) {      }
		/**
		 * Installs a given language for a theme.
		 *
		 * Downloads the language pack from WordPress.org.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>]
		 * : Theme to install language for.
		 *
		 * [--all]
		 * : If set, languages for all themes will be installed.
		 *
		 * <language>...
		 * : Language code to install.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format. Used when installing languages for all themes.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Install the Japanese language for Twenty Seventeen.
		 *     $ wp language theme install twentyseventeen ja
		 *     Downloading translation from https://downloads.wordpress.org/translation/theme/twentyseventeen/1.3/ja.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Translation updated successfully.
		 *     Language 'ja' installed.
		 *     Success: Installed 1 of 1 languages.
		 *
		 * @subcommand install
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Uninstalls a given language for a theme.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>]
		 * : Theme to uninstall language for.
		 *
		 * [--all]
		 * : If set, languages for all themes will be uninstalled.
		 *
		 * <language>...
		 * : Language code to uninstall.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format. Used when installing languages for all themes.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Uninstall the Japanese theme language pack for Twenty Ten.
		 *     $ wp language theme uninstall twentyten ja
		 *     Language 'ja' for 'twentyten' uninstalled.
		 *     +-----------+--------+-------------+
		 *     | name      | locale | status      |
		 *     +-----------+--------+-------------+
		 *     | twentyten | ja     | uninstalled |
		 *     +-----------+--------+-------------+
		 *     Success: Uninstalled 1 of 1 languages.
		 *
		 * @subcommand uninstall
		 */
		public function uninstall( $args, $assoc_args ) {       }
		/**
		 * Updates installed languages for one or more themes.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to update languages for.
		 *
		 * [--all]
		 * : If set, languages for all themes will be updated.
		 *
		 * [--dry-run]
		 * : Preview which translations would be updated.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update all installed language packs for all themes.
		 *     $ wp language theme update --all
		 *     Updating 'Japanese' translation for Twenty Fifteen 1.5...
		 *     Downloading translation from https://downloads.wordpress.org/translation/theme/twentyfifteen/1.5/ja.zip...
		 *     Translation updated successfully.
		 *     Success: Updated 1/1 translation.
		 *
		 * @subcommand update
		 */
		public function update( $args, $assoc_args ) {      }
	}
	class Site_Switch_Language_Command extends \WP_CLI\CommandWithTranslation {

		protected $obj_type = 'core';
		/**
		 * Activates a given language.
		 *
		 * ## OPTIONS
		 *
		 * <language>
		 * : Language code to activate.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp site switch-language ja
		 *     Success: Language activated.
		 *
		 * @throws WP_CLI\ExitException
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
	/**
	 * Installs, activates, and manages core language packs.
	 *
	 * ## EXAMPLES
	 *
	 *     # Install the Dutch core language pack.
	 *     $ wp language core install nl_NL
	 *     Downloading translation from https://downloads.wordpress.org/translation/core/6.4.3/nl_NL.zip...
	 *     Unpacking the update...
	 *     Installing the latest version...
	 *     Removing the old version of the translation...
	 *     Translation updated successfully.
	 *     Language 'nl_NL' installed.
	 *     Success: Installed 1 of 1 languages.
	 *
	 *     # Activate the Dutch core language pack.
	 *     $ wp site switch-language nl_NL
	 *     Success: Language activated.
	 *
	 *     # Uninstall the Dutch core language pack.
	 *     $ wp language core uninstall nl_NL
	 *     Success: Language uninstalled.
	 *
	 *     # List installed core language packs.
	 *     $ wp language core list --status=installed
	 *     +----------+--------------+-------------+-----------+-----------+---------------------+
	 *     | language | english_name | native_name | status    | update    | updated             |
	 *     +----------+--------------+-------------+-----------+-----------+---------------------+
	 *     | nl_NL    | Dutch        | Nederlands  | installed | available | 2024-01-31 10:24:06 |
	 *     +----------+--------------+-------------+-----------+-----------+---------------------+
	 *
	 * @package wp-cli
	 */
	class Core_Language_Command extends \WP_CLI\CommandWithTranslation {

		protected $obj_type   = 'core';
		protected $obj_fields = array( 'language', 'english_name', 'native_name', 'status', 'update', 'updated' );
		/**
		 * Lists all available languages.
		 *
		 * ## OPTIONS
		 *
		 * [--field=<field>]
		 * : Display the value of a single field
		 *
		 * [--<field>=<value>]
		 * : Filter results by key=value pairs.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each translation:
		 *
		 * * language
		 * * english_name
		 * * native_name
		 * * status
		 * * update
		 * * updated
		 *
		 * ## EXAMPLES
		 *
		 *     # List language,english_name,status fields of available languages.
		 *     $ wp language core list --fields=language,english_name,status
		 *     +----------------+-------------------------+-------------+
		 *     | language       | english_name            | status      |
		 *     +----------------+-------------------------+-------------+
		 *     | ar             | Arabic                  | uninstalled |
		 *     | ary            | Moroccan Arabic         | uninstalled |
		 *     | az             | Azerbaijani             | uninstalled |
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Checks if a given language is installed.
		 *
		 * Returns exit code 0 when installed, 1 when uninstalled.
		 *
		 * ## OPTIONS
		 *
		 * <language>
		 * : The language code to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether the German language is installed; exit status 0 if installed, otherwise 1.
		 *     $ wp language core is-installed de_DE
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args = array() ) {      }
		/**
		 * Installs a given language.
		 *
		 * Downloads the language pack from WordPress.org. Find your language code at: https://translate.wordpress.org/
		 *
		 * ## OPTIONS
		 *
		 * <language>...
		 * : Language code to install.
		 *
		 * [--activate]
		 * : If set, the language will be activated immediately after install.
		 *
		 * ## EXAMPLES
		 *
		 *     # Install the Brazilian Portuguese language.
		 *     $ wp language core install pt_BR
		 *     Downloading translation from https://downloads.wordpress.org/translation/core/6.5/pt_BR.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the translation...
		 *     Translation updated successfully.
		 *     Language 'pt_BR' installed.
		 *     Success: Installed 1 of 1 languages.
		 *
		 * @subcommand install
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Uninstalls a given language.
		 *
		 * ## OPTIONS
		 *
		 * <language>...
		 * : Language code to uninstall.
		 *
		 * ## EXAMPLES
		 *
		 *     # Uninstall the Japanese core language pack.
		 *     $ wp language core uninstall ja
		 *     Success: Language uninstalled.
		 *
		 * @subcommand uninstall
		 * @throws WP_CLI\ExitException
		 */
		public function uninstall( $args, $assoc_args ) {       }
		/**
		 * Updates installed languages for core.
		 *
		 * ## OPTIONS
		 *
		 * [--dry-run]
		 * : Preview which translations would be updated.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update installed core languages packs.
		 *     $ wp language core update
		 *     Updating 'Japanese' translation for WordPress 6.4.3...
		 *     Downloading translation from https://downloads.wordpress.org/translation/core/6.4.3/ja.zip...
		 *     Translation updated successfully.
		 *     Success: Updated 1/1 translation.
		 *
		 * @subcommand update
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Activates a given language.
		 *
		 * **Warning: `wp language core activate` is deprecated. Use `wp site switch-language` instead.**
		 *
		 * ## OPTIONS
		 *
		 * <language>
		 * : Language code to activate.
		 *
		 * ## EXAMPLES
		 *
		 *     # Activate the given language.
		 *     $ wp language core activate ja
		 *     Success: Language activated.
		 *
		 * @subcommand activate
		 * @throws WP_CLI\ExitException
		 */
		public function activate( $args, $assoc_args ) {        }
	}
	/**
	 * Lists or flushes the site's rewrite rules, updates the permalink structure.
	 *
	 * See the WordPress [Rewrite API](https://codex.wordpress.org/Rewrite_API) and
	 * [WP Rewrite](https://codex.wordpress.org/Class_Reference/WP_Rewrite) class reference.
	 *
	 * ## EXAMPLES
	 *
	 *     # Flush rewrite rules
	 *     $ wp rewrite flush
	 *     Success: Rewrite rules flushed.
	 *
	 *     # Update permalink structure
	 *     $ wp rewrite structure '/%year%/%monthnum%/%postname%'
	 *     Success: Rewrite structure set.
	 *
	 *     # List rewrite rules
	 *     $ wp rewrite list --format=csv
	 *     match,query,source
	 *     ^wp-json/?$,index.php?rest_route=/,other
	 *     ^wp-json/(.*)?,index.php?rest_route=/$matches[1],other
	 *     category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
	 *     category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
	 *     category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category
	 *
	 * @package wp-cli
	 */
	class Rewrite_Command extends \WP_CLI_Command {

		/**
		 * Flushes rewrite rules.
		 *
		 * Resets WordPress' rewrite rules based on registered post types, etc.
		 *
		 * To regenerate a .htaccess file with WP-CLI, you'll need to add the mod_rewrite module
		 * to your wp-cli.yml or config.yml. For example:
		 *
		 * ```
		 * apache_modules:
		 *   - mod_rewrite
		 * ```
		 *
		 * ## OPTIONS
		 *
		 * [--hard]
		 * : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database. Works only on single site installs.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp rewrite flush
		 *     Success: Rewrite rules flushed.
		 */
		public function flush( $args, $assoc_args ) {       }
		/**
		 * Updates the permalink structure.
		 *
		 * Sets the post permalink structure to the specified pattern.
		 *
		 * To regenerate a .htaccess file with WP-CLI, you'll need to add
		 * the mod_rewrite module to your [WP-CLI config](https://make.wordpress.org/cli/handbook/config/#config-files).
		 * For example:
		 *
		 * ```
		 * apache_modules:
		 *   - mod_rewrite
		 * ```
		 *
		 * ## OPTIONS
		 *
		 * <permastruct>
		 * : The new permalink structure to apply.
		 *
		 * [--category-base=<base>]
		 * : Set the base for category permalinks, i.e. '/category/'.
		 *
		 * [--tag-base=<base>]
		 * : Set the base for tag permalinks, i.e. '/tag/'.
		 *
		 * [--hard]
		 * : Perform a hard flush - update `.htaccess` rules as well as rewrite rules in database.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp rewrite structure '/%year%/%monthnum%/%postname%/'
		 *     Success: Rewrite structure set.
		 */
		public function structure( $args, $assoc_args ) {       }
		/**
		 * Gets a list of the current rewrite rules.
		 *
		 * ## OPTIONS
		 *
		 * [--match=<url>]
		 * : Show rewrite rules matching a particular URL.
		 *
		 * [--source=<source>]
		 * : Show rewrite rules from a particular source.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to match,query,source.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp rewrite list --format=csv
		 *     match,query,source
		 *     ^wp-json/?$,index.php?rest_route=/,other
		 *     ^wp-json/(.*)?,index.php?rest_route=/$matches[1],other
		 *     category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
		 *     category/(.+?)/(feed|rdf|rss|rss2|atom)/?$,index.php?category_name=$matches[1]&feed=$matches[2],category
		 *     category/(.+?)/embed/?$,index.php?category_name=$matches[1]&embed=true,category
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
	}
	class JsonManipulatorTest extends \WP_CLI\Tests\TestCase {

		/**
		 * @dataProvider linkProvider
		 */
		public function testAddLink( $json, $type, $package, $constraint, $expected ) {         }
		public static function linkProvider() {         }
		/**
		 * @dataProvider providerAddLinkAndSortPackages
		 */
		public function testAddLinkAndSortPackages( $json, $type, $package, $constraint, $sortPackages, $expected ) {       }
		public static function providerAddLinkAndSortPackages() {       }
		/**
		 * @dataProvider removeSubNodeProvider
		 */
		public function testRemoveSubNode( $json, $name, $expected, $expectedContent = \null ) {        }
		public static function removeSubNodeProvider() {        }
		public function testRemoveSubNodeFromRequire() {        }
		public function testAddSubNodeInRequire() {         }
		public function testAddExtraWithPackage() {         }
		public function testAddRepositoryCanInitializeEmptyRepositories() {         }
		public function testAddRepositoryCanInitializeFromScratch() {       }
		public function testAddRepositoryCanAdd() {         }
		public function testAddRepositoryCanOverrideDeepRepos() {       }
		public function testAddConfigSettingEscapes() {         }
		public function testAddConfigSettingWorksFromScratch() {        }
		public function testAddConfigSettingCanAdd() {      }
		public function testAddConfigSettingCanOverwrite() {        }
		public function testAddConfigSettingCanOverwriteNumbers() {         }
		public function testAddConfigSettingCanOverwriteArrays() {      }
		public function testAddConfigSettingCanAddSubKeyInEmptyConfig() {       }
		public function testAddConfigSettingCanAddSubKeyInEmptyVal() {      }
		public function testAddConfigSettingCanAddSubKeyInHash() {      }
		public function testAddRootSettingDoesNotBreakDots() {      }
		public function testRemoveConfigSettingCanRemoveSubKeyInHash() {        }
		public function testRemoveConfigSettingCanRemoveSubKeyInHashWithSiblings() {        }
		public function testAddMainKey() {      }
		public function testAddMainKeyWithContentHavingDollarSignFollowedByDigit() {        }
		public function testAddMainKeyWithContentHavingDollarSignFollowedByDigit2() {       }
		public function testUpdateMainKey() {       }
		public function testUpdateMainKey2() {      }
		public function testUpdateMainKey3() {      }
		public function testUpdateMainKeyWithContentHavingDollarSignFollowedByDigit() {         }
		public function testRemoveMainKey() {       }
		public function testIndentDetection() {         }
		public function testRemoveMainKeyAtEndOfFile() {        }
		// WP_CLI: begin caseInsensitive.
		/**
		 * @dataProvider providerAddLinkCaseInsensitive
		 */
		public function testAddLinkCaseInsensitive( $json, $type, $package, $constraint, $sortPackages, $expected ) {       }
		public static function providerAddLinkCaseInsensitive() {       }
		/**
		 * @dataProvider providerAddSubNodeCase
		 */
		public function testAddSubNodeCase( $json, $mainNode, $name, $caseInsensitive, $expected ) {        }
		public static function providerAddSubNodeCase() {       }
		/**
		 * @dataProvider providerRemoveSubNodeCaseInsensitive
		 */
		public function testRemoveSubNodeCaseInsensitive( $json, $mainNode, $name, $expected, $expectedContent = \null ) {      }
		public static function providerRemoveSubNodeCaseInsensitive() {         }
		// WP_CLI: end caseInsensitive.
	}
	class ComposerJsonTest extends \WP_CLI\Tests\TestCase {

		public function set_up() {      }
		public function tear_down() {       }
		public function test_create_default_composer_json() {       }
		public function test_get_composer_json_path() {         }
		public function test_get_composer_json_path_backup_decoded() {      }
	}
}

namespace WP_CLI {
	/**
	 * @author Jordi Boggiano <j.boggiano@seld.be>
	 */
	class JsonManipulator {

		public function __construct( $contents ) {      }
		public function getContents() {         }
		public function addLink( $type, $package, $constraint, $sortPackages = false, $caseInsensitive = false ) {      }
		public function addRepository( $name, $config ) {       }
		public function removeRepository( $name ) {         }
		public function addConfigSetting( $name, $value ) {         }
		public function removeConfigSetting( $name ) {      }
		public function addProperty( $name, $value ) {      }
		public function removeProperty( $name ) {       }
		public function addSubNode( $mainNode, $name, $value, $caseInsensitive = false ) {      }
		public function removeSubNode( $mainNode, $name, $caseInsensitive = false ) {       }
		public function addMainKey( $key, $content ) {      }
		public function removeMainKey( $key ) {         }
		public function format( $data, $depth = 0 ) {       }
		protected function detectIndenting() {      }
		protected function pregMatch( $re, $str, &$matches = array() ) {        }
	}
}

namespace WP_CLI\Package\Compat\Min_Composer_2_3 {
	trait NullIOMethodsTrait {

		/**
		 * {@inheritDoc}
		 */
		public function isVerbose() : bool {
		}
		/**
		 * {@inheritDoc}
		 */
		public function write( $messages, bool $newline = true, int $verbosity = self::NORMAL ) : void {
		}
		/**
		 * {@inheritDoc}
		 */
		public function writeError( $messages, bool $newline = true, int $verbosity = self::NORMAL ) : void {
		}
		private static function output_clean_message( $messages ) {         }
	}
}

namespace WP_CLI\Package\Compat\Min_Composer_1_10 {
	trait NullIOMethodsTrait {

		/**
		 * {@inheritDoc}
		 */
		public function isVerbose() {       }
		/**
		 * {@inheritDoc}
		 */
		public function write( $messages, $newline = true, $verbosity = self::NORMAL ) {        }
		/**
		 * {@inheritDoc}
		 */
		public function writeError( $messages, $newline = true, $verbosity = self::NORMAL ) {       }
		private static function output_clean_message( $messages ) {         }
	}
}

namespace WP_CLI\Package\Compat {
	trait NullIOMethodsTrait {

		use \WP_CLI\Package\Compat\Min_Composer_2_3\NullIOMethodsTrait;
	}
}

namespace WP_CLI\Package {
	class ComposerIO extends \Composer\IO\NullIO {

		use \WP_CLI\Package\Compat\NullIOMethodsTrait;
	}
}

namespace {
	/**
	 * Lists, installs, and removes WP-CLI packages.
	 *
	 * WP-CLI packages are community-maintained projects built on WP-CLI. They can
	 * contain WP-CLI commands, but they can also just extend WP-CLI in some way.
	 *
	 * Learn how to create your own command from the
	 * [Commands Cookbook](https://make.wordpress.org/cli/handbook/guides/commands-cookbook/)
	 *
	 * ## EXAMPLES
	 *
	 *     # List installed packages.
	 *     $ wp package list
	 *     +-----------------------+------------------+----------+-----------+----------------+
	 *     | name                  | authors          | version  | update    | update_version |
	 *     +-----------------------+------------------+----------+-----------+----------------+
	 *     | wp-cli/server-command | Daniel Bachhuber | dev-main | available | 2.x-dev        |
	 *     +-----------------------+------------------+----------+-----------+----------------+
	 *
	 *     # Install the latest development version of the package.
	 *     $ wp package install wp-cli/server-command
	 *     Installing package wp-cli/server-command (dev-main)
	 *     Updating /home/person/.wp-cli/packages/composer.json to require the package...
	 *     Using Composer to install the package...
	 *     ---
	 *     Loading composer repositories with package information
	 *     Updating dependencies
	 *     Resolving dependencies through SAT
	 *     Dependency resolution completed in 0.005 seconds
	 *     Analyzed 732 packages to resolve dependencies
	 *     Analyzed 1034 rules to resolve dependencies
	 *      - Installing package
	 *     Writing lock file
	 *     Generating autoload files
	 *     ---
	 *     Success: Package installed.
	 *
	 *     # Uninstall package.
	 *     $ wp package uninstall wp-cli/server-command
	 *     Removing require statement for package 'wp-cli/server-command' from /home/person/.wp-cli/packages/composer.json
	 *     Removing repository details from /home/person/.wp-cli/packages/composer.json
	 *     Removing package directories and regenerating autoloader...
	 *     Success: Uninstalled package.
	 *
	 * @package WP-CLI
	 *
	 * @when before_wp_load
	 */
	class Package_Command extends \WP_CLI_Command {

		const PACKAGE_INDEX_URL              = 'https://wp-cli.org/package-index/';
		const DEFAULT_DEV_BRANCH_CONSTRAINTS = 'dev-main || dev-master || dev-trunk';
		/**
		 * Browses WP-CLI packages available for installation.
		 *
		 * Lists packages available for installation from the [Package Index](http://wp-cli.org/package-index/).
		 * Although the package index will remain in place for backward compatibility reasons, it has been
		 * deprecated and will not be updated further. Please refer to https://github.com/wp-cli/ideas/issues/51
		 * to read about its potential replacement.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each package:
		 *
		 * * name
		 * * description
		 * * authors
		 * * version
		 *
		 * There are no optionally available fields.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp package browse --format=yaml
		 *     ---
		 *     10up/mu-migration:
		 *       name: 10up/mu-migration
		 *       description: A set of WP-CLI commands to support the migration of single WordPress instances to multisite
		 *       authors: Nícholas André
		 *       version: dev-main, dev-develop
		 *     aaemnnosttv/wp-cli-dotenv-command:
		 *       name: aaemnnosttv/wp-cli-dotenv-command
		 *       description: Dotenv commands for WP-CLI
		 *       authors: Evan Mattson
		 *       version: v0.1, v0.1-beta.1, v0.2, dev-main, dev-dev, dev-develop, dev-tests/behat
		 *     aaemnnosttv/wp-cli-http-command:
		 *       name: aaemnnosttv/wp-cli-http-command
		 *       description: WP-CLI command for using the WordPress HTTP API
		 *       authors: Evan Mattson
		 *       version: dev-main
		 */
		public function browse( $_, $assoc_args ) {         }
		/**
		 * Installs a WP-CLI package.
		 *
		 * Packages are required to be a valid Composer package, and can be
		 * specified as:
		 *
		 * * Package name from WP-CLI's package index.
		 * * Git URL accessible by the current shell user.
		 * * Path to a directory on the local machine.
		 * * Local or remote .zip file.
		 *
		 * Packages are installed to `~/.wp-cli/packages/` by default. Use the
		 * `WP_CLI_PACKAGES_DIR` environment variable to provide a custom path.
		 *
		 * When installing a local directory, WP-CLI simply registers a
		 * reference to the directory. If you move or delete the directory, WP-CLI's
		 * reference breaks.
		 *
		 * When installing a .zip file, WP-CLI extracts the package to
		 * `~/.wp-cli/packages/local/<package-name>`.
		 *
		 * If Github token authorization is required, a GitHub Personal Access Token
		 * (https://github.com/settings/tokens) can be used. The following command
		 * will add a GitHub Personal Access Token to Composer's global configuration:
		 * composer config -g github-oauth.github.com <GITHUB_TOKEN>
		 * Once this has been added, the value used for <GITHUB_TOKEN> will be used
		 * for future authorization requests.
		 *
		 * ## OPTIONS
		 *
		 * <name|git|path|zip>
		 * : Name, git URL, directory path, or .zip file for the package to install.
		 * Names can optionally include a version constraint
		 * (e.g. wp-cli/server-command:@stable).
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Install a package hosted at a git URL.
		 *     $ wp package install runcommand/hook
		 *
		 *     # Install the latest stable version.
		 *     $ wp package install wp-cli/server-command:@stable
		 *
		 *     # Install a package hosted at a GitLab.com URL.
		 *     $ wp package install https://gitlab.com/foo/wp-cli-bar-command.git
		 *
		 *     # Install a package in a .zip file.
		 *     $ wp package install google-sitemap-generator-cli.zip
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Lists installed WP-CLI packages.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each package:
		 *
		 * * name
		 * * authors
		 * * version
		 * * update
		 * * update_version
		 *
		 * These fields are optionally available:
		 *
		 * * description
		 *
		 * ## EXAMPLES
		 *
		 *     # List installed packages.
		 *     $ wp package list
		 *     +-----------------------+------------------+----------+-----------+----------------+
		 *     | name                  | authors          | version  | update    | update_version |
		 *     +-----------------------+------------------+----------+-----------+----------------+
		 *     | wp-cli/server-command | Daniel Bachhuber | dev-main | available | 2.x-dev        |
		 *     +-----------------------+------------------+----------+-----------+----------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Gets the path to an installed WP-CLI package, or the package directory.
		 *
		 * If you want to contribute to a package, this is a great way to jump to it.
		 *
		 * ## OPTIONS
		 *
		 * [<name>]
		 * : Name of the package to get the directory for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get package path.
		 *     $ wp package path
		 *     /home/person/.wp-cli/packages/
		 *
		 *     # Get path to an installed package.
		 *     $ wp package path wp-cli/server-command
		 *     /home/person/.wp-cli/packages/vendor/wp-cli/server-command
		 *
		 *     # Change directory to package path.
		 *     $ cd $(wp package path) && pwd
		 *     /home/vagrant/.wp-cli/packages
		 */
		public function path( $args ) {         }
		/**
		 * Updates all installed WP-CLI packages to their latest version.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp package update
		 *     Using Composer to update packages...
		 *     ---
		 *     Loading composer repositories with package information
		 *     Updating dependencies
		 *     Resolving dependencies through SAT
		 *     Dependency resolution completed in 0.074 seconds
		 *     Analyzed 1062 packages to resolve dependencies
		 *     Analyzed 22383 rules to resolve dependencies
		 *     Writing lock file
		 *     Generating autoload files
		 *     ---
		 *     Success: Packages updated.
		 */
		public function update() {      }
		/**
		 * Uninstalls a WP-CLI package.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Name of the package to uninstall.
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Uninstall package.
		 *     $ wp package uninstall wp-cli/server-command
		 *     Removing require statement for package 'wp-cli/server-command' from /home/person/.wp-cli/packages/composer.json
		 *     Removing repository details from /home/person/.wp-cli/packages/composer.json
		 *     Removing package directories and regenerating autoloader...
		 *     Success: Uninstalled package.
		 */
		public function uninstall( $args, $assoc_args ) {       }
	}
	class Eval_Command extends \WP_CLI_Command {

		/**
		 * Executes arbitrary PHP code.
		 *
		 * Note: because code is executed within a method, global variables need
		 * to be explicitly globalized.
		 *
		 * ## OPTIONS
		 *
		 * <php-code>
		 * : The code to execute, as a string.
		 *
		 * [--skip-wordpress]
		 * : Execute code without loading WordPress.
		 *
		 * ## EXAMPLES
		 *
		 *     # Display WordPress content directory.
		 *     $ wp eval 'echo WP_CONTENT_DIR;'
		 *     /var/www/wordpress/wp-content
		 *
		 *     # Generate a random number.
		 *     $ wp eval 'echo rand();' --skip-wordpress
		 *     479620423
		 *
		 * @when before_wp_load
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
	class EvalFile_Command extends \WP_CLI_Command {

		/**
		 * Regular expression pattern to match the shell shebang.
		 *
		 * @var string
		 */
		const SHEBANG_PATTERN = '/^(#!.*)$/m';
		/**
		 * Loads and executes a PHP file.
		 *
		 * Note: because code is executed within a method, global variables need
		 * to be explicitly globalized.
		 *
		 * ## OPTIONS
		 *
		 * <file>
		 * : The path to the PHP file to execute.  Use '-' to run code from STDIN.
		 *
		 * [<arg>...]
		 * : One or more positional arguments to pass to the file. They are placed in the $args variable.
		 *
		 * [--skip-wordpress]
		 * : Load and execute file without loading WordPress.
		 *
		 * [--use-include]
		 * : Process the provided file via include instead of evaluating its contents.
		 *
		 * @when before_wp_load
		 *
		 * ## EXAMPLES
		 *
		 *     # Execute file my-code.php and pass value1 and value2 arguments.
		 *     # Access arguments in $args array ($args[0] = value1, $args[1] = value2).
		 *     $ wp eval-file my-code.php value1 value2
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
	// class LoadTest extends \PHPUnit_Framework_TestCase
	// {
	// public function testQuotes()
	// {
	// }
	// }
	// class IndentTest extends \PHPUnit_Framework_TestCase
	// {
	// protected $Y;
	// protected function setUp()
	// {
	// }
	// public function testIndent_1()
	// {
	// }
	// public function testIndent_2()
	// {
	// }
	// public function testIndent_3()
	// {
	// }
	// public function testIndent_4()
	// {
	// }
	// public function testIndent_5()
	// {
	// }
	// public function testIndent_6()
	// {
	// }
	// public function testIndent_space()
	// {
	// }
	// public function testListAndComment()
	// {
	// }
	// public function testAnchorAndAlias()
	// {
	// }
	// }
	// class RoundTripTest extends \PHPUnit_Framework_TestCase
	// {
	// protected function setUp()
	// {
	// }
	// public function testNull()
	// {
	// }
	// public function testY()
	// {
	// }
	// public function testExclam()
	// {
	// }
	// public function test5()
	// {
	// }
	// public function testSpaces()
	// {
	// }
	// public function testApostrophes()
	// {
	// }
	// public function testNewLines()
	// {
	// }
	// public function testHashes()
	// {
	// }
	// public function testPreserveString()
	// {
	// }
	// public function testPreserveBool()
	// {
	// }
	// public function testPreserveInteger()
	// {
	// }
	// public function testWordWrap()
	// {
	// }
	// public function testABCD()
	// {
	// }
	// public function testABCD2()
	// {
	// }
	// }
	// class ParseTest extends \PHPUnit_Framework_TestCase
	// {
	// protected $yaml;
	// protected function setUp()
	// {
	// }
	// public function testMergeHashKeys()
	// {
	// }
	// public function testDeathMasks()
	// {
	// }
	// public function testDevDb()
	// {
	// }
	// public function testNumericKey()
	// {
	// }
	// public function testMappingsString()
	// {
	// }
	// public function testMappingsInt()
	// {
	// }
	// public function testMappingsHex()
	// {
	// }
	// public function testMappingsBooleanTrue()
	// {
	// }
	// public function testMappingsBooleanFalse()
	// {
	// }
	// public function testMappingsZero()
	// {
	// }
	// public function testMappingsNull()
	// {
	// }
	// public function testMappingsNotNull()
	// {
	// }
	// public function testMappingsFloat()
	// {
	// }
	// public function testMappingsNegative()
	// {
	// }
	// public function testMappingsSmallFloat()
	// {
	// }
	// public function testNewline()
	// {
	// }
	// public function testQuotedNewline()
	// {
	// }
	// public function testSeq0()
	// {
	// }
	// public function testSeq1()
	// {
	// }
	// public function testSeq2()
	// {
	// }
	// public function testSeq3()
	// {
	// }
	// public function testSeqMap()
	// {
	// }
	// public function testMappedSequence()
	// {
	// }
	// public function testAnotherSequence()
	// {
	// }
	// public function testFoldedBlock()
	// {
	// }
	// public function testLiteralAsMapped()
	// {
	// }
	// public function testCrazy()
	// {
	// }
	// public function testColons()
	// {
	// }
	// public function testInline()
	// {
	// }
	// public function testNestedInline()
	// {
	// }
	// public function testNestedNestedInline()
	// {
	// }
	// public function testInlineMappings()
	// {
	// }
	// public function testNestedInlineMappings()
	// {
	// }
	// public function testReferences()
	// {
	// }
	// public function testReferences2()
	// {
	// }
	// public function testReferences3()
	// {
	// }
	// public function testEscapedQuotes()
	// {
	// }
	// public function testEscapedQuotes_2()
	// {
	// }
	// public function testEscapedQuotes_3()
	// {
	// }
	// public function testQuotes()
	// {
	// }
	// public function testQuoteSequence()
	// {
	// }
	// public function testShortSequence()
	// {
	// }
	// public function testQuotedNewlines()
	// {
	// }
	// public function testHash_1()
	// {
	// }
	// public function testHash_2()
	// {
	// }
	// public function testHash_3()
	// {
	// }
	// public function testEndloop()
	// {
	// }
	// public function testReallyLargeNumber()
	// {
	// }
	// public function testFloatWithZeros()
	// {
	// }
	// public function testFloatWithQuotes()
	// {
	// }
	// public function testFloatInverse()
	// {
	// }
	// public function testIntArray()
	// {
	// }
	// public function testArrayOnSeveralLines()
	// {
	// }
	// public function testArrayWithCommas()
	// {
	// }
	// public function testmoreLessKey()
	// {
	// }
	// public function testArrayOfZero()
	// {
	// }
	// public function testSophisticatedArrayOfZero()
	// {
	// }
	// public function testSwitches()
	// {
	// }
	// public function testEmptySequence()
	// {
	// }
	// public function testEmptyHash()
	// {
	// }
	// public function testEmptykey()
	// {
	// }
	// public function testMultilines()
	// {
	// }
	// public function testManyNewlines()
	// {
	// }
	// public function testWerte()
	// {
	// }
	// * public function testNoIndent() {
	// $this->assertSame (array(
	// array ('record1'=>'value1'),
	// array ('record2'=>'value2')
	// )
	// , $this->yaml['noindent_records']);
	// } */
	// public function testColonsInKeys()
	// {
	// }
	// public function testColonsInKeys2()
	// {
	// }
	// public function testUnquotedColonsInKeys()
	// {
	// }
	// public function testComplicatedKeyWithColon()
	// {
	// }
	// public function testKeysInMappedValueException()
	// {
	// }
	// public function testKeysInValueException()
	// {
	// }
	// public function testSpecialCharacters()
	// {
	// }
	// public function testAngleQuotes()
	// {
	// }
	// public function testFailingColons()
	// {
	// }
	// public function testQuotesWithComments()
	// {
	// }
	// public function testArrayWithComments()
	// {
	// }
	// public function testAfterArrayWithKittens()
	// {
	// }
	// Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
	// public function testKai()
	// {
	// }
	// public function testKaiList()
	// {
	// }
	// public function testDifferentQuoteTypes()
	// {
	// }
	// public function testDifferentQuoteTypes2()
	// {
	// }
	// Separation spaces http://www.yaml.org/spec/1.2/spec.html#id2778394
	// public function testMultipleArrays()
	// {
	// }
	// }
	// class DumpTest extends \PHPUnit_Framework_TestCase
	// {
	// public function setUp()
	// {
	// }
	// public function testShortSyntax()
	// {
	// }
	// public function testDump()
	// {
	// }
	// public function testDumpWithQuotes()
	// {
	// }
	// public function testDumpArrays()
	// {
	// }
	// public function testNull()
	// {
	// }
	// public function testNext()
	// {
	// }
	// public function testDumpingMixedArrays()
	// {
	// }
	// public function testMixed()
	// {
	// }
	// public function testDumpNumerics()
	// {
	// }
	// public function testDumpAsterisks()
	// {
	// }
	// public function testDumpAmpersands()
	// {
	// }
	// public function testDumpExclamations()
	// {
	// }
	// public function testDumpExclamations2()
	// {
	// }
	// public function testDumpApostrophes()
	// {
	// }
	// public function testDumpNumericHashes()
	// {
	// }
	// public function testEmpty()
	// {
	// }
	// public function testHashesInKeys()
	// {
	// }
	// public function testParagraph()
	// {
	// }
	// public function testParagraphTwo()
	// {
	// }
	// public function testString()
	// {
	// }
	// public function testStringLong()
	// {
	// }
	// public function testStringDoubleQuote()
	// {
	// }
	// public function testLongStringDoubleQuote()
	// {
	// }
	// public function testStringStartingWithSpace()
	// {
	// }
	// public function testPerCentOne()
	// {
	// }
	// public function testPerCentAndSimpleQuote()
	// {
	// }
	// public function testPerCentAndDoubleQuote()
	// {
	// }
	// }
}

namespace Mustangostang {
	/**
	 * Spyc -- A Simple PHP YAML Class
	 *
	 * @version 0.6.2
	 * @author Vlad Andersen <vlad.andersen@gmail.com>
	 * @author Chris Wanstrath <chris@ozmm.org>
	 * @link https://github.com/mustangostang/spyc/
	 * @copyright Copyright 2005-2006 Chris Wanstrath, 2006-2011 Vlad Andersen
	 * @license http://www.opensource.org/licenses/mit-license.php MIT License
	 * @package Spyc
	 */
	/**
	 * The Simple PHP YAML Class.
	 *
	 * This class can be used to read a YAML file and convert its contents
	 * into a PHP array.  It currently supports a very limited subsection of
	 * the YAML spec.
	 *
	 * Usage:
	 * <code>
	 *   $Spyc  = new Spyc;
	 *   $array = $Spyc->load($file);
	 * </code>
	 * or:
	 * <code>
	 *   $array = Spyc::YAMLLoad($file);
	 * </code>
	 * or:
	 * <code>
	 *   $array = spyc_load_file($file);
	 * </code>
	 *
	 * @package Spyc
	 */
	class Spyc {

		// SETTINGS
		const REMPTY = "\x00\x00\x00\x00\x00";
		/**
		 * Setting this to true will force YAMLDump to enclose any string value in
		 * quotes.  False by default.
		 *
		 * @var bool
		 */
		public $setting_dump_force_quotes = false;
		/**
		 * Setting this to true will forse YAMLLoad to use syck_load function when
		 * possible. False by default.
		 *
		 * @var bool
		 */
		public $setting_use_syck_is_possible = false;
		/**#@+
		 *
		 * @access public
		 * @var mixed
		 */
		public $_nodeId;
		/**
		 * Load a valid YAML string to Spyc.
		 *
		 * @param string $input
		 * @return array
		 */
		public function load( $input ) {        }
		/**
		 * Load a valid YAML file to Spyc.
		 *
		 * @param string $file
		 * @return array
		 */
		public function loadFile( $file ) {         }
		/**
		 * Load YAML into a PHP array statically
		 *
		 * The load method, when supplied with a YAML stream (string or file),
		 * will do its best to convert YAML in a file into a PHP array.  Pretty
		 * simple.
		 *  Usage:
		 *  <code>
		 *   $array = Spyc::YAMLLoad('lucky.yaml');
		 *   print_r($array);
		 *  </code>
		 *
		 * @access public
		 * @return array
		 * @param string $input Path of YAML file or string containing YAML
		 */
		public static function YAMLLoad( $input ) {         }
		/**
		 * Load a string of YAML into a PHP array statically
		 *
		 * The load method, when supplied with a YAML string, will do its best
		 * to convert YAML in a string into a PHP array.  Pretty simple.
		 *
		 * Note: use this function if you don't want files from the file system
		 * loaded and processed as YAML.  This is of interest to people concerned
		 * about security whose input is from a string.
		 *
		 *  Usage:
		 *  <code>
		 *   $array = Spyc::YAMLLoadString("---\n0: hello world\n");
		 *   print_r($array);
		 *  </code>
		 *
		 * @access public
		 * @return array
		 * @param string $input String containing YAML
		 */
		public static function YAMLLoadString( $input ) {       }
		/**
		 * Dump YAML from PHP array statically
		 *
		 * The dump method, when supplied with an array, will do its best
		 * to convert the array into friendly YAML.  Pretty simple.  Feel free to
		 * save the returned string as nothing.yaml and pass it around.
		 *
		 * Oh, and you can decide how big the indent is and what the wordwrap
		 * for folding is.  Pretty cool -- just pass in 'false' for either if
		 * you want to use the default.
		 *
		 * Indent's default is 2 spaces, wordwrap's default is 40 characters.  And
		 * you can turn off wordwrap by passing in 0.
		 *
		 * @access public
		 * @return string
		 * @param array|\stdClass $array PHP array
		 * @param int             $indent Pass in false to use the default, which is 2
		 * @param int             $wordwrap Pass in 0 for no wordwrap, false for default (40)
		 * @param bool            $no_opening_dashes Do not start YAML file with "---\n"
		 */
		public static function YAMLDump( $array, $indent = false, $wordwrap = false, $no_opening_dashes = false ) {         }
		/**
		 * Dump PHP array to YAML
		 *
		 * The dump method, when supplied with an array, will do its best
		 * to convert the array into friendly YAML.  Pretty simple.  Feel free to
		 * save the returned string as tasteful.yaml and pass it around.
		 *
		 * Oh, and you can decide how big the indent is and what the wordwrap
		 * for folding is.  Pretty cool -- just pass in 'false' for either if
		 * you want to use the default.
		 *
		 * Indent's default is 2 spaces, wordwrap's default is 40 characters.  And
		 * you can turn off wordwrap by passing in 0.
		 *
		 * @access public
		 * @return string
		 * @param array $array PHP array
		 * @param int   $indent Pass in false to use the default, which is 2
		 * @param int   $wordwrap Pass in 0 for no wordwrap, false for default (40)
		 */
		public function dump( $array, $indent = false, $wordwrap = false, $no_opening_dashes = false ) {        }
		function revertLiteralPlaceHolder( $lineArray, $literalBlock ) {        }
	}
}

namespace {
	/**
	 * Performs basic database operations using credentials stored in wp-config.php.
	 *
	 * ## EXAMPLES
	 *
	 *     # Create a new database.
	 *     $ wp db create
	 *     Success: Database created.
	 *
	 *     # Drop an existing database.
	 *     $ wp db drop --yes
	 *     Success: Database dropped.
	 *
	 *     # Reset the current database.
	 *     $ wp db reset --yes
	 *     Success: Database reset.
	 *
	 *     # Execute a SQL query stored in a file.
	 *     $ wp db query < debug.sql
	 *
	 * @when after_wp_config_load
	 */
	class DB_Command extends \WP_CLI_Command {

		/**
		 * Legacy UTF-8 encoding for MySQL.
		 *
		 * @var string
		 */
		const ENCODING_UTF8 = 'utf8';
		/**
		 * Standards-compliant UTF-8 encoding for MySQL.
		 *
		 * @var string
		 */
		const ENCODING_UTF8MB4 = 'utf8mb4';
		/**
		 * A list of incompatible SQL modes.
		 *
		 * Copied over from WordPress Core code.
		 *
		 * @see https://github.com/WordPress/wordpress-develop/blob/5.4.0/src/wp-includes/wp-db.php#L559-L572
		 *
		 * @var string[] Array of SQL mode names that are incompatible with WordPress.
		 */
		protected $sql_incompatible_modes = array( 'NO_ZERO_DATE', 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES', 'TRADITIONAL', 'ANSI' );
		/**
		 * Creates a new database.
		 *
		 * Runs `CREATE_DATABASE` SQL statement using `DB_HOST`, `DB_NAME`,
		 * `DB_USER` and `DB_PASSWORD` database credentials specified in
		 * wp-config.php.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db create
		 *     Success: Database created.
		 */
		public function create( $_, $assoc_args ) {         }
		/**
		 * Deletes the existing database.
		 *
		 * Runs `DROP_DATABASE` SQL statement using `DB_HOST`, `DB_NAME`,
		 * `DB_USER` and `DB_PASSWORD` database credentials specified in
		 * wp-config.php.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--yes]
		 * : Answer yes to the confirmation message.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db drop --yes
		 *     Success: Database dropped.
		 */
		public function drop( $_, $assoc_args ) {       }
		/**
		 * Removes all tables from the database.
		 *
		 * Runs `DROP_DATABASE` and `CREATE_DATABASE` SQL statements using
		 * `DB_HOST`, `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials
		 * specified in wp-config.php.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--yes]
		 * : Answer yes to the confirmation message.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db reset --yes
		 *     Success: Database reset.
		 */
		public function reset( $_, $assoc_args ) {      }
		/**
		 * Removes all tables with `$table_prefix` from the database.
		 *
		 * Runs `DROP_TABLE` for each table that has a `$table_prefix` as specified
		 * in wp-config.php.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--yes]
		 * : Answer yes to the confirmation message.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete all tables that match the current site prefix.
		 *     $ wp db clean --yes
		 *     Success: Tables dropped.
		 *
		 * @when after_wp_load
		 */
		public function clean( $_, $assoc_args ) {      }
		/**
		 * Checks the current status of the database.
		 *
		 * Runs `mysqlcheck` utility with `--check` using `DB_HOST`,
		 * `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials
		 * specified in wp-config.php.
		 *
		 * [See docs](http://dev.mysql.com/doc/refman/5.7/en/check-table.html)
		 * for more details on the `CHECK TABLE` statement.
		 *
		 * This command does not check whether WordPress is installed;
		 * to do that run `wp core is-installed`.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysqlcheck. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db check
		 *     Success: Database checked.
		 */
		public function check( $_, $assoc_args ) {      }
		/**
		 * Optimizes the database.
		 *
		 * Runs `mysqlcheck` utility with `--optimize=true` using `DB_HOST`,
		 * `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials
		 * specified in wp-config.php.
		 *
		 * [See docs](http://dev.mysql.com/doc/refman/5.7/en/optimize-table.html)
		 * for more details on the `OPTIMIZE TABLE` statement.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysqlcheck. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db optimize
		 *     Success: Database optimized.
		 */
		public function optimize( $_, $assoc_args ) {       }
		/**
		 * Repairs the database.
		 *
		 * Runs `mysqlcheck` utility with `--repair=true` using `DB_HOST`,
		 * `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials
		 * specified in wp-config.php.
		 *
		 * [See docs](http://dev.mysql.com/doc/refman/5.7/en/repair-table.html) for
		 * more details on the `REPAIR TABLE` statement.
		 *
		 * ## OPTIONS
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysqlcheck. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysqlcheck. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysqlcheck. [Refer to mysqlcheck docs](https://dev.mysql.com/doc/en/mysqlcheck.html).
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db repair
		 *     Success: Database repaired.
		 */
		public function repair( $_, $assoc_args ) {         }
		/**
		 * Opens a MySQL console using credentials from wp-config.php
		 *
		 * ## OPTIONS
		 *
		 * [--database=<database>]
		 * : Use a specific database. Defaults to DB_NAME.
		 *
		 * [--default-character-set=<character-set>]
		 * : Use a specific character set. Defaults to DB_CHARSET when defined.
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysql. [Refer to mysql docs](https://dev.mysql.com/doc/en/mysql-command-options.html).
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     # Open MySQL console
		 *     $ wp db cli
		 *     mysql>
		 *
		 * @alias connect
		 */
		public function cli( $_, $assoc_args ) {        }
		/**
		 * Executes a SQL query against the database.
		 *
		 * Executes an arbitrary SQL query using `DB_HOST`, `DB_NAME`, `DB_USER`
		 *  and `DB_PASSWORD` database credentials specified in wp-config.php.
		 *
		 * Use the `--skip-column-names` MySQL argument to exclude the headers
		 * from a SELECT query. Pipe the output to remove the ASCII table
		 * entirely.
		 *
		 * ## OPTIONS
		 *
		 * [<sql>]
		 * : A SQL query. If not passed, will try to read from STDIN.
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysql. [Refer to mysql docs](https://dev.mysql.com/doc/en/mysql-command-options.html).
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     # Execute a query stored in a file
		 *     $ wp db query < debug.sql
		 *
		 *     # Query for a specific value in the database (pipe the result to remove the ASCII table borders)
		 *     $ wp db query 'SELECT option_value FROM wp_options WHERE option_name="home"' --skip-column-names
		 *     +---------------------+
		 *     | https://example.com |
		 *     +---------------------+
		 *
		 *     # Check all tables in the database
		 *     $ wp db query "CHECK TABLE $(wp db tables | paste -s -d, -);"
		 *     +---------------------------------------+-------+----------+----------+
		 *     | Table                                 | Op    | Msg_type | Msg_text |
		 *     +---------------------------------------+-------+----------+----------+
		 *     | wordpress_dbase.wp_users              | check | status   | OK       |
		 *     | wordpress_dbase.wp_usermeta           | check | status   | OK       |
		 *     | wordpress_dbase.wp_posts              | check | status   | OK       |
		 *     | wordpress_dbase.wp_comments           | check | status   | OK       |
		 *     | wordpress_dbase.wp_links              | check | status   | OK       |
		 *     | wordpress_dbase.wp_options            | check | status   | OK       |
		 *     | wordpress_dbase.wp_postmeta           | check | status   | OK       |
		 *     | wordpress_dbase.wp_terms              | check | status   | OK       |
		 *     | wordpress_dbase.wp_term_taxonomy      | check | status   | OK       |
		 *     | wordpress_dbase.wp_term_relationships | check | status   | OK       |
		 *     | wordpress_dbase.wp_termmeta           | check | status   | OK       |
		 *     | wordpress_dbase.wp_commentmeta        | check | status   | OK       |
		 *     +---------------------------------------+-------+----------+----------+
		 *
		 *     # Pass extra arguments through to MySQL
		 *     $ wp db query 'SELECT * FROM wp_options WHERE option_name="home"' --skip-column-names
		 *     +---+------+------------------------------+-----+
		 *     | 2 | home | http://wordpress-develop.dev | yes |
		 *     +---+------+------------------------------+-----+
		 *
		 * ## MULTISITE USAGE
		 *
		 * Please note that the global `--url` parameter will have no effect on this command.
		 * In order to query for data in a site other than your primary site,
		 * you will need to manually modify the table names to use the prefix that includes the site's ID.
		 *
		 * For example, to get the `home` option for your second site, modify the example above like so:
		 *
		 *     $ wp db query 'SELECT option_value FROM wp_2_options WHERE option_name="home"' --skip-column-names
		 *     +----------------------+
		 *     | https://example2.com |
		 *     +----------------------+
		 *
		 * To confirm the ID for the site you want to query, you can use the `wp site list` command:
		 *
		 *     # wp site list --fields=blog_id,url
		 *     +---------+-----------------------+
		 *     | blog_id | url                   |
		 *     +---------+-----------------------+
		 *     | 1       | https://example1.com/ |
		 *     | 2       | https://example2.com/ |
		 *     +---------+-----------------------+
		 */
		public function query( $args, $assoc_args ) {       }
		/**
		 * Exports the database to a file or to STDOUT.
		 *
		 * Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and
		 * `DB_PASSWORD` database credentials specified in wp-config.php. Accepts any valid `mysqldump` flags.
		 *
		 * ## OPTIONS
		 *
		 * [<file>]
		 * : The name of the SQL file to export. If '-', then outputs to STDOUT. If
		 * omitted, it will be '{dbname}-{Y-m-d}-{random-hash}.sql'.
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysqldump. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysqldump. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysqldump. [Refer to mysqldump docs](https://dev.mysql.com/doc/en/mysqldump.html#mysqldump-option-summary).
		 *
		 * [--tables=<tables>]
		 * : The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database.
		 *
		 * [--exclude_tables=<tables>]
		 * : The comma separated list of specific tables that should be skipped from exporting. Excluding this parameter will export all tables in the database.
		 *
		 * [--include-tablespaces]
		 * : Skips adding the default --no-tablespaces option to mysqldump.
		 *
		 * [--porcelain]
		 * : Output filename for the exported database.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     # Export database with drop query included
		 *     $ wp db export --add-drop-table
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export certain tables
		 *     $ wp db export --tables=wp_options,wp_users
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export all tables matching a wildcard
		 *     $ wp db export --tables=$(wp db tables 'wp_user*' --format=csv)
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export all tables matching prefix
		 *     $ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv)
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export certain posts without create table statements
		 *     $ wp db export --no-create-info=true --tables=wp_posts --where="ID in (100,101,102)"
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export relating meta for certain posts without create table statements
		 *     $ wp db export --no-create-info=true --tables=wp_postmeta --where="post_id in (100,101,102)"
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Skip certain tables from the exported database
		 *     $ wp db export --exclude_tables=wp_options,wp_users
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Skip all tables matching a wildcard from the exported database
		 *     $ wp db export --exclude_tables=$(wp db tables 'wp_user*' --format=csv)
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Skip all tables matching prefix from the exported database
		 *     $ wp db export --exclude_tables=$(wp db tables --all-tables-with-prefix --format=csv)
		 *     Success: Exported to 'wordpress_dbase-db72bb5.sql'.
		 *
		 *     # Export database to STDOUT.
		 *     $ wp db export -
		 *     -- MySQL dump 10.13  Distrib 5.7.19, for osx10.12 (x86_64)
		 *     --
		 *     -- Host: localhost    Database: wpdev
		 *     -- ------------------------------------------------------
		 *     -- Server version    5.7.19
		 *     ...
		 *
		 * @alias dump
		 */
		public function export( $args, $assoc_args ) {      }
		/**
		 * Imports a database from a file or from STDIN.
		 *
		 * Runs SQL queries using `DB_HOST`, `DB_NAME`, `DB_USER` and
		 * `DB_PASSWORD` database credentials specified in wp-config.php. This
		 * does not create database by itself and only performs whatever tasks are
		 * defined in the SQL.
		 *
		 * ## OPTIONS
		 *
		 * [<file>]
		 * : The name of the SQL file to import. If '-', then reads from STDIN. If omitted, it will look for '{dbname}.sql'.
		 *
		 * [--dbuser=<value>]
		 * : Username to pass to mysql. Defaults to DB_USER.
		 *
		 * [--dbpass=<value>]
		 * : Password to pass to mysql. Defaults to DB_PASSWORD.
		 *
		 * [--<field>=<value>]
		 * : Extra arguments to pass to mysql. [Refer to mysql binary docs](https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html).
		 *
		 * [--skip-optimization]
		 * : When using an SQL file, do not include speed optimization such as disabling auto-commit and key checks.
		 *
		 * [--defaults]
		 * : Loads the environment's MySQL option files. Default behavior is to skip loading them to avoid failures due to misconfiguration.
		 *
		 * ## EXAMPLES
		 *
		 *     # Import MySQL from a file.
		 *     $ wp db import wordpress_dbase.sql
		 *     Success: Imported from 'wordpress_dbase.sql'.
		 */
		public function import( $args, $assoc_args ) {      }
		/**
		 * Lists the database tables.
		 *
		 * Defaults to all tables registered to the $wpdb database handler.
		 *
		 * ## OPTIONS
		 *
		 * [<table>...]
		 * : List tables based on wildcard search, e.g. 'wp_*_options' or 'wp_post?'.
		 *
		 * [--scope=<scope>]
		 * : Can be all, global, ms_global, blog, or old tables. Defaults to all.
		 *
		 * [--network]
		 * : List all the tables in a multisite install.
		 *
		 * [--all-tables-with-prefix]
		 * : List all tables that match the table prefix even if not registered on $wpdb. Overrides --network.
		 *
		 * [--all-tables]
		 * : List all tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --all-tables-with-prefix.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: list
		 * options:
		 *   - list
		 *   - csv
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # List tables for a single site, without shared tables like 'wp_users'
		 *     $ wp db tables --scope=blog --url=sub.example.com
		 *     wp_3_posts
		 *     wp_3_comments
		 *     wp_3_options
		 *     wp_3_postmeta
		 *     wp_3_terms
		 *     wp_3_term_taxonomy
		 *     wp_3_term_relationships
		 *     wp_3_termmeta
		 *     wp_3_commentmeta
		 *
		 *     # Export only tables for a single site
		 *     $ wp db export --tables=$(wp db tables --url=sub.example.com --format=csv)
		 *     Success: Exported to wordpress_dbase.sql
		 *
		 * @when after_wp_load
		 */
		public function tables( $args, $assoc_args ) {      }
		/**
		 * Displays the database name and size.
		 *
		 * Display the database name and size for `DB_NAME` specified in wp-config.php.
		 * The size defaults to a human-readable number.
		 *
		 * Available size formats include:
		 * * b (bytes)
		 * * kb (kilobytes)
		 * * mb (megabytes)
		 * * gb (gigabytes)
		 * * tb (terabytes)
		 * * B   (ISO Byte setting, with no conversion)
		 * * KB  (ISO Kilobyte setting, with 1 KB  = 1,000 B)
		 * * KiB (ISO Kibibyte setting, with 1 KiB = 1,024 B)
		 * * MB  (ISO Megabyte setting, with 1 MB  = 1,000 KB)
		 * * MiB (ISO Mebibyte setting, with 1 MiB = 1,024 KiB)
		 * * GB  (ISO Gigabyte setting, with 1 GB  = 1,000 MB)
		 * * GiB (ISO Gibibyte setting, with 1 GiB = 1,024 MiB)
		 * * TB  (ISO Terabyte setting, with 1 TB  = 1,000 GB)
		 * * TiB (ISO Tebibyte setting, with 1 TiB = 1,024 GiB)
		 *
		 * ## OPTIONS
		 *
		 * [--size_format=<format>]
		 * : Display the database size only, as a bare number.
		 * ---
		 * options:
		 *   - b
		 *   - kb
		 *   - mb
		 *   - gb
		 *   - tb
		 *   - B
		 *   - KB
		 *   - KiB
		 *   - MB
		 *   - MiB
		 *   - GB
		 *   - GiB
		 *   - TB
		 *   - TiB
		 * ---
		 *
		 * [--tables]
		 * : Display each table name and size instead of the database size.
		 *
		 * [--human-readable]
		 * : Display database sizes in human readable formats.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * [--scope=<scope>]
		 * : Can be all, global, ms_global, blog, or old tables. Defaults to all.
		 *
		 * [--network]
		 * : List all the tables in a multisite install.
		 *
		 * [--decimals=<decimals>]
		 * : Number of digits after decimal point. Defaults to 0.
		 *
		 * [--all-tables-with-prefix]
		 * : List all tables that match the table prefix even if not registered on $wpdb. Overrides --network.
		 *
		 * [--all-tables]
		 * : List all tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --all-tables-with-prefix.
		 *
		 * [--order=<order>]
		 * : Ascending or Descending order.
		 * ---
		 * default: asc
		 * options:
		 *   - asc
		 *   - desc
		 * ---
		 *
		 * [--orderby=<orderby>]
		 * : Order by fields.
		 * ---
		 * default: name
		 * options:
		 *   - name
		 *   - size
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db size
		 *     +-------------------+------+
		 *     | Name              | Size |
		 *     +-------------------+------+
		 *     | wordpress_default | 6 MB |
		 *     +-------------------+------+
		 *
		 *     $ wp db size --tables
		 *     +-----------------------+-------+
		 *     | Name                  | Size  |
		 *     +-----------------------+-------+
		 *     | wp_users              | 64 KB |
		 *     | wp_usermeta           | 48 KB |
		 *     | wp_posts              | 80 KB |
		 *     | wp_comments           | 96 KB |
		 *     | wp_links              | 32 KB |
		 *     | wp_options            | 32 KB |
		 *     | wp_postmeta           | 48 KB |
		 *     | wp_terms              | 48 KB |
		 *     | wp_term_taxonomy      | 48 KB |
		 *     | wp_term_relationships | 32 KB |
		 *     | wp_termmeta           | 48 KB |
		 *     | wp_commentmeta        | 48 KB |
		 *     +-----------------------+-------+
		 *
		 *     $ wp db size --size_format=b
		 *     5865472
		 *
		 *     $ wp db size --size_format=kb
		 *     5728
		 *
		 *     $ wp db size --size_format=mb
		 *     6
		 *
		 * @when after_wp_load
		 */
		public function size( $args, $assoc_args ) {        }
		/**
		 * Displays the database table prefix.
		 *
		 * Display the database table prefix, as defined by the database handler's interpretation of the current site.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db prefix
		 *     wp_
		 *
		 * @when after_wp_load
		 */
		public function prefix() {      }
		/**
		 * Finds a string in the database.
		 *
		 * Searches through all of the text columns in a selection of database tables for a given string, Outputs colorized references to the string.
		 *
		 * Defaults to searching through all tables registered to $wpdb. On multisite, this default is limited to the tables for the current site.
		 *
		 * ## OPTIONS
		 *
		 * <search>
		 * : String to search for. The search is case-insensitive by default.
		 *
		 * [<tables>...]
		 * : One or more tables to search through for the string.
		 *
		 * [--network]
		 * : Search through all the tables registered to $wpdb in a multisite install.
		 *
		 * [--all-tables-with-prefix]
		 * : Search through all tables that match the registered table prefix, even if not registered on $wpdb. On one hand, sometimes plugins use tables without registering them to $wpdb. On another hand, this could return tables you don't expect. Overrides --network.
		 *
		 * [--all-tables]
		 * : Search through ALL tables in the database, regardless of the prefix, and even if not registered on $wpdb. Overrides --network and --all-tables-with-prefix.
		 *
		 * [--before_context=<num>]
		 * : Number of characters to display before the match.
		 * ---
		 * default: 40
		 * ---
		 *
		 * [--after_context=<num>]
		 * : Number of characters to display after the match.
		 * ---
		 * default: 40
		 * ---
		 *
		 * [--regex]
		 * : Runs the search as a regular expression (without delimiters). The search becomes case-sensitive (i.e. no PCRE flags are added). Delimiters must be escaped if they occur in the expression. Because the search is run on individual columns, you can use the `^` and `$` tokens to mark the start and end of a match, respectively.
		 *
		 * [--regex-flags=<regex-flags>]
		 * : Pass PCRE modifiers to the regex search (e.g. 'i' for case-insensitivity).
		 *
		 * [--regex-delimiter=<regex-delimiter>]
		 * : The delimiter to use for the regex. It must be escaped if it appears in the search string. The default value is the result of `chr(1)`.
		 *
		 * [--table_column_once]
		 * : Output the 'table:column' line once before all matching row lines in the table column rather than before each matching row.
		 *
		 * [--one_line]
		 * : Place the 'table:column' output on the same line as the row id and match ('table:column:id:match'). Overrides --table_column_once.
		 *
		 * [--matches_only]
		 * : Only output the string matches (including context). No 'table:column's or row ids are outputted.
		 *
		 * [--stats]
		 * : Output stats on the number of matches found, time taken, tables/columns/rows searched, tables skipped.
		 *
		 * [--table_column_color=<color_code>]
		 * : Percent color code to use for the 'table:column' output. For a list of available percent color codes, see below. Default '%G' (bright green).
		 *
		 * [--id_color=<color_code>]
		 * : Percent color code to use for the row id output. For a list of available percent color codes, see below. Default '%Y' (bright yellow).
		 *
		 * [--match_color=<color_code>]
		 * : Percent color code to use for the match (unless both before and after context are 0, when no color code is used). For a list of available percent color codes, see below. Default '%3%k' (black on a mustard background).
		 *
		 * [--fields=<fields>]
		 * : Get a specific subset of the fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 *
		 * The percent color codes available are:
		 *
		 * | Code | Color
		 * | ---- | -----
		 * |  %y  | Yellow (dark) (mustard)
		 * |  %g  | Green (dark)
		 * |  %b  | Blue (dark)
		 * |  %r  | Red (dark)
		 * |  %m  | Magenta (dark)
		 * |  %c  | Cyan (dark)
		 * |  %w  | White (dark) (light gray)
		 * |  %k  | Black
		 * |  %Y  | Yellow (bright)
		 * |  %G  | Green (bright)
		 * |  %B  | Blue (bright)
		 * |  %R  | Red (bright)
		 * |  %M  | Magenta (bright)
		 * |  %C  | Cyan (bright)
		 * |  %W  | White
		 * |  %K  | Black (bright) (dark gray)
		 * |  %3  | Yellow background (dark) (mustard)
		 * |  %2  | Green background (dark)
		 * |  %4  | Blue background (dark)
		 * |  %1  | Red background (dark)
		 * |  %5  | Magenta background (dark)
		 * |  %6  | Cyan background (dark)
		 * |  %7  | White background (dark) (light gray)
		 * |  %0  | Black background
		 * |  %8  | Reverse
		 * |  %U  | Underline
		 * |  %F  | Blink (unlikely to work)
		 *
		 * They can be concatenated. For instance, the default match color of black on a mustard (dark yellow) background `%3%k` can be made black on a bright yellow background with `%Y%0%8`.
		 *
		 * ## EXAMPLES
		 *
		 *     # Search through the database for the 'wordpress-develop' string
		 *     $ wp db search wordpress-develop
		 *     wp_options:option_value
		 *     1:http://wordpress-develop.dev
		 *     wp_options:option_value
		 *     1:https://example.com/foo
		 *         ...
		 *
		 *     # Search through a multisite database on the subsite 'foo' for the 'example.com' string
		 *     $ wp db search example.com --url=example.com/foo
		 *     wp_2_comments:comment_author_url
		 *     1:https://example.com/
		 *     wp_2_options:option_value
		 *         ...
		 *
		 *     # Search through the database for the 'https?://' regular expression, printing stats.
		 *     $ wp db search 'https?://' --regex --stats
		 *     wp_comments:comment_author_url
		 *     1:https://wordpress.org/
		 *         ...
		 *     Success: Found 99146 matches in 10.752s (10.559s searching). Searched 12 tables, 53 columns, 1358907 rows. 1 table skipped: wp_term_relationships.
		 *
		 *     # SQL search database table 'wp_options' where 'option_name' match 'foo'
		 *     wp db query 'SELECT * FROM wp_options WHERE option_name like "%foo%"' --skip-column-names
		 *     +----+--------------+--------------------------------+-----+
		 *     | 98 | foo_options  | a:1:{s:12:"_multiwidget";i:1;} | yes |
		 *     | 99 | foo_settings | a:0:{}                         | yes |
		 *     +----+--------------+--------------------------------+-----+
		 *
		 *     # SQL search and delete records from database table 'wp_options' where 'option_name' match 'foo'
		 *     wp db query "DELETE from wp_options where option_id in ($(wp db query "SELECT GROUP_CONCAT(option_id SEPARATOR ',') from wp_options where option_name like '%foo%';" --silent --skip-column-names))"
		 *
		 *     # Search for a string and print the result as a table
		 *     $ wp db search https://localhost:8889 --format=table --fields=table,column,match
		 *     +------------+--------------+-----------------------------+
		 *     | table      | column       | match                       |
		 *     +------------+--------------+-----------------------------+
		 *     | wp_options | option_value | https://localhost:8889      |
		 *     | wp_options | option_value | https://localhost:8889      |
		 *     | wp_posts   | guid         | https://localhost:8889/?p=1 |
		 *     | wp_users   | user_url     | https://localhost:8889      |
		 *     +------------+--------------+-----------------------------+
		 *
		 *     # Search for a string and get only the IDs (only works for a single table)
		 *     $ wp db search https://localhost:8889 wp_options --format=ids
		 *     1 2
		 *
		 * @when after_wp_load
		 */
		public function search( $args, $assoc_args ) {      }
		/**
		 * Displays information about a given table.
		 *
		 * ## OPTIONS
		 *
		 * <table>
		 * : Name of the database table.
		 *
		 * [--format]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp db columns wp_posts
		 *     +-----------------------+---------------------+------+-----+---------------------+----------------+
		 *     |         Field         |        Type         | Null | Key |       Default       |     Extra      |
		 *     +-----------------------+---------------------+------+-----+---------------------+----------------+
		 *     | ID                    | bigint(20) unsigned | NO   | PRI |                     | auto_increment |
		 *     | post_author           | bigint(20) unsigned | NO   | MUL | 0                   |                |
		 *     | post_date             | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
		 *     | post_date_gmt         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
		 *     | post_content          | longtext            | NO   |     |                     |                |
		 *     | post_title            | text                | NO   |     |                     |                |
		 *     | post_excerpt          | text                | NO   |     |                     |                |
		 *     | post_status           | varchar(20)         | NO   |     | publish             |                |
		 *     | comment_status        | varchar(20)         | NO   |     | open                |                |
		 *     | ping_status           | varchar(20)         | NO   |     | open                |                |
		 *     | post_password         | varchar(255)        | NO   |     |                     |                |
		 *     | post_name             | varchar(200)        | NO   | MUL |                     |                |
		 *     | to_ping               | text                | NO   |     |                     |                |
		 *     | pinged                | text                | NO   |     |                     |                |
		 *     | post_modified         | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
		 *     | post_modified_gmt     | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
		 *     | post_content_filtered | longtext            | NO   |     |                     |                |
		 *     | post_parent           | bigint(20) unsigned | NO   | MUL | 0                   |                |
		 *     | guid                  | varchar(255)        | NO   |     |                     |                |
		 *     | menu_order            | int(11)             | NO   |     | 0                   |                |
		 *     | post_type             | varchar(20)         | NO   | MUL | post                |                |
		 *     | post_mime_type        | varchar(100)        | NO   |     |                     |                |
		 *     | comment_count         | bigint(20)          | NO   |     | 0                   |                |
		 *     +-----------------------+---------------------+------+-----+---------------------+----------------+
		 *
		 * @when after_wp_load
		 */
		public function columns( $args, $assoc_args ) {         }
		/**
		 * Run a single query via the 'mysql' binary.
		 *
		 * This includes the necessary setup to make sure the queries behave similar
		 * to what WPDB produces.
		 *
		 * @param string $query      Query to execute.
		 * @param array  $assoc_args Optional. Associative array of arguments.
		 */
		protected function run_query( $query, $assoc_args = array() ) {         }
		/**
		 * Writes out the `--no-defaults` flag for MySQL commands unless the --defaults flag is specified for the WP_CLI command.
		 *
		 * @param array $assoc_args Associative args array.
		 * @return string Either the '--no-defaults' flag for use in the command or an empty string.
		 */
		protected function get_defaults_flag_string( &$assoc_args ) {       }
		/**
		 * Get the query to change the current SQL mode, and ensure its WordPress compatibility.
		 *
		 * If no modes are passed, it will ensure the current MySQL server modes are
		 * compatible.
		 *
		 * Copied and adapted from WordPress Core code.
		 *
		 * @see https://github.com/WordPress/wordpress-develop/blob/5.4.0/src/wp-includes/wp-db.php#L817-L880
		 *
		 * @param array $assoc_args The associative argument array passed to the command.
		 * @param array $modes      Optional. A list of SQL modes to set.
		 * @return string Query string to use for setting the SQL modes to a
		 *                compatible state.
		 */
		protected function get_sql_mode_query( $assoc_args, $modes = array() ) {        }
		/**
		 * Get the list of current SQL modes.
		 *
		 * @param array $assoc_args The associative argument array passed to the command.
		 * @return string[] Array of SQL modes.
		 */
		protected function get_current_sql_modes( $assoc_args ) {       }
	}
	/**
	 * Upgrade API: Core_Upgrader class
	 *
	 * @package WordPress
	 * @subpackage Upgrader
	 * @since 4.6.0
	 */
	/**
	 * Core class used for updating core.
	 *
	 * It allows for WordPress to upgrade itself in combination with
	 * the wp-admin/includes/update-core.php file.
	 *
	 * @since 2.8.0
	 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php.
	 *
	 * @see WP_Upgrader
	 */

}

namespace WP_CLI\Core {
	/**
	 * A Core Upgrader class that caches the download, and uses cached if available.
	 *
	 * @package wp-cli
	 */
	class CoreUpgrader extends \Core_Upgrader {

		/**
		 * CoreUpgrader constructor.
		 *
		 * @param \WP_Upgrader_Skin|null $skin
		 */
		public function __construct( $skin = null, $insecure = false ) {        }
		/**
		 * Caches the download, and uses cached if available.
		 *
		 * @access public
		 *
		 * @param string $package          The URI of the package. If this is the full path to an
		 *                                 existing local file, it will be returned untouched.
		 * @param bool   $check_signatures Whether to validate file signatures. Default false.
		 * @param array  $hook_extra       Extra arguments to pass to the filter hooks. Default empty array.
		 * @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
		 */
		public function download_package( $package, $check_signatures = false, $hook_extra = array() ) {        }
		/**
		 * Upgrade WordPress core.
		 *
		 * @access public
		 *
		 * @global WP_Filesystem_Base $wp_filesystem Subclass
		 * @global callable           $_wp_filesystem_direct_method
		 *
		 * @param object $current Response object for whether WordPress is current.
		 * @param array  $args {
		 *        Optional. Arguments for upgrading WordPress core. Default empty array.
		 *
		 *        @type bool $pre_check_md5    Whether to check the file checksums before
		 *                                     attempting the upgrade. Default true.
		 *        @type bool $attempt_rollback Whether to attempt to rollback the chances if
		 *                                     there is a problem. Default false.
		 *        @type bool $do_rollback      Whether to perform this "upgrade" as a rollback.
		 *                                     Default false.
		 * }
		 * @return null|false|WP_Error False or WP_Error on failure, null on success.
		 */
		public function upgrade( $current, $args = array() ) {      }
		/**
		 * Error handler to ignore failures on accessing SSL "https://api.wordpress.org/core/checksums/1.0/" in `get_core_checksums()` which seem to occur intermittently.
		 */
		public static function error_handler( $errno, $errstr, $errfile, $errline, $errcontext = null ) {       }
	}
	/**
	 * A Core Upgrader class that leaves packages intact by default.
	 *
	 * @package wp-cli
	 */
	class NonDestructiveCoreUpgrader extends \WP_CLI\Core\CoreUpgrader {

        // phpcs:ignore Generic.CodeAnalysis.UselessOverridingMethod.Found -- Provide default value.
		public function unpack_package( $package, $delete_package = false ) {       }
	}
}

namespace {
	/**
	 * Downloads, installs, updates, and manages a WordPress installation.
	 *
	 * ## EXAMPLES
	 *
	 *     # Download WordPress core
	 *     $ wp core download --locale=nl_NL
	 *     Downloading WordPress 4.5.2 (nl_NL)...
	 *     md5 hash verified: c5366d05b521831dd0b29dfc386e56a5
	 *     Success: WordPress downloaded.
	 *
	 *     # Install WordPress
	 *     $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com
	 *     Success: WordPress installed successfully.
	 *
	 *     # Display the WordPress version
	 *     $ wp core version
	 *     4.5.2
	 *
	 * @package wp-cli
	 */
	class Core_Command extends \WP_CLI_Command {

		/**
		 * Checks for WordPress updates via Version Check API.
		 *
		 * Lists the most recent versions when there are updates available,
		 * or success message when up to date.
		 *
		 * ## OPTIONS
		 *
		 * [--minor]
		 * : Compare only the first two parts of the version number.
		 *
		 * [--major]
		 * : Compare only the first part of the version number.
		 *
		 * [--force-check]
		 * : Bypass the transient cache and force a fresh update check.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each update.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields. Defaults to version,update_type,package_url.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - count
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp core check-update
		 *     +---------+-------------+-------------------------------------------------------------+
		 *     | version | update_type | package_url                                                 |
		 *     +---------+-------------+-------------------------------------------------------------+
		 *     | 4.5.2   | major       | https://downloads.wordpress.org/release/wordpress-4.5.2.zip |
		 *     +---------+-------------+-------------------------------------------------------------+
		 *
		 * @subcommand check-update
		 */
		public function check_update( $_, $assoc_args ) {       }
		/**
		 * Downloads core WordPress files.
		 *
		 * Downloads and extracts WordPress core files to the specified path. Uses
		 * current directory when no path is specified. Downloaded build is verified
		 * to have the correct md5 and then cached to the local filesystem.
		 * Subsequent uses of command will use the local cache if it still exists.
		 *
		 * ## OPTIONS
		 *
		 * [<download-url>]
		 * : Download directly from a provided URL instead of fetching the URL from the wordpress.org servers.
		 *
		 * [--path=<path>]
		 * : Specify the path in which to install WordPress. Defaults to current
		 * directory.
		 *
		 * [--locale=<locale>]
		 * : Select which language you want to download.
		 *
		 * [--version=<version>]
		 * : Select which version you want to download. Accepts a version number, 'latest' or 'nightly'.
		 *
		 * [--skip-content]
		 * : Download WP without the default themes and plugins.
		 *
		 * [--force]
		 * : Overwrites existing files, if present.
		 *
		 * [--insecure]
		 * : Retry download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * [--extract]
		 * : Whether to extract the downloaded file. Defaults to true.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp core download --locale=nl_NL
		 *     Downloading WordPress 4.5.2 (nl_NL)...
		 *     md5 hash verified: c5366d05b521831dd0b29dfc386e56a5
		 *     Success: WordPress downloaded.
		 *
		 * @when before_wp_load
		 */
		public function download( $args, $assoc_args ) {        }
		/**
		 * Checks if WordPress is installed.
		 *
		 * Determines whether WordPress is installed by checking if the standard
		 * database tables are installed. Doesn't produce output; uses exit codes
		 * to communicate whether WordPress is installed.
		 *
		 * ## OPTIONS
		 *
		 * [--network]
		 * : Check if this is a multisite installation.
		 *
		 * ## EXAMPLES
		 *
		 *     # Bash script for checking if WordPress is not installed.
		 *
		 *     if ! wp core is-installed 2>/dev/null; then
		 *         # WP is not installed. Let's try installing it.
		 *         wp core install
		 *     fi
		 *
		 *     # Bash script for checking if WordPress is installed, with fallback.
		 *
		 *     if wp core is-installed 2>/dev/null; then
		 *         # WP is installed. Let's do some things we should only do in a confirmed WP environment.
		 *         wp core verify-checksums
		 *     else
		 *         # Fallback if WP is not installed.
		 *         echo 'Hey Friend, you are in the wrong spot. Move in to your WordPress directory and try again.'
		 *     fi
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args ) {        }
		/**
		 * Runs the standard WordPress installation process.
		 *
		 * Creates the WordPress tables in the database using the URL, title, and
		 * default admin user details provided. Performs the famous 5 minute install
		 * in seconds or less.
		 *
		 * Note: if you've installed WordPress in a subdirectory, then you'll need
		 * to `wp option update siteurl` after `wp core install`. For instance, if
		 * WordPress is installed in the `/wp` directory and your domain is example.com,
		 * then you'll need to run `wp option update siteurl http://example.com/wp` for
		 * your WordPress installation to function properly.
		 *
		 * Note: When using custom user tables (e.g. `CUSTOM_USER_TABLE`), the admin
		 * email and password are ignored if the user_login already exists. If the
		 * user_login doesn't exist, a new user will be created.
		 *
		 * ## OPTIONS
		 *
		 * --url=<url>
		 * : The address of the new site.
		 *
		 * --title=<site-title>
		 * : The title of the new site.
		 *
		 * --admin_user=<username>
		 * : The name of the admin user.
		 *
		 * [--admin_password=<password>]
		 * : The password for the admin user. Defaults to randomly generated string.
		 *
		 * --admin_email=<email>
		 * : The email address for the admin user.
		 *
		 * [--locale=<locale>]
		 * : The locale/language for the installation (e.g. `de_DE`). Default is `en_US`.
		 *
		 * [--skip-email]
		 * : Don't send an email notification to the new admin user.
		 *
		 * ## EXAMPLES
		 *
		 *     # Install WordPress in 5 seconds
		 *     $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com
		 *     Success: WordPress installed successfully.
		 *
		 *     # Install WordPress without disclosing admin_password to bash history
		 *     $ wp core install --url=example.com --title=Example --admin_user=supervisor --admin_email=info@example.com --prompt=admin_password < admin_password.txt
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Transforms an existing single-site installation into a multisite installation.
		 *
		 * Creates the multisite database tables, and adds the multisite constants
		 * to wp-config.php.
		 *
		 * For those using WordPress with Apache, remember to update the `.htaccess`
		 * file with the appropriate multisite rewrite rules.
		 *
		 * [Review the multisite documentation](https://wordpress.org/support/article/create-a-network/)
		 * for more details about how multisite works.
		 *
		 * ## OPTIONS
		 *
		 * [--title=<network-title>]
		 * : The title of the new network.
		 *
		 * [--base=<url-path>]
		 * : Base path after the domain name that each site url will start with.
		 * ---
		 * default: /
		 * ---
		 *
		 * [--subdomains]
		 * : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'.
		 *
		 * [--skip-config]
		 * : Don't add multisite constants to wp-config.php.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp core multisite-convert
		 *     Set up multisite database tables.
		 *     Added multisite constants to wp-config.php.
		 *     Success: Network installed. Don't forget to set up rewrite rules.
		 *
		 * @subcommand multisite-convert
		 * @alias install-network
		 */
		public function multisite_convert( $args, $assoc_args ) {       }
		/**
		 * Installs WordPress multisite from scratch.
		 *
		 * Creates the WordPress tables in the database using the URL, title, and
		 * default admin user details provided. Then, creates the multisite tables
		 * in the database and adds multisite constants to the wp-config.php.
		 *
		 * For those using WordPress with Apache, remember to update the `.htaccess`
		 * file with the appropriate multisite rewrite rules.
		 *
		 * ## OPTIONS
		 *
		 * [--url=<url>]
		 * : The address of the new site.
		 *
		 * [--base=<url-path>]
		 * : Base path after the domain name that each site url in the network will start with.
		 * ---
		 * default: /
		 * ---
		 *
		 * [--subdomains]
		 * : If passed, the network will use subdomains, instead of subdirectories. Doesn't work with 'localhost'.
		 *
		 * --title=<site-title>
		 * : The title of the new site.
		 *
		 * --admin_user=<username>
		 * : The name of the admin user.
		 * ---
		 * default: admin
		 * ---
		 *
		 * [--admin_password=<password>]
		 * : The password for the admin user. Defaults to randomly generated string.
		 *
		 * --admin_email=<email>
		 * : The email address for the admin user.
		 *
		 * [--skip-email]
		 * : Don't send an email notification to the new admin user.
		 *
		 * [--skip-config]
		 * : Don't add multisite constants to wp-config.php.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp core multisite-install --title="Welcome to the WordPress" \
		 *     > --admin_user="admin" --admin_password="password" \
		 *     > --admin_email="user@example.com"
		 *     Single site database tables already present.
		 *     Set up multisite database tables.
		 *     Added multisite constants to wp-config.php.
		 *     Success: Network installed. Don't forget to set up rewrite rules.
		 *
		 * @subcommand multisite-install
		 */
		public function multisite_install( $args, $assoc_args ) {       }
		/**
		 * Displays the WordPress version.
		 *
		 * ## OPTIONS
		 *
		 * [--extra]
		 * : Show extended version information.
		 *
		 * ## EXAMPLES
		 *
		 *     # Display the WordPress version
		 *     $ wp core version
		 *     4.5.2
		 *
		 *     # Display WordPress version along with other information
		 *     $ wp core version --extra
		 *     WordPress version: 4.5.2
		 *     Database revision: 36686
		 *     TinyMCE version:   4.310 (4310-20160418)
		 *     Package language:  en_US
		 *
		 * @when before_wp_load
		 */
		public function version( $args = array(), $assoc_args = array() ) {         }
		/**
		 * Updates WordPress to a newer version.
		 *
		 * Defaults to updating WordPress to the latest version.
		 *
		 * If you see "Error: Another update is currently in progress.", you may
		 * need to run `wp option delete core_updater.lock` after verifying another
		 * update isn't actually running.
		 *
		 * ## OPTIONS
		 *
		 * [<zip>]
		 * : Path to zip file to use, instead of downloading from wordpress.org.
		 *
		 * [--minor]
		 * : Only perform updates for minor releases (e.g. update from WP 4.3 to 4.3.3 instead of 4.4.2).
		 *
		 * [--version=<version>]
		 * : Update to a specific version, instead of to the latest version. Alternatively accepts 'nightly'.
		 *
		 * [--force]
		 * : Update even when installed WP version is greater than the requested version.
		 *
		 * [--locale=<locale>]
		 * : Select which language you want to download.
		 *
		 * [--insecure]
		 * : Retry download without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update WordPress
		 *     $ wp core update
		 *     Updating to version 4.5.2 (en_US)...
		 *     Downloading update from https://downloads.wordpress.org/release/wordpress-4.5.2-no-content.zip...
		 *     Unpacking the update...
		 *     Cleaning up files...
		 *     No files found that need cleaning up
		 *     Success: WordPress updated successfully.
		 *
		 *     # Update WordPress using zip file.
		 *     $ wp core update ../latest.zip
		 *     Starting update...
		 *     Unpacking the update...
		 *     Success: WordPress updated successfully.
		 *
		 *     # Update WordPress to 3.1 forcefully
		 *     $ wp core update --version=3.1 --force
		 *     Updating to version 3.1 (en_US)...
		 *     Downloading update from https://wordpress.org/wordpress-3.1.zip...
		 *     Unpacking the update...
		 *     Warning: Checksums not available for WordPress 3.1/en_US. Please cleanup files manually.
		 *     Success: WordPress updated successfully.
		 *
		 * @alias upgrade
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Runs the WordPress database update procedure.
		 *
		 * ## OPTIONS
		 *
		 * [--network]
		 * : Update databases for all sites on a network
		 *
		 * [--dry-run]
		 * : Compare database versions without performing the update.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update the WordPress database.
		 *     $ wp core update-db
		 *     Success: WordPress database upgraded successfully from db version 36686 to 35700.
		 *
		 *     # Update databases for all sites on a network.
		 *     $ wp core update-db --network
		 *     WordPress database upgraded successfully from db version 35700 to 29630 on example.com/
		 *     Success: WordPress database upgraded on 123/123 sites.
		 *
		 * @subcommand update-db
		 */
		public function update_db( $args, $assoc_args ) {       }
	}
	/**
	 * Gets WP-Cron schedules.
	 *
	 * ## EXAMPLES
	 *
	 *     # List available cron schedules
	 *     $ wp cron schedule list
	 *     +------------+-------------+----------+
	 *     | name       | display     | interval |
	 *     +------------+-------------+----------+
	 *     | hourly     | Once Hourly | 3600     |
	 *     | twicedaily | Twice Daily | 43200    |
	 *     | daily      | Once Daily  | 86400    |
	 *     +------------+-------------+----------+
	 */
	class Cron_Schedule_Command extends \WP_CLI_Command {

		/**
		 * List available cron schedules.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each schedule.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each cron schedule:
		 *
		 * * name
		 * * display
		 * * interval
		 *
		 * There are no additional fields.
		 *
		 * ## EXAMPLES
		 *
		 *     # List available cron schedules
		 *     $ wp cron schedule list
		 *     +------------+-------------+----------+
		 *     | name       | display     | interval |
		 *     +------------+-------------+----------+
		 *     | hourly     | Once Hourly | 3600     |
		 *     | twicedaily | Twice Daily | 43200    |
		 *     | daily      | Once Daily  | 86400    |
		 *     +------------+-------------+----------+
		 *
		 *     # List id of available cron schedule
		 *     $ wp cron schedule list --fields=name --format=ids
		 *     hourly twicedaily daily
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Callback function to format a cron schedule.
		 *
		 * @param array  $schedule The schedule.
		 * @param string $name The schedule name.
		 * @return array The formatted schedule.
		 */
		protected static function format_schedule( array $schedule, $name ) {       }
		/**
		 * Return a list of the cron schedules sorted according to interval.
		 *
		 * @return array The array of cron schedules. Each schedule is itself an array.
		 */
		protected static function get_schedules() {         }
		/**
		 * Callback function to sort the cron schedule array by interval.
		 */
		protected static function sort( array $a, array $b ) {      }
	}
	/**
	 * Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.
	 *
	 * ## EXAMPLES
	 *
	 *     # Test WP Cron spawning system
	 *     $ wp cron test
	 *     Success: WP-Cron spawning is working as expected.
	 */
	class Cron_Command extends \WP_CLI_Command {

		/**
		 * Tests the WP Cron spawning system and reports back its status.
		 *
		 * This command tests the spawning system by performing the following steps:
		 *
		 * * Checks to see if the `DISABLE_WP_CRON` constant is set; errors if true
		 * because WP-Cron is disabled.
		 * * Checks to see if the `ALTERNATE_WP_CRON` constant is set; warns if true.
		 * * Attempts to spawn WP-Cron over HTTP; warns if non 200 response code is
		 * returned.
		 *
		 * ## EXAMPLES
		 *
		 *     # Cron test runs successfully.
		 *     $ wp cron test
		 *     Success: WP-Cron spawning is working as expected.
		 */
		public function test() {        }
		/**
		 * Spawns a request to `wp-cron.php` and return the response.
		 *
		 * This function is designed to mimic the functionality in `spawn_cron()`
		 * with the addition of returning the result of the `wp_remote_post()`
		 * request.
		 *
		 * @return WP_Error|array The response or WP_Error on failure.
		 */
		protected static function get_cron_spawn() {        }
	}
	/**
	 * Schedules, runs, and deletes WP-Cron events.
	 *
	 * ## EXAMPLES
	 *
	 *     # Schedule a new cron event
	 *     $ wp cron event schedule cron_test
	 *     Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:19:16 GMT.
	 *
	 *     # Run all cron events due right now
	 *     $ wp cron event run --due-now
	 *     Executed the cron event 'cron_test_1' in 0.01s.
	 *     Executed the cron event 'cron_test_2' in 0.006s.
	 *     Success: Executed a total of 2 cron events.
	 *
	 *     # Delete all scheduled cron events for the given hook
	 *     $ wp cron event delete cron_test
	 *     Success: Deleted a total of 2 cron events.
	 *
	 *     # List scheduled cron events in JSON
	 *     $ wp cron event list --fields=hook,next_run --format=json
	 *     [{"hook":"wp_version_check","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_plugins","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_themes","next_run":"2016-05-31 10:15:14"}]
	 *
	 * @package wp-cli
	 */
	class Cron_Event_Command extends \WP_CLI_Command {

		/**
		 * Lists scheduled cron events.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--<field>=<value>]
		 * : Filter by one or more fields.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each event.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each cron event:
		 * * hook
		 * * next_run_gmt
		 * * next_run_relative
		 * * recurrence
		 *
		 * These fields are optionally available:
		 * * time
		 * * sig
		 * * args
		 * * schedule
		 * * interval
		 * * next_run
		 *
		 * ## EXAMPLES
		 *
		 *     # List scheduled cron events
		 *     $ wp cron event list
		 *     +-------------------+---------------------+---------------------+------------+
		 *     | hook              | next_run_gmt        | next_run_relative   | recurrence |
		 *     +-------------------+---------------------+---------------------+------------+
		 *     | wp_version_check  | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours   |
		 *     | wp_update_plugins | 2016-05-31 22:15:13 | 11 hours 57 minutes | 12 hours   |
		 *     | wp_update_themes  | 2016-05-31 22:15:14 | 11 hours 57 minutes | 12 hours   |
		 *     +-------------------+---------------------+---------------------+------------+
		 *
		 *     # List scheduled cron events in JSON
		 *     $ wp cron event list --fields=hook,next_run --format=json
		 *     [{"hook":"wp_version_check","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_plugins","next_run":"2016-05-31 10:15:13"},{"hook":"wp_update_themes","next_run":"2016-05-31 10:15:14"}]
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Schedules a new cron event.
		 *
		 * ## OPTIONS
		 *
		 * <hook>
		 * : The hook name.
		 *
		 * [<next-run>]
		 * : A Unix timestamp or an English textual datetime description compatible with `strtotime()`. Defaults to now.
		 *
		 * [<recurrence>]
		 * : How often the event should recur. See `wp cron schedule list` for available schedule names. Defaults to no recurrence.
		 *
		 * [--<field>=<value>]
		 * : Arguments to pass to the hook for the event. <field> should be a numeric key, not a string.
		 *
		 * ## EXAMPLES
		 *
		 *     # Schedule a new cron event
		 *     $ wp cron event schedule cron_test
		 *     Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:19:16 GMT.
		 *
		 *     # Schedule new cron event with hourly recurrence
		 *     $ wp cron event schedule cron_test now hourly
		 *     Success: Scheduled event with hook 'cron_test' for 2016-05-31 10:20:32 GMT.
		 *
		 *     # Schedule new cron event and pass arguments
		 *     $ wp cron event schedule cron_test '+1 hour' --0=first-argument --1=second-argument
		 *     Success: Scheduled event with hook 'cron_test' for 2016-05-31 11:21:35 GMT.
		 */
		public function schedule( $args, $assoc_args ) {        }
		/**
		 * Runs the next scheduled cron event for the given hook.
		 *
		 * ## OPTIONS
		 *
		 * [<hook>...]
		 * : One or more hooks to run.
		 *
		 * [--due-now]
		 * : Run all hooks due right now.
		 *
		 * [--exclude=<hooks>]
		 * : Comma-separated list of hooks to exclude.
		 *
		 * [--all]
		 * : Run all hooks.
		 *
		 * ## EXAMPLES
		 *
		 *     # Run all cron events due right now
		 *     $ wp cron event run --due-now
		 *     Executed the cron event 'cron_test_1' in 0.01s.
		 *     Executed the cron event 'cron_test_2' in 0.006s.
		 *     Success: Executed a total of 2 cron events.
		 */
		public function run( $args, $assoc_args ) {         }
		/**
		 * Unschedules all cron events for a given hook.
		 *
		 * ## OPTIONS
		 *
		 * <hook>
		 * : Name of the hook for which all events should be unscheduled.
		 *
		 * ## EXAMPLES
		 *
		 *     # Unschedule a cron event on given hook.
		 *     $ wp cron event unschedule cron_test
		 *     Success: Unscheduled 2 events for hook 'cron_test'.
		 */
		public function unschedule( $args, $assoc_args ) {      }
		/**
		 * Deletes all scheduled cron events for the given hook.
		 *
		 * ## OPTIONS
		 *
		 * [<hook>...]
		 * : One or more hooks to delete.
		 *
		 * [--due-now]
		 * : Delete all hooks due right now.
		 *
		 * [--exclude=<hooks>]
		 * : Comma-separated list of hooks to exclude.
		 *
		 * [--all]
		 * : Delete all hooks.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete all scheduled cron events for the given hook
		 *     $ wp cron event delete cron_test
		 *     Success: Deleted a total of 2 cron events.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Executes an event immediately.
		 *
		 * @param stdClass $event The event
		 * @return bool Whether the event was successfully executed or not.
		 */
		protected static function run_event( \stdClass $event ) {       }
		/**
		 * Deletes a cron event.
		 *
		 * @param stdClass $event The event
		 * @return bool Whether the event was successfully deleted or not.
		 */
		protected static function delete_event( \stdClass $event ) {        }
		/**
		 * Callback function to format a cron event.
		 *
		 * @param stdClass $event The event.
		 * @return stdClass The formatted event object.
		 */
		protected static function format_event( \stdClass $event ) {        }
		/**
		 * Fetches an array of scheduled cron events.
		 *
		 * @return array|WP_Error An array of event objects, or a WP_Error object if there are no events scheduled.
		 */
		protected static function get_cron_events( $is_due_now = \false ) {         }
		/**
		 * Fetches an array of scheduled cron events selected by the user.
		 *
		 * @param array $args       A list of event names
		 * @param array $assoc_args An associative list of CLI parameters
		 *
		 * @return array|WP_Error An array of objects, or a WP_Error object is there are no events scheduled.
		 */
		protected static function get_selected_cron_events( $args, $assoc_args ) {      }
	}
}

namespace WP_CLI\Fetchers {
	/**
	 * Fetch a WordPress plugin based on one of its attributes.
	 */
	class Plugin extends \WP_CLI\Fetchers\Base {

		/**
		 * @var string $msg Error message to use when invalid data is provided
		 */
		protected $msg = "The '%s' plugin could not be found.";
		/**
		 * Get a plugin object by name
		 *
		 * @param string $name
		 * @return object|false
		 */
		public function get( $name ) {      }
	}
	/**
	 * Fetch a WordPress theme based on one of its attributes.
	 */
	class Theme extends \WP_CLI\Fetchers\Base {

		/**
		 * @var string $msg Error message to use when invalid data is provided
		 */
		protected $msg = "The '%s' theme could not be found.";
		/**
		 * Get a theme object by name
		 *
		 * @param string $name
		 * @return object|false
		 */
		public function get( $name ) {      }
	}
}

namespace WP_CLI {
	abstract class CommandWithUpgrade extends \WP_CLI_Command {

		protected $fetcher;
		protected $item_type;
		protected $obj_fields;
		protected $upgrade_refresh;
		protected $upgrade_transient;
		protected $chained_command = false;
		// Invalid version message.
		const INVALID_VERSION_MESSAGE = 'version higher than expected';
		public function __construct() {         }
		abstract protected function get_upgrader_class( $force);
		abstract protected function get_item_list();
		/**
		 * @param array List of update candidates
		 * @param array List of item names
		 * @return array List of update candidates
		 */
		abstract protected function filter_item_list( $items, $args);
		abstract protected function get_all_items();
		abstract protected function get_status( $file);
		abstract protected function status_single( $args);
		abstract protected function install_from_repo( $slug, $assoc_args);
		public function status( $args ) {       }
		public function install( $args, $assoc_args ) {         }
		/**
		 * Prepare an API response for downloading a particular version of an item.
		 *
		 * @param object $response wordpress.org API response
		 * @param string $version The desired version of the package
		 */
		protected static function alter_api_response( $response, $version ) {       }
		protected function get_upgrader( $assoc_args ) {        }
		protected function update_many( $args, $assoc_args ) {      }
        // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore -- Whitelisting to provide backward compatibility to classes possibly extending this class.
		protected function _list( $_, $assoc_args ) {       }
		/**
		 * Check whether an item has an update available or not.
		 *
		 * @param string $slug The plugin/theme slug
		 *
		 * @return bool
		 */
		protected function has_update( $slug ) {        }
		/**
		 * Get the available update info
		 *
		 * @return mixed
		 */
		protected function get_update_info() {      }
		protected function format_status( $status, $format ) {      }
		/**
		 * Search wordpress.org repo.
		 *
		 * @param  array $args       A arguments array containing the search term in the first element.
		 * @param  array $assoc_args Data passed in from command.
		 */
        // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore -- Whitelisting to provide backward compatibility to classes possibly extending this class.
		protected function _search( $args, $assoc_args ) {      }
		protected function get_formatter( &$assoc_args ) {      }
		/**
		 * Error handler to ignore failures on accessing SSL "https://api.wordpress.org/themes/update-check/1.1/" in `wp_update_themes()`
		 * and "https://api.wordpress.org/plugins/update-check/1.1/" in `wp_update_plugins()` which seem to occur intermittently.
		 */
		public static function error_handler( $errno, $errstr, $errfile, $errline, $errcontext = null ) {       }
		/**
		 * Get the latest package version based on a given repo slug.
		 *
		 * @param string $repo_slug
		 *
		 * @return array{ name: string, url: string }|\WP_Error
		 */
		protected function get_the_latest_github_version( $repo_slug ) {        }
		/**
		 * Get the GitHub repo from the URL.
		 *
		 * @param string $url
		 *
		 * @return string|null
		 */
		protected function get_github_repo_from_releases_url( $url ) {      }
	}
}

namespace {
	/**
	 * Upgrade API: Theme_Upgrader class
	 *
	 * @package WordPress
	 * @subpackage Upgrader
	 * @since 4.6.0
	 */
	/**
	 * Core class used for upgrading/installing themes.
	 *
	 * It is designed to upgrade/install themes from a local zip, remote zip URL,
	 * or uploaded zip file.
	 *
	 * @since 2.8.0
	 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php.
	 *
	 * @see WP_Upgrader
	 */

}

namespace WP_CLI {
	/**
	 * A theme upgrader class that clears the destination directory.
	 */
	class DestructiveThemeUpgrader extends \Theme_Upgrader {

		public function install_package( $args = array() ) {        }
	}
}

namespace {
	/**
	 * Upgrade API: Plugin_Upgrader class
	 *
	 * @package WordPress
	 * @subpackage Upgrader
	 * @since 4.6.0
	 */
	/**
	 * Core class used for upgrading/installing plugins.
	 *
	 * It is designed to upgrade/install plugins from a local zip, remote zip URL,
	 * or uploaded zip file.
	 *
	 * @since 2.8.0
	 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php.
	 *
	 * @see WP_Upgrader
	 */

}

namespace WP_CLI {
	/**
	 * A plugin upgrader class that clears the destination directory.
	 */
	class DestructivePluginUpgrader extends \Plugin_Upgrader {

		public function install_package( $args = array() ) {        }
	}
	trait ParseThemeNameInput {

		/**
		 * If have optional args ([<theme>...]) and an all option, then check have something to do.
		 *
		 * @param array  $args Passed-in arguments.
		 * @param bool   $all All flag.
		 * @param string $verb Optional. Verb to use. Defaults to 'install'.
		 * @return array Same as $args if not all, otherwise all slugs.
		 * @throws ExitException If neither plugin name nor --all were provided.
		 */
		protected function check_optional_args_and_all( $args, $all, $verb = 'install' ) {      }
		/**
		 * Gets all available themes.
		 *
		 * Uses the same filter core uses in themes.php to determine which themes
		 * should be available to manage through the WP_Themes_List_Table class.
		 *
		 * @return array
		 */
		private function get_all_themes() {         }
		/**
		 * Check if current version of the theme is higher than the one available at WP.org.
		 *
		 * @param string $slug Theme slug.
		 * @param string $version Theme current version.
		 *
		 * @return bool|string
		 */
		protected function is_theme_version_valid( $slug, $version ) {      }
		/**
		 * Get the status for a given theme.
		 *
		 * @param WP_Theme $theme Theme to get the status for.
		 *
		 * @return string Status of the theme.
		 */
		protected function get_status( $theme ) {       }
		/**
		 * Check whether a given theme is the active theme.
		 *
		 * @param WP_Theme $theme Theme to check.
		 *
		 * @return bool Whether the provided theme is the active theme.
		 */
		protected function is_active_theme( $theme ) {      }
		/**
		 * Check whether a given theme is the active theme parent.
		 *
		 * @param WP_Theme $theme Theme to check.
		 *
		 * @return bool Whether the provided theme is the active theme.
		 */
		protected function is_active_parent_theme( $theme ) {       }
		/**
		 * Get the available update info.
		 *
		 * @return mixed Available update info.
		 */
		protected function get_update_info() {      }
	}
	trait ParsePluginNameInput {

		/**
		 * If have optional args ([<plugin>...]) and an all option, then check have something to do.
		 *
		 * @param array  $args Passed-in arguments.
		 * @param bool   $all All flag.
		 * @param string $verb Optional. Verb to use. Defaults to 'install'.
		 * @return array Same as $args if not all, otherwise all slugs.
		 * @param string $exclude Comma separated list of plugin slugs.
		 * @throws ExitException If neither plugin name nor --all were provided.
		 */
		protected function check_optional_args_and_all( $args, $all, $verb = 'install', $exclude = null ) {         }
		/**
		 * Gets all available plugins.
		 *
		 * Uses the same filter core uses in plugins.php to determine which plugins
		 * should be available to manage through the WP_Plugins_List_Table class.
		 *
		 * @return array
		 */
		private function get_all_plugins() {        }
	}
}

namespace {
	/**
	 * Manages theme auto-updates.
	 *
	 * ## EXAMPLES
	 *
	 *     # Enable the auto-updates for a theme
	 *     $ wp theme auto-updates enable twentysixteen
	 *     Theme auto-updates for 'twentysixteen' enabled.
	 *     Success: Enabled 1 of 1 theme auto-updates.
	 *
	 *     # Disable the auto-updates for a theme
	 *     $ wp theme auto-updates disable twentysixteen
	 *     Theme auto-updates for 'twentysixteen' disabled.
	 *     Success: Disabled 1 of 1 theme auto-updates.
	 *
	 *     # Get the status of theme auto-updates
	 *     $ wp theme auto-updates status twentysixteen
	 *     Auto-updates for theme 'twentysixteen' are disabled.
	 *
	 * @package wp-cli
	 */
	class Theme_AutoUpdates_Command {

		use \WP_CLI\ParseThemeNameInput;
		/**
		 * Site option that stores the status of theme auto-updates.
		 *
		 * @var string
		 */
		const SITE_OPTION = 'auto_update_themes';
		/**
		 * Theme fetcher instance.
		 *
		 * @var Theme
		 */
		protected $fetcher;
		/**
		 * Theme_AutoUpdates_Command constructor.
		 */
		public function __construct() {         }
		/**
		 * Enables the auto-updates for a theme.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to enable auto-updates for.
		 *
		 * [--all]
		 * : If set, auto-updates will be enabled for all themes.
		 *
		 * [--disabled-only]
		 * : If set, filters list of themes to only include the ones that have
		 * auto-updates disabled.
		 *
		 * ## EXAMPLES
		 *
		 *     # Enable the auto-updates for a theme
		 *     $ wp theme auto-updates enable twentysixteen
		 *     Theme auto-updates for 'twentysixteen' enabled.
		 *     Success: Enabled 1 of 1 theme auto-updates.
		 */
		public function enable( $args, $assoc_args ) {      }
		/**
		 * Disables the auto-updates for a theme.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to disable auto-updates for.
		 *
		 * [--all]
		 * : If set, auto-updates will be disabled for all themes.
		 *
		 * [--enabled-only]
		 * : If set, filters list of themes to only include the ones that have
		 * auto-updates enabled.
		 *
		 * ## EXAMPLES
		 *
		 *     # Disable the auto-updates for a theme
		 *     $ wp theme auto-updates disable twentysixteen
		 *     Theme auto-updates for 'twentysixteen' disabled.
		 *     Success: Disabled 1 of 1 theme auto-updates.
		 */
		public function disable( $args, $assoc_args ) {         }
		/**
		 * Shows the status of auto-updates for a theme.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to show the status of the auto-updates of.
		 *
		 * [--all]
		 * : If set, the status of auto-updates for all themes will be shown.
		 *
		 * [--enabled-only]
		 * : If set, filters list of themes to only include the ones that have
		 * auto-updates enabled.
		 *
		 * [--disabled-only]
		 * : If set, filters list of themes to only include the ones that have
		 * auto-updates disabled.
		 *
		 * [--field=<field>]
		 * : Only show the provided field.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - count
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the status of theme auto-updates
		 *     $ wp theme auto-updates status twentysixteen
		 *     +---------------+----------+
		 *     | name          | status   |
		 *     +---------------+----------+
		 *     | twentysixteen | disabled |
		 *     +---------------+----------+
		 *
		 *     # Get the list of themes that have auto-updates enabled
		 *     $ wp theme auto-updates status --all --enabled-only --field=name
		 *     twentysixteen
		 *     twentyseventeen
		 */
		public function status( $args, $assoc_args ) {      }
	}
	/**
	 * Manages plugin auto-updates.
	 *
	 * ## EXAMPLES
	 *
	 *     # Enable the auto-updates for a plugin
	 *     $ wp plugin auto-updates enable hello
	 *     Plugin auto-updates for 'hello' enabled.
	 *     Success: Enabled 1 of 1 plugin auto-updates.
	 *
	 *     # Disable the auto-updates for a plugin
	 *     $ wp plugin auto-updates disable hello
	 *     Plugin auto-updates for 'hello' disabled.
	 *     Success: Disabled 1 of 1 plugin auto-updates.
	 *
	 *     # Get the status of plugin auto-updates
	 *     $ wp plugin auto-updates status hello
	 *     Auto-updates for plugin 'hello' are disabled.
	 *
	 * @package wp-cli
	 */
	class Plugin_AutoUpdates_Command {

		use \WP_CLI\ParsePluginNameInput;
		/**
		 * Site option that stores the status of plugin auto-updates.
		 *
		 * @var string
		 */
		const SITE_OPTION = 'auto_update_plugins';
		/**
		 * Plugin fetcher instance.
		 *
		 * @var Plugin
		 */
		protected $fetcher;
		/**
		 * Plugin_AutoUpdates_Command constructor.
		 */
		public function __construct() {         }
		/**
		 * Enables the auto-updates for a plugin.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to enable auto-updates for.
		 *
		 * [--all]
		 * : If set, auto-updates will be enabled for all plugins.
		 *
		 * [--disabled-only]
		 * : If set, filters list of plugins to only include the ones that have
		 * auto-updates disabled.
		 *
		 * ## EXAMPLES
		 *
		 *     # Enable the auto-updates for a plugin
		 *     $ wp plugin auto-updates enable hello
		 *     Plugin auto-updates for 'hello' enabled.
		 *     Success: Enabled 1 of 1 plugin auto-updates.
		 */
		public function enable( $args, $assoc_args ) {      }
		/**
		 * Disables the auto-updates for a plugin.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to disable auto-updates for.
		 *
		 * [--all]
		 * : If set, auto-updates will be disabled for all plugins.
		 *
		 * [--enabled-only]
		 * : If set, filters list of plugins to only include the ones that have
		 * auto-updates enabled.
		 *
		 * ## EXAMPLES
		 *
		 *     # Disable the auto-updates for a plugin
		 *     $ wp plugin auto-updates disable hello
		 *     Plugin auto-updates for 'hello' disabled.
		 *     Success: Disabled 1 of 1 plugin auto-updates.
		 */
		public function disable( $args, $assoc_args ) {         }
		/**
		 * Shows the status of auto-updates for a plugin.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to show the status of the auto-updates of.
		 *
		 * [--all]
		 * : If set, the status of auto-updates for all plugins will be shown.
		 *
		 * [--enabled-only]
		 * : If set, filters list of plugins to only include the ones that have
		 * auto-updates enabled.
		 *
		 * [--disabled-only]
		 * : If set, filters list of plugins to only include the ones that have
		 * auto-updates disabled.
		 *
		 * [--field=<field>]
		 * : Only show the provided field.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 *   - count
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get the status of plugin auto-updates
		 *     $ wp plugin auto-updates status hello
		 *     +-------+----------+
		 *     | name  | status   |
		 *     +-------+----------+
		 *     | hello | disabled |
		 *     +-------+----------+
		 *
		 *     # Get the list of plugins that have auto-updates enabled
		 *     $ wp plugin auto-updates status --all --enabled-only --field=name
		 *     akismet
		 *     duplicate-post
		 */
		public function status( $args, $assoc_args ) {      }
	}
	/**
	 * Sets, gets, and removes theme mods.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set the 'background_color' theme mod to '000000'.
	 *     $ wp theme mod set background_color 000000
	 *     Success: Theme mod background_color set to 000000.
	 *
	 *     # Get single theme mod in JSON format.
	 *     $ wp theme mod get background_color --format=json
	 *     [{"key":"background_color","value":"dd3333"}]
	 *
	 *     # Remove all theme mods.
	 *     $ wp theme mod remove --all
	 *     Success: Theme mods removed.
	 */
	class Theme_Mod_Command extends \WP_CLI_Command {

		/**
		 * Gets one or more theme mods.
		 *
		 * ## OPTIONS
		 *
		 * [<mod>...]
		 * : One or more mods to get.
		 *
		 * [--field=<field>]
		 * : Returns the value of a single field.
		 *
		 * [--all]
		 * : List all theme mods
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get all theme mods.
		 *     $ wp theme mod get --all
		 *     +------------------+---------+
		 *     | key              | value   |
		 *     +------------------+---------+
		 *     | background_color | dd3333  |
		 *     | link_color       | #dd9933 |
		 *     | main_text_color  | #8224e3 |
		 *     +------------------+---------+
		 *
		 *     # Get single theme mod in JSON format.
		 *     $ wp theme mod get background_color --format=json
		 *     [{"key":"background_color","value":"dd3333"}]
		 *
		 *     # Get value of a single theme mod.
		 *     $ wp theme mod get background_color --field=value
		 *     dd3333
		 *
		 *     # Get multiple theme mods.
		 *     $ wp theme mod get background_color header_textcolor
		 *     +------------------+--------+
		 *     | key              | value  |
		 *     +------------------+--------+
		 *     | background_color | dd3333 |
		 *     | header_textcolor |        |
		 *     +------------------+--------+
		 */
		public function get( $args = array(), $assoc_args = array() ) {         }
		/**
		 * Gets a list of theme mods.
		 *
		 * ## OPTIONS
		 *
		 * [--field=<field>]
		 * : Returns the value of a single field.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Gets a list of theme mods.
		 *     $ wp theme mod list
		 *     +------------------+---------+
		 *     | key              | value   |
		 *     +------------------+---------+
		 *     | background_color | dd3333  |
		 *     | link_color       | #dd9933 |
		 *     | main_text_color  | #8224e3 |
		 *     +------------------+---------+
		 *
		 * @subcommand list
		 */
		public function list_( $args = array(), $assoc_args = array() ) {       }
		/**
		 * Removes one or more theme mods.
		 *
		 * ## OPTIONS
		 *
		 * [<mod>...]
		 * : One or more mods to remove.
		 *
		 * [--all]
		 * : Remove all theme mods.
		 *
		 * ## EXAMPLES
		 *
		 *     # Remove all theme mods.
		 *     $ wp theme mod remove --all
		 *     Success: Theme mods removed.
		 *
		 *     # Remove single theme mod.
		 *     $ wp theme mod remove background_color
		 *     Success: 1 mod removed.
		 *
		 *     # Remove multiple theme mods.
		 *     $ wp theme mod remove background_color header_textcolor
		 *     Success: 2 mods removed.
		 */
		public function remove( $args = array(), $assoc_args = array() ) {      }
		/**
		 * Sets the value of a theme mod.
		 *
		 * ## OPTIONS
		 *
		 * <mod>
		 * : The name of the theme mod to set or update.
		 *
		 * <value>
		 * : The new value.
		 *
		 * ## EXAMPLES
		 *
		 *     # Set theme mod
		 *     $ wp theme mod set background_color 000000
		 *     Success: Theme mod background_color set to 000000.
		 */
		public function set( $args = array(), $assoc_args = array() ) {         }
	}
	/**
	 * Manages themes, including installs, activations, and updates.
	 *
	 * See the WordPress [Theme Handbook](https://developer.wordpress.org/themes/) developer resource for more information on themes.
	 *
	 * ## EXAMPLES
	 *
	 *     # Install the latest version of a theme from wordpress.org and activate
	 *     $ wp theme install twentysixteen --activate
	 *     Installing Twenty Sixteen (1.2)
	 *     Downloading install package from http://downloads.wordpress.org/theme/twentysixteen.1.2.zip...
	 *     Unpacking the package...
	 *     Installing the theme...
	 *     Theme installed successfully.
	 *     Activating 'twentysixteen'...
	 *     Success: Switched to 'Twenty Sixteen' theme.
	 *     Success: Installed 1 of 1 themes.
	 *
	 *     # Get details of an installed theme
	 *     $ wp theme get twentysixteen --fields=name,title,version
	 *     +---------+----------------+
	 *     | Field   | Value          |
	 *     +---------+----------------+
	 *     | name    | Twenty Sixteen |
	 *     | title   | Twenty Sixteen |
	 *     | version | 1.2            |
	 *     +---------+----------------+
	 *
	 *     # Get status of theme
	 *     $ wp theme status twentysixteen
	 *     Theme twentysixteen details:
	 *          Name: Twenty Sixteen
	 *          Status: Active
	 *          Version: 1.2
	 *          Author: the WordPress team
	 *
	 * @package wp-cli
	 */
	class Theme_Command extends \WP_CLI\CommandWithUpgrade {

		use \WP_CLI\ParseThemeNameInput;
		protected $item_type         = 'theme';
		protected $upgrade_refresh   = 'wp_update_themes';
		protected $upgrade_transient = 'update_themes';
		protected $obj_fields        = array( 'name', 'status', 'update', 'version', 'update_version', 'auto_update' );
		public function __construct() {         }
		protected function get_upgrader_class( $force ) {       }
		/**
		 * Reveals the status of one or all themes.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>]
		 * : A particular theme to show the status for.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp theme status twentysixteen
		 *     Theme twentysixteen details:
		 *          Name: Twenty Sixteen
		 *          Status: Inactive
		 *          Version: 1.2
		 *          Author: the WordPress team
		 */
		public function status( $args ) {       }
		/**
		 * Searches the WordPress.org theme directory.
		 *
		 * Displays themes in the WordPress.org theme directory matching a given
		 * search query.
		 *
		 * ## OPTIONS
		 *
		 * <search>
		 * : The string to search for.
		 *
		 * [--page=<page>]
		 * : Optional page to display.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [--per-page=<per-page>]
		 * : Optional number of results to display. Defaults to 10.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each theme.
		 *
		 * [--fields=<fields>]
		 * : Ask for specific fields from the API. Defaults to name,slug,author,rating. Acceptable values:
		 *
		 *     **name**: Theme Name
		 *     **slug**: Theme Slug
		 *     **version**: Current Version Number
		 *     **author**: Theme Author
		 *     **preview_url**: Theme Preview URL
		 *     **screenshot_url**: Theme Screenshot URL
		 *     **rating**: Theme Rating
		 *     **num_ratings**: Number of Theme Ratings
		 *     **homepage**: Theme Author's Homepage
		 *     **description**: Theme Description
		 *     **url**: Theme's URL on wordpress.org
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp theme search photo --per-page=6
		 *     Success: Showing 6 of 203 themes.
		 *     +----------------------+----------------------+--------+
		 *     | name                 | slug                 | rating |
		 *     +----------------------+----------------------+--------+
		 *     | Photos               | photos               | 100    |
		 *     | Infinite Photography | infinite-photography | 100    |
		 *     | PhotoBook            | photobook            | 100    |
		 *     | BG Photo Frame       | bg-photo-frame       | 0      |
		 *     | fPhotography         | fphotography         | 0      |
		 *     | Photo Perfect        | photo-perfect        | 98     |
		 *     +----------------------+----------------------+--------+
		 */
		public function search( $args, $assoc_args ) {      }
		protected function status_single( $args ) {         }
		protected function get_all_items() {        }
		/**
		 * Activates a theme.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The theme to activate.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp theme activate twentysixteen
		 *     Success: Switched to 'Twenty Sixteen' theme.
		 */
		public function activate( $args = array() ) {       }
		/**
		 * Enables a theme on a WordPress multisite install.
		 *
		 * Permits theme to be activated from the dashboard of a site on a WordPress
		 * multisite install.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The theme to enable.
		 *
		 * [--network]
		 * : If set, the theme is enabled for the entire network
		 *
		 * [--activate]
		 * : If set, the theme is activated for the current site. Note that
		 * the "network" flag has no influence on this.
		 *
		 * ## EXAMPLES
		 *
		 *     # Enable theme
		 *     $ wp theme enable twentysixteen
		 *     Success: Enabled the 'Twenty Sixteen' theme.
		 *
		 *     # Network enable theme
		 *     $ wp theme enable twentysixteen --network
		 *     Success: Network enabled the 'Twenty Sixteen' theme.
		 *
		 *     # Network enable and activate theme for current site
		 *     $ wp theme enable twentysixteen --activate
		 *     Success: Enabled the 'Twenty Sixteen' theme.
		 *     Success: Switched to 'Twenty Sixteen' theme.
		 */
		public function enable( $args, $assoc_args ) {      }
		/**
		 * Disables a theme on a WordPress multisite install.
		 *
		 * Removes ability for a theme to be activated from the dashboard of a site
		 * on a WordPress multisite install.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The theme to disable.
		 *
		 * [--network]
		 * : If set, the theme is disabled on the network level. Note that
		 * individual sites may still have this theme enabled if it was
		 * enabled for them independently.
		 *
		 * ## EXAMPLES
		 *
		 *     # Disable theme
		 *     $ wp theme disable twentysixteen
		 *     Success: Disabled the 'Twenty Sixteen' theme.
		 *
		 *     # Disable theme in network level
		 *     $ wp theme disable twentysixteen --network
		 *     Success: Network disabled the 'Twenty Sixteen' theme.
		 */
		public function disable( $args, $assoc_args ) {         }
		/**
		 * Gets the path to a theme or to the theme directory.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>]
		 * : The theme to get the path to. Path includes "style.css" file.
		 * If not set, will return the path to the themes directory.
		 *
		 * [--dir]
		 * : If set, get the path to the closest parent directory, instead of the
		 * theme's "style.css" file.
		 *
		 * ## EXAMPLES
		 *
		 *     # Get theme path
		 *     $ wp theme path
		 *     /var/www/example.com/public_html/wp-content/themes
		 *
		 *     # Change directory to theme path
		 *     $ cd $(wp theme path)
		 */
		public function path( $args, $assoc_args ) {        }
		protected function install_from_repo( $slug, $assoc_args ) {        }
		protected function get_item_list() {        }
		protected function filter_item_list( $items, $args ) {      }
		/**
		 * Installs one or more themes.
		 *
		 * ## OPTIONS
		 *
		 * <theme|zip|url>...
		 * : One or more themes to install. Accepts a theme slug, the path to a local zip file, or a URL to a remote zip file.
		 *
		 * [--version=<version>]
		 * : If set, get that particular version from wordpress.org, instead of the
		 * stable version.
		 *
		 * [--force]
		 * : If set, the command will overwrite any installed version of the theme, without prompting
		 * for confirmation.
		 *
		 * [--activate]
		 * : If set, the theme will be activated immediately after install.
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Install the latest version from wordpress.org and activate
		 *     $ wp theme install twentysixteen --activate
		 *     Installing Twenty Sixteen (1.2)
		 *     Downloading install package from http://downloads.wordpress.org/theme/twentysixteen.1.2.zip...
		 *     Unpacking the package...
		 *     Installing the theme...
		 *     Theme installed successfully.
		 *     Activating 'twentysixteen'...
		 *     Success: Switched to 'Twenty Sixteen' theme.
		 *     Success: Installed 1 of 1 themes.
		 *
		 *     # Install from a local zip file
		 *     $ wp theme install ../my-theme.zip
		 *
		 *     # Install from a remote zip file
		 *     $ wp theme install http://s3.amazonaws.com/bucketname/my-theme.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Gets details about a theme.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The theme to get.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole theme, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp theme get twentysixteen --fields=name,title,version
		 *     +---------+----------------+
		 *     | Field   | Value          |
		 *     +---------+----------------+
		 *     | name    | Twenty Sixteen |
		 *     | title   | Twenty Sixteen |
		 *     | version | 1.2            |
		 *     +---------+----------------+
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Updates one or more themes.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to update.
		 *
		 * [--all]
		 * : If set, all themes that have updates will be updated.
		 *
		 * [--exclude=<theme-names>]
		 * : Comma separated list of theme names that should be excluded from updating.
		 *
		 * [--minor]
		 * : Only perform updates for minor releases (e.g. from 1.3 to 1.4 instead of 2.0)
		 *
		 * [--patch]
		 * : Only perform updates for patch releases (e.g. from 1.3 to 1.3.3 instead of 1.4)
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * [--version=<version>]
		 * : If set, the theme will be updated to the specified version.
		 *
		 * [--dry-run]
		 * : Preview which themes would be updated.
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Update multiple themes
		 *     $ wp theme update twentyfifteen twentysixteen
		 *     Downloading update from https://downloads.wordpress.org/theme/twentyfifteen.1.5.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the theme...
		 *     Theme updated successfully.
		 *     Downloading update from https://downloads.wordpress.org/theme/twentysixteen.1.2.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the theme...
		 *     Theme updated successfully.
		 *     +---------------+-------------+-------------+---------+
		 *     | name          | old_version | new_version | status  |
		 *     +---------------+-------------+-------------+---------+
		 *     | twentyfifteen | 1.4         | 1.5         | Updated |
		 *     | twentysixteen | 1.1         | 1.2         | Updated |
		 *     +---------------+-------------+-------------+---------+
		 *     Success: Updated 2 of 2 themes.
		 *
		 *     # Exclude themes updates when bulk updating the themes
		 *     $ wp theme update --all --exclude=twentyfifteen
		 *     Downloading update from https://downloads.wordpress.org/theme/astra.1.0.5.1.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the theme...
		 *     Theme updated successfully.
		 *     Downloading update from https://downloads.wordpress.org/theme/twentyseventeen.1.2.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the theme...
		 *     Theme updated successfully.
		 *     +-----------------+----------+---------+----------------+
		 *     | name            | status   | version | update_version |
		 *     +-----------------+----------+---------+----------------+
		 *     | astra           | inactive | 1.0.1   | 1.0.5.1        |
		 *     | twentyseventeen | inactive | 1.1     | 1.2            |
		 *     +-----------------+----------+---------+----------------+
		 *     Success: Updated 2 of 2 themes.
		 *
		 *     # Update all themes
		 *     $ wp theme update --all
		 *
		 * @alias upgrade
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Checks if a given theme is installed.
		 *
		 * Returns exit code 0 when installed, 1 when uninstalled.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The theme to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether theme is installed; exit status 0 if installed, otherwise 1
		 *     $ wp theme is-installed hello
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args = array() ) {      }
		/**
		 * Checks if a given theme is active.
		 *
		 * Returns exit code 0 when active, 1 when not active.
		 *
		 * ## OPTIONS
		 *
		 * <theme>
		 * : The plugin to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether theme is Active; exit status 0 if active, otherwise 1
		 *     $ wp theme is-active twentyfifteen
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-active
		 */
		public function is_active( $args, $assoc_args = array() ) {         }
		/**
		 * Deletes one or more themes.
		 *
		 * Removes the theme or themes from the filesystem.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>...]
		 * : One or more themes to delete.
		 *
		 * [--all]
		 * : If set, all themes will be deleted except active theme.
		 *
		 * [--force]
		 * : To delete active theme use this.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp theme delete twentytwelve
		 *     Deleted 'twentytwelve' theme.
		 *     Success: Deleted 1 of 1 themes.
		 *
		 * @alias uninstall
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Gets a list of themes.
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : Filter results based on the value of a field.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each theme.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * [--status=<status>]
		 * : Filter the output by theme status.
		 * ---
		 * options:
		 *   - active
		 *   - parent
		 *   - inactive
		 * ---
		 *
		 * [--skip-update-check]
		 * : If set, the theme update check will be skipped.
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each theme:
		 *
		 * * name
		 * * status
		 * * update
		 * * version
		 * * update_version
		 * * auto_update
		 *
		 * These fields are optionally available:
		 *
		 * * update_package
		 * * update_id
		 * * title
		 * * description
		 *
		 * ## EXAMPLES
		 *
		 *     # List inactive themes.
		 *     $ wp theme list --status=inactive --format=csv
		 *     name,status,update,version,update_version,auto_update
		 *     twentyfourteen,inactive,none,3.8,,off
		 *     twentysixteen,inactive,available,3.0,3.1,off
		 *
		 * @subcommand list
		 */
		public function list_( $_, $assoc_args ) {      }
	}
	/**
	 * Manages plugins, including installs, activations, and updates.
	 *
	 * See the WordPress [Plugin Handbook](https://developer.wordpress.org/plugins/) developer resource for more information on plugins.
	 *
	 * ## EXAMPLES
	 *
	 *     # Activate plugin
	 *     $ wp plugin activate hello
	 *     Plugin 'hello' activated.
	 *     Success: Activated 1 of 1 plugins.
	 *
	 *     # Deactivate plugin
	 *     $ wp plugin deactivate hello
	 *     Plugin 'hello' deactivated.
	 *     Success: Deactivated 1 of 1 plugins.
	 *
	 *     # Delete plugin
	 *     $ wp plugin delete hello
	 *     Deleted 'hello' plugin.
	 *     Success: Deleted 1 of 1 plugins.
	 *
	 *     # Install the latest version from wordpress.org and activate
	 *     $ wp plugin install bbpress --activate
	 *     Installing bbPress (2.5.9)
	 *     Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip...
	 *     Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'...
	 *     Unpacking the package...
	 *     Installing the plugin...
	 *     Plugin installed successfully.
	 *     Activating 'bbpress'...
	 *     Plugin 'bbpress' activated.
	 *     Success: Installed 1 of 1 plugins.
	 *
	 * @package wp-cli
	 */
	class Plugin_Command extends \WP_CLI\CommandWithUpgrade {

		use \WP_CLI\ParsePluginNameInput;
		protected $item_type         = 'plugin';
		protected $upgrade_refresh   = 'wp_update_plugins';
		protected $upgrade_transient = 'update_plugins';
		protected $check_wporg       = array(
			'status'       => \false,
			'last_updated' => \false,
		);
		protected $check_headers     = array( 'tested_up_to' => \false );
		protected $obj_fields        = array( 'name', 'status', 'update', 'version', 'update_version', 'auto_update' );
		/**
		 * Plugin fetcher instance.
		 *
		 * @var \WP_CLI\Fetchers\Plugin
		 */
		protected $fetcher;
		public function __construct() {         }
		protected function get_upgrader_class( $force ) {       }
		/**
		 * Reveals the status of one or all plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>]
		 * : A particular plugin to show the status for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Displays status of all plugins
		 *     $ wp plugin status
		 *     5 installed plugins:
		 *       I akismet                3.1.11
		 *       I easy-digital-downloads 2.5.16
		 *       A theme-check            20160523.1
		 *       I wen-logo-slider        2.0.3
		 *       M ns-pack                1.0.0
		 *     Legend: I = Inactive, A = Active, M = Must Use
		 *
		 *     # Displays status of a plugin
		 *     $ wp plugin status theme-check
		 *     Plugin theme-check details:
		 *         Name: Theme Check
		 *         Status: Active
		 *         Version: 20160523.1
		 *         Author: Otto42, pross
		 *         Description: A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
		 */
		public function status( $args ) {       }
		/**
		 * Searches the WordPress.org plugin directory.
		 *
		 * Displays plugins in the WordPress.org plugin directory matching a given
		 * search query.
		 *
		 * ## OPTIONS
		 *
		 * <search>
		 * : The string to search for.
		 *
		 * [--page=<page>]
		 * : Optional page to display.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [--per-page=<per-page>]
		 * : Optional number of results to display.
		 * ---
		 * default: 10
		 * ---
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each plugin.
		 *
		 * [--fields=<fields>]
		 * : Ask for specific fields from the API. Defaults to name,slug,author_profile,rating. Acceptable values:
		 *
		 *     **name**: Plugin Name
		 *     **slug**: Plugin Slug
		 *     **version**: Current Version Number
		 *     **author**: Plugin Author
		 *     **author_profile**: Plugin Author Profile
		 *     **contributors**: Plugin Contributors
		 *     **requires**: Plugin Minimum Requirements
		 *     **tested**: Plugin Tested Up To
		 *     **compatibility**: Plugin Compatible With
		 *     **rating**: Plugin Rating in Percent and Total Number
		 *     **ratings**: Plugin Ratings for each star (1-5)
		 *     **num_ratings**: Number of Plugin Ratings
		 *     **homepage**: Plugin Author's Homepage
		 *     **description**: Plugin's Description
		 *     **short_description**: Plugin's Short Description
		 *     **sections**: Plugin Readme Sections: description, installation, FAQ, screenshots, other notes, and changelog
		 *     **downloaded**: Plugin Download Count
		 *     **last_updated**: Plugin's Last Update
		 *     **added**: Plugin's Date Added to wordpress.org Repository
		 *     **tags**: Plugin's Tags
		 *     **versions**: Plugin's Available Versions with D/L Link
		 *     **donate_link**: Plugin's Donation Link
		 *     **banners**: Plugin's Banner Image Link
		 *     **icons**: Plugin's Icon Image Link
		 *     **active_installs**: Plugin's Number of Active Installs
		 *     **contributors**: Plugin's List of Contributors
		 *     **url**: Plugin's URL on wordpress.org
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - count
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp plugin search dsgnwrks --per-page=20 --format=json
		 *     Success: Showing 3 of 3 plugins.
		 *     [{"name":"DsgnWrks Instagram Importer Debug","slug":"dsgnwrks-instagram-importer-debug","rating":0},{"name":"DsgnWrks Instagram Importer","slug":"dsgnwrks-instagram-importer","rating":84},{"name":"DsgnWrks Twitter Importer","slug":"dsgnwrks-twitter-importer","rating":80}]
		 *
		 *     $ wp plugin search dsgnwrks --fields=name,version,slug,rating,num_ratings
		 *     Success: Showing 3 of 3 plugins.
		 *     +-----------------------------------+---------+-----------------------------------+--------+-------------+
		 *     | name                              | version | slug                              | rating | num_ratings |
		 *     +-----------------------------------+---------+-----------------------------------+--------+-------------+
		 *     | DsgnWrks Instagram Importer Debug | 0.1.6   | dsgnwrks-instagram-importer-debug | 0      | 0           |
		 *     | DsgnWrks Instagram Importer       | 1.3.7   | dsgnwrks-instagram-importer       | 84     | 23          |
		 *     | DsgnWrks Twitter Importer         | 1.1.1   | dsgnwrks-twitter-importer         | 80     | 1           |
		 *     +-----------------------------------+---------+-----------------------------------+--------+-------------+
		 */
		public function search( $args, $assoc_args ) {      }
		protected function status_single( $args ) {         }
		protected function get_all_items() {        }
		/**
		 * Activates one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to activate.
		 *
		 * [--all]
		 * : If set, all plugins will be activated.
		 *
		 * [--exclude=<name>]
		 * : Comma separated list of plugin slugs to be excluded from activation.
		 *
		 * [--network]
		 * : If set, the plugin will be activated for the entire multisite network.
		 *
		 * ## EXAMPLES
		 *
		 *     # Activate plugin
		 *     $ wp plugin activate hello
		 *     Plugin 'hello' activated.
		 *     Success: Activated 1 of 1 plugins.
		 *
		 *     # Activate plugin in entire multisite network
		 *     $ wp plugin activate hello --network
		 *     Plugin 'hello' network activated.
		 *     Success: Network activated 1 of 1 plugins.
		 *
		 *     # Activate plugins that were recently active.
		 *     $ wp plugin activate $(wp plugin list --recently-active --field=name)
		 *     Plugin 'bbpress' activated.
		 *     Plugin 'buddypress' activated.
		 *     Success: Activated 2 of 2 plugins.
		 *
		 *     # Activate plugins that were recently active on a multisite.
		 *     $ wp plugin activate $(wp plugin list --recently-active --field=name) --network
		 *     Plugin 'bbpress' network activated.
		 *     Plugin 'buddypress' network activated.
		 *     Success: Activated 2 of 2 plugins.
		 */
		public function activate( $args, $assoc_args = array() ) {      }
		/**
		 * Deactivates one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to deactivate.
		 *
		 * [--uninstall]
		 * : Uninstall the plugin after deactivation.
		 *
		 * [--all]
		 * : If set, all plugins will be deactivated.
		 *
		 * [--exclude=<name>]
		 * : Comma separated list of plugin slugs that should be excluded from deactivation.
		 *
		 * [--network]
		 * : If set, the plugin will be deactivated for the entire multisite network.
		 *
		 * ## EXAMPLES
		 *
		 *     # Deactivate plugin
		 *     $ wp plugin deactivate hello
		 *     Plugin 'hello' deactivated.
		 *     Success: Deactivated 1 of 1 plugins.
		 *
		 *     # Deactivate all plugins with exclusion
		 *     $ wp plugin deactivate --all --exclude=hello,wordpress-seo
		 *     Plugin 'contact-form-7' deactivated.
		 *     Plugin 'ninja-forms' deactivated.
		 *     Success: Deactivated 2 of 2 plugins.
		 */
		public function deactivate( $args, $assoc_args = array() ) {        }
		/**
		 * Toggles a plugin's activation state.
		 *
		 * If the plugin is active, then it will be deactivated. If the plugin is
		 * inactive, then it will be activated.
		 *
		 * ## OPTIONS
		 *
		 * <plugin>...
		 * : One or more plugins to toggle.
		 *
		 * [--network]
		 * : If set, the plugin will be toggled for the entire multisite network.
		 *
		 * ## EXAMPLES
		 *
		 *     # Akismet is currently activated
		 *     $ wp plugin toggle akismet
		 *     Plugin 'akismet' deactivated.
		 *     Success: Toggled 1 of 1 plugins.
		 *
		 *     # Akismet is currently deactivated
		 *     $ wp plugin toggle akismet
		 *     Plugin 'akismet' activated.
		 *     Success: Toggled 1 of 1 plugins.
		 */
		public function toggle( $args, $assoc_args = array() ) {        }
		/**
		 * Gets the path to a plugin or to the plugin directory.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>]
		 * : The plugin to get the path to. If not set, will return the path to the
		 * plugins directory.
		 *
		 * [--dir]
		 * : If set, get the path to the closest parent directory, instead of the
		 * plugin file.
		 *
		 * ## EXAMPLES
		 *
		 *     $ cd $(wp plugin path) && pwd
		 *     /var/www/wordpress/wp-content/plugins
		 */
		public function path( $args, $assoc_args ) {        }
		protected function install_from_repo( $slug, $assoc_args ) {        }
		/**
		 * Updates one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to update.
		 *
		 * [--all]
		 * : If set, all plugins that have updates will be updated.
		 *
		 * [--exclude=<name>]
		 * : Comma separated list of plugin names that should be excluded from updating.
		 *
		 * [--minor]
		 * : Only perform updates for minor releases (e.g. from 1.3 to 1.4 instead of 2.0)
		 *
		 * [--patch]
		 * : Only perform updates for patch releases (e.g. from 1.3 to 1.3.3 instead of 1.4)
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - summary
		 * ---
		 *
		 * [--version=<version>]
		 * : If set, the plugin will be updated to the specified version.
		 *
		 * [--dry-run]
		 * : Preview which plugins would be updated.
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp plugin update bbpress --version=dev
		 *     Installing bbPress (Development Version)
		 *     Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip...
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Removing the old version of the plugin...
		 *     Plugin updated successfully.
		 *     Success: Updated 1 of 2 plugins.
		 *
		 *     $ wp plugin update --all
		 *     Enabling Maintenance mode...
		 *     Downloading update from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the plugin...
		 *     Plugin updated successfully.
		 *     Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the plugin...
		 *     Plugin updated successfully.
		 *     Disabling Maintenance mode...
		 *     +------------------------+-------------+-------------+---------+
		 *     | name                   | old_version | new_version | status  |
		 *     +------------------------+-------------+-------------+---------+
		 *     | akismet                | 3.1.3       | 3.1.11      | Updated |
		 *     | nginx-cache-controller | 3.1.1       | 3.2.0       | Updated |
		 *     +------------------------+-------------+-------------+---------+
		 *     Success: Updated 2 of 2 plugins.
		 *
		 *     $ wp plugin update --all --exclude=akismet
		 *     Enabling Maintenance mode...
		 *     Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip...
		 *     Unpacking the update...
		 *     Installing the latest version...
		 *     Removing the old version of the plugin...
		 *     Plugin updated successfully.
		 *     Disabling Maintenance mode...
		 *     +------------------------+-------------+-------------+---------+
		 *     | name                   | old_version | new_version | status  |
		 *     +------------------------+-------------+-------------+---------+
		 *     | nginx-cache-controller | 3.1.1       | 3.2.0       | Updated |
		 *     +------------------------+-------------+-------------+---------+
		 *
		 * @alias upgrade
		 */
		public function update( $args, $assoc_args ) {      }
		protected function get_item_list() {        }
		/**
		 * Get the wordpress.org status of a plugin.
		 *
		 * @param string $plugin_name The plugin slug.
		 *
		 * @return string The status of the plugin, includes the last update date.
		 */
		protected function get_wporg_data( $plugin_name ) {         }
		protected function filter_item_list( $items, $args ) {      }
		/**
		 * Installs one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * <plugin|zip|url>...
		 * : One or more plugins to install. Accepts a plugin slug, the path to a local zip file, or a URL to a remote zip file.
		 *
		 * [--version=<version>]
		 * : If set, get that particular version from wordpress.org, instead of the
		 * stable version.
		 *
		 * [--force]
		 * : If set, the command will overwrite any installed version of the plugin, without prompting
		 * for confirmation.
		 *
		 * [--activate]
		 * : If set, the plugin will be activated immediately after install.
		 *
		 * [--activate-network]
		 * : If set, the plugin will be network activated immediately after install
		 *
		 * [--insecure]
		 * : Retry downloads without certificate validation if TLS handshake fails. Note: This makes the request vulnerable to a MITM attack.
		 *
		 * ## EXAMPLES
		 *
		 *     # Install the latest version from wordpress.org and activate
		 *     $ wp plugin install bbpress --activate
		 *     Installing bbPress (2.5.9)
		 *     Downloading install package from https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip...
		 *     Using cached file '/home/vagrant/.wp-cli/cache/plugin/bbpress-2.5.9.zip'...
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Plugin installed successfully.
		 *     Activating 'bbpress'...
		 *     Plugin 'bbpress' activated.
		 *     Success: Installed 1 of 1 plugins.
		 *
		 *     # Install the development version from wordpress.org
		 *     $ wp plugin install bbpress --version=dev
		 *     Installing bbPress (Development Version)
		 *     Downloading install package from https://downloads.wordpress.org/plugin/bbpress.zip...
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Plugin installed successfully.
		 *     Success: Installed 1 of 1 plugins.
		 *
		 *     # Install from a local zip file
		 *     $ wp plugin install ../my-plugin.zip
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Plugin installed successfully.
		 *     Success: Installed 1 of 1 plugins.
		 *
		 *     # Install from a remote zip file
		 *     $ wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef
		 *     Downloading install package from http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Plugin installed successfully.
		 *     Success: Installed 1 of 1 plugins.
		 *
		 *     # Update from a remote zip file
		 *     $ wp plugin install https://github.com/envato/wp-envato-market/archive/master.zip --force
		 *     Downloading install package from https://github.com/envato/wp-envato-market/archive/master.zip
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Renamed Github-based project from 'wp-envato-market-master' to 'wp-envato-market'.
		 *     Plugin updated successfully
		 *     Success: Installed 1 of 1 plugins.
		 *
		 *     # Forcefully re-install all installed plugins
		 *     $ wp plugin install $(wp plugin list --field=name) --force
		 *     Installing Akismet (3.1.11)
		 *     Downloading install package from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip...
		 *     Unpacking the package...
		 *     Installing the plugin...
		 *     Removing the old version of the plugin...
		 *     Plugin updated successfully
		 *     Success: Installed 1 of 1 plugins.
		 */
		public function install( $args, $assoc_args ) {         }
		/**
		 * Gets details about an installed plugin.
		 *
		 * ## OPTIONS
		 *
		 * <plugin>
		 * : The plugin to get.
		 *
		 * [--field=<field>]
		 * : Instead of returning the whole plugin, returns the value of a single field.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific fields. Defaults to all fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for the plugin:
		 *
		 * * name
		 * * title
		 * * author
		 * * version
		 * * description
		 * * status
		 *
		 * These fields are optionally available:
		 *
		 * * requires_wp
		 * * requires_php
		 * * requires_plugins
		 *
		 * ## EXAMPLES
		 *
		 *     # Get plugin details.
		 *     $ wp plugin get bbpress --format=json
		 *     {"name":"bbpress","title":"bbPress","author":"The bbPress Contributors","version":"2.6.9","description":"bbPress is forum software with a twist from the creators of WordPress.","status":"active"}
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Uninstalls one or more plugins.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to uninstall.
		 *
		 * [--deactivate]
		 * : Deactivate the plugin before uninstalling. Default behavior is to warn and skip if the plugin is active.
		 *
		 * [--skip-delete]
		 * : If set, the plugin files will not be deleted. Only the uninstall procedure
		 * will be run.
		 *
		 * [--all]
		 * : If set, all plugins will be uninstalled.
		 *
		 * [--exclude=<name>]
		 * : Comma separated list of plugin slugs to be excluded from uninstall.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp plugin uninstall hello
		 *     Uninstalled and deleted 'hello' plugin.
		 *     Success: Uninstalled 1 of 1 plugins.
		 *
		 *     # Uninstall all plugins excluding specified ones
		 *     $ wp plugin uninstall --all --exclude=hello-dolly,jetpack
		 *     Uninstalled and deleted 'akismet' plugin.
		 *     Uninstalled and deleted 'tinymce-templates' plugin.
		 *     Success: Uninstalled 2 of 2 plugins.
		 */
		public function uninstall( $args, $assoc_args = array() ) {         }
		/**
		 * Checks if a given plugin is installed.
		 *
		 * Returns exit code 0 when installed, 1 when uninstalled.
		 *
		 * ## OPTIONS
		 *
		 * <plugin>
		 * : The plugin to check.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether plugin is installed; exit status 0 if installed, otherwise 1
		 *     $ wp plugin is-installed hello
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-installed
		 */
		public function is_installed( $args, $assoc_args = array() ) {      }
		/**
		 * Checks if a given plugin is active.
		 *
		 * Returns exit code 0 when active, 1 when not active.
		 *
		 * ## OPTIONS
		 *
		 * <plugin>
		 * : The plugin to check.
		 *
		 * [--network]
		 * : If set, check if plugin is network-activated.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether plugin is Active; exit status 0 if active, otherwise 1
		 *     $ wp plugin is-active hello
		 *     $ echo $?
		 *     1
		 *
		 * @subcommand is-active
		 */
		public function is_active( $args, $assoc_args = array() ) {         }
		/**
		 * Deletes plugin files without deactivating or uninstalling.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>...]
		 * : One or more plugins to delete.
		 *
		 * [--all]
		 * : If set, all plugins will be deleted.
		 *
		 * [--exclude=<name>]
		 * : Comma separated list of plugin slugs to be excluded from deletion.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete plugin
		 *     $ wp plugin delete hello
		 *     Deleted 'hello' plugin.
		 *     Success: Deleted 1 of 1 plugins.
		 *
		 *     # Delete inactive plugins
		 *     $ wp plugin delete $(wp plugin list --status=inactive --field=name)
		 *     Deleted 'tinymce-templates' plugin.
		 *     Success: Deleted 1 of 1 plugins.
		 *
		 *     # Delete all plugins excluding specified ones
		 *     $ wp plugin delete --all --exclude=hello-dolly,jetpack
		 *     Deleted 'akismet' plugin.
		 *     Deleted 'tinymce-templates' plugin.
		 *     Success: Deleted 2 of 2 plugins.
		 */
		public function delete( $args, $assoc_args = array() ) {        }
		/**
		 * Gets a list of plugins.
		 *
		 * Displays a list of the plugins installed on the site with activation
		 * status, whether or not there's an update available, etc.
		 *
		 * Use `--status=dropin` to list installed dropins (e.g. `object-cache.php`).
		 *
		 * ## OPTIONS
		 *
		 * [--<field>=<value>]
		 * : Filter results based on the value of a field.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field for each plugin.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - count
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * [--status=<status>]
		 * : Filter the output by plugin status.
		 * ---
		 * options:
		 *   - active
		 *   - active-network
		 *   - dropin
		 *   - inactive
		 *   - must-use
		 * ---
		 *
		 * [--skip-update-check]
		 * : If set, the plugin update check will be skipped.
		 *
		 * [--recently-active]
		 * : If set, only recently active plugins will be shown and the status filter will be ignored.
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each plugin:
		 *
		 * * name
		 * * status
		 * * update
		 * * version
		 * * update_version
		 * * auto_update
		 *
		 * These fields are optionally available:
		 *
		 * * update_package
		 * * update_id
		 * * title
		 * * description
		 * * file
		 * * author
		 * * tested_up_to
		 * * wporg_status
		 * * wporg_last_updated
		 *
		 * ## EXAMPLES
		 *
		 *     # List active plugins on the site.
		 *     $ wp plugin list --status=active --format=json
		 *     [{"name":"dynamic-hostname","status":"active","update":"none","version":"0.4.2","update_version":"","auto_update":"off"},{"name":"tinymce-templates","status":"active","update":"none","version":"4.8.1","update_version":"","auto_update":"off"},{"name":"wp-multibyte-patch","status":"active","update":"none","version":"2.9","update_version":"","auto_update":"off"},{"name":"wp-total-hacks","status":"active","update":"none","version":"4.7.2","update_version":"","auto_update":"off"}]
		 *
		 *     # List plugins on each site in a network.
		 *     $ wp site list --field=url | xargs -I % wp plugin list --url=%
		 *     +---------+----------------+-----------+---------+-----------------+------------+
		 *     | name    | status         | update    | version | update_version | auto_update |
		 *     +---------+----------------+-----------+---------+----------------+-------------+
		 *     | akismet | active-network | none      | 5.3.1   |                | on          |
		 *     | hello   | inactive       | available | 1.6     | 1.7.2          | off         |
		 *     +---------+----------------+-----------+---------+----------------+-------------+
		 *     +---------+----------------+-----------+---------+----------------+-------------+
		 *     | name    | status         | update    | version | update_version | auto_update |
		 *     +---------+----------------+-----------+---------+----------------+-------------+
		 *     | akismet | active-network | none      | 5.3.1   |                | on          |
		 *     | hello   | inactive       | available | 1.6     | 1.7.2          | off         |
		 *     +---------+----------------+-----------+---------+----------------+-------------+
		 *
		 *     # Check whether plugins are still active on WordPress.org
		 *     $ wp plugin list --fields=name,wporg_status,wporg_last_updated
		 *     +--------------------+--------------+--------------------+
		 *     | name               | wporg_status | wporg_last_updated |
		 *     +--------------------+--------------+--------------------+
		 *     | akismet            | active       | 2023-12-11         |
		 *     | user-switching     | active       | 2023-11-17         |
		 *     | wordpress-importer | active       | 2023-04-28         |
		 *     | local              |              |                    |
		 *     +--------------------+--------------+--------------------+
		 *
		 *     # List recently active plugins on the site.
		 *     $ wp plugin list --recently-active --field=name --format=json
		 *     ["akismet","bbpress","buddypress"]
		 *
		 * @subcommand list
		 */
		public function list_( $_, $assoc_args ) {      }
		protected function get_status( $file ) {        }
	}
	/**
	 * Manages user roles, including creating new roles and resetting to defaults.
	 *
	 * See references for [Roles and Capabilities](https://codex.wordpress.org/Roles_and_Capabilities) and [WP User class](https://codex.wordpress.org/Class_Reference/WP_User).
	 *
	 * ## EXAMPLES
	 *
	 *     # List roles.
	 *     $ wp role list --fields=role --format=csv
	 *     role
	 *     administrator
	 *     editor
	 *     author
	 *     contributor
	 *     subscriber
	 *
	 *     # Check to see if a role exists.
	 *     $ wp role exists editor
	 *     Success: Role with ID 'editor' exists.
	 *
	 *     # Create a new role.
	 *     $ wp role create approver Approver
	 *     Success: Role with key 'approver' created.
	 *
	 *     # Delete an existing role.
	 *     $ wp role delete approver
	 *     Success: Role with key 'approver' deleted.
	 *
	 *     # Reset existing roles to their default capabilities.
	 *     $ wp role reset administrator author contributor
	 *     Success: Reset 3/3 roles.
	 *
	 * @package wp-cli
	 */
	class Role_Command extends \WP_CLI_Command {

		/**
		 * Lists all roles.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--field=<field>]
		 * : Prints the value of a single field.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each role:
		 *
		 * * name
		 * * role
		 *
		 * There are no optional fields.
		 *
		 * ## EXAMPLES
		 *
		 *     # List roles.
		 *     $ wp role list --fields=role --format=csv
		 *     role
		 *     administrator
		 *     editor
		 *     author
		 *     contributor
		 *     subscriber
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Checks if a role exists.
		 *
		 * Exits with return code 0 if the role exists, 1 if it does not.
		 *
		 * ## OPTIONS
		 *
		 * <role-key>
		 * : The internal name of the role.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check if a role exists.
		 *     $ wp role exists editor
		 *     Success: Role with ID 'editor' exists.
		 */
		public function exists( $args ) {       }
		/**
		 * Creates a new role.
		 *
		 * ## OPTIONS
		 *
		 * <role-key>
		 * : The internal name of the role.
		 *
		 * <role-name>
		 * : The publicly visible name of the role.
		 *
		 * [--clone=<role>]
		 * : Clone capabilities from an existing role.
		 *
		 * ## EXAMPLES
		 *
		 *     # Create role for Approver.
		 *     $ wp role create approver Approver
		 *     Success: Role with key 'approver' created.
		 *
		 *     # Create role for Product Administrator.
		 *     $ wp role create productadmin "Product Administrator"
		 *     Success: Role with key 'productadmin' created.
		 */
		public function create( $args, $assoc_args ) {      }
		/**
		 * Deletes an existing role.
		 *
		 * ## OPTIONS
		 *
		 * <role-key>
		 * : The internal name of the role.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete approver role.
		 *     $ wp role delete approver
		 *     Success: Role with key 'approver' deleted.
		 *
		 *     # Delete productadmin role.
		 *     wp role delete productadmin
		 *     Success: Role with key 'productadmin' deleted.
		 */
		public function delete( $args ) {       }
		/**
		 * Resets any default role to default capabilities.
		 *
		 * Uses WordPress' `populate_roles()` function to put one or more
		 * roles back into the state they were at in the a fresh
		 * WordPress install. Removes any capabilities that were added,
		 * and restores any capabilities that were removed. Custom roles
		 * are not affected.
		 *
		 * ## OPTIONS
		 *
		 * [<role-key>...]
		 * : The internal name of one or more roles to reset.
		 *
		 * [--all]
		 * : If set, all default roles will be reset.
		 *
		 * ## EXAMPLES
		 *
		 *     # Reset three roles.
		 *     $ wp role reset administrator author contributor
		 *     Restored 1 capability to and removed 0 capabilities from 'administrator' role.
		 *     No changes necessary for 'author' role.
		 *     No changes necessary for 'contributor' role.
		 *     Success: 1 of 3 roles reset.
		 *
		 *     # Reset a custom role.
		 *     $ wp role reset custom_role
		 *     Custom role 'custom_role' not affected.
		 *     Error: Must specify a default role to reset.
		 *
		 *     # Reset all default roles.
		 *     $ wp role reset --all
		 *     Success: All default roles reset.
		 */
		public function reset( $args, $assoc_args ) {       }
	}
	/**
	 * Adds, removes, and lists capabilities of a user role.
	 *
	 * See references for [Roles and Capabilities](https://codex.wordpress.org/Roles_and_Capabilities) and [WP User class](https://codex.wordpress.org/Class_Reference/WP_User).
	 *
	 * ## EXAMPLES
	 *
	 *     # Add 'spectate' capability to 'author' role.
	 *     $ wp cap add 'author' 'spectate'
	 *     Success: Added 1 capability to 'author' role.
	 *
	 *     # Add all caps from 'editor' role to 'author' role.
	 *     $ wp cap list 'editor' | xargs wp cap add 'author'
	 *     Success: Added 24 capabilities to 'author' role.
	 *
	 *     # Remove all caps from 'editor' role that also appear in 'author' role.
	 *     $ wp cap list 'author' | xargs wp cap remove 'editor'
	 *     Success: Removed 34 capabilities from 'editor' role.
	 */
	class Capabilities_Command extends \WP_CLI_Command {

		/**
		 * Lists capabilities for a given role.
		 *
		 * ## OPTIONS
		 *
		 * <role>
		 * : Key for the role.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: list
		 * options:
		 *   - list
		 *   - table
		 *   - csv
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * [--show-grant]
		 * : Display all capabilities defined for a role including grant.
		 * ---
		 * default: false
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Display alphabetical list of Contributor capabilities.
		 *     $ wp cap list 'contributor' | sort
		 *     delete_posts
		 *     edit_posts
		 *     level_0
		 *     level_1
		 *     read
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Adds capabilities to a given role.
		 *
		 * ## OPTIONS
		 *
		 * <role>
		 * : Key for the role.
		 *
		 * <cap>...
		 * : One or more capabilities to add.
		 *
		 * [--grant]
		 * : Adds the capability as an explicit boolean value, instead of implicitly defaulting to `true`.
		 * ---
		 * default: true
		 * options:
		 *   - true
		 *   - false
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add 'spectate' capability to 'author' role.
		 *     $ wp cap add author spectate
		 *     Success: Added 1 capability to 'author' role.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Removes capabilities from a given role.
		 *
		 * ## OPTIONS
		 *
		 * <role>
		 * : Key for the role.
		 *
		 * <cap>...
		 * : One or more capabilities to remove.
		 *
		 * ## EXAMPLES
		 *
		 *     # Remove 'spectate' capability from 'author' role.
		 *     $ wp cap remove author spectate
		 *     Success: Removed 1 capability from 'author' role.
		 */
		public function remove( $args ) {       }
	}
	/**
	 * Manages widgets, including adding and moving them within sidebars.
	 *
	 * A [widget](https://developer.wordpress.org/themes/functionality/widgets/) adds content and features to a widget area (also called a [sidebar](https://developer.wordpress.org/themes/functionality/sidebars/)).
	 *
	 * ## EXAMPLES
	 *
	 *     # List widgets on a given sidebar
	 *     $ wp widget list sidebar-1
	 *     +----------+------------+----------+----------------------+
	 *     | name     | id         | position | options              |
	 *     +----------+------------+----------+----------------------+
	 *     | meta     | meta-6     | 1        | {"title":"Meta"}     |
	 *     | calendar | calendar-2 | 2        | {"title":"Calendar"} |
	 *     +----------+------------+----------+----------------------+
	 *
	 *     # Add a calendar widget to the second position on the sidebar
	 *     $ wp widget add calendar sidebar-1 2
	 *     Success: Added widget to sidebar.
	 *
	 *     # Update option(s) associated with a given widget
	 *     $ wp widget update calendar-1 --title="Calendar"
	 *     Success: Widget updated.
	 *
	 *     # Delete one or more widgets entirely
	 *     $ wp widget delete calendar-2 archive-1
	 *     Success: 2 widgets removed from sidebar.
	 */
	class Widget_Command extends \WP_CLI_Command {

		/**
		 * Lists widgets associated with a sidebar.
		 *
		 * ## OPTIONS
		 *
		 * <sidebar-id>
		 * : ID for the corresponding sidebar.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - ids
		 *   - json
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each widget:
		 *
		 * * name
		 * * id
		 * * position
		 * * options
		 *
		 * There are no optionally available fields.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp widget list sidebar-1 --fields=name,id --format=csv
		 *     name,id
		 *     meta,meta-5
		 *     search,search-3
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
		/**
		 * Adds a widget to a sidebar.
		 *
		 * Creates a new widget entry in the database, and associates it with the
		 * sidebar.
		 *
		 * ## OPTIONS
		 *
		 * <name>
		 * : Widget name.
		 *
		 * <sidebar-id>
		 * : ID for the corresponding sidebar.
		 *
		 * [<position>]
		 * : Widget's current position within the sidebar. Defaults to last
		 *
		 * [--<field>=<value>]
		 * : Widget option to add, with its new value
		 *
		 * ## EXAMPLES
		 *
		 *     # Add a new calendar widget to sidebar-1 with title "Calendar"
		 *     $ wp widget add calendar sidebar-1 2 --title="Calendar"
		 *     Success: Added widget to sidebar.
		 *
		 * @subcommand add
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Updates options for an existing widget.
		 *
		 * ## OPTIONS
		 *
		 * <widget-id>
		 * : Unique ID for the widget
		 *
		 * [--<field>=<value>]
		 * : Field to update, with its new value
		 *
		 * ## EXAMPLES
		 *
		 *     # Change calendar-1 widget title to "Our Calendar"
		 *     $ wp widget update calendar-1 --title="Our Calendar"
		 *     Success: Widget updated.
		 *
		 * @subcommand update
		 */
		public function update( $args, $assoc_args ) {      }
		/**
		 * Moves the position of a widget.
		 *
		 * Changes the order of a widget in its existing sidebar, or moves it to a
		 * new sidebar.
		 *
		 * ## OPTIONS
		 *
		 * <widget-id>
		 * : Unique ID for the widget
		 *
		 * [--position=<position>]
		 * : Assign the widget to a new position.
		 *
		 * [--sidebar-id=<sidebar-id>]
		 * : Assign the widget to a new sidebar
		 *
		 * ## EXAMPLES
		 *
		 *     # Change position of widget
		 *     $ wp widget move recent-comments-2 --position=2
		 *     Success: Widget moved.
		 *
		 *     # Move widget to Inactive Widgets
		 *     $ wp widget move recent-comments-2 --sidebar-id=wp_inactive_widgets
		 *     Success: Widget moved.
		 *
		 * @subcommand move
		 */
		public function move( $args, $assoc_args ) {        }
		/**
		 * Deactivates one or more widgets from an active sidebar.
		 *
		 * Moves widgets to Inactive Widgets.
		 *
		 * ## OPTIONS
		 *
		 * <widget-id>...
		 * : Unique ID for the widget(s)
		 *
		 * ## EXAMPLES
		 *
		 *     # Deactivate the recent-comments-2 widget.
		 *     $ wp widget deactivate recent-comments-2
		 *     Success: 1 widget deactivated.
		 *
		 * @subcommand deactivate
		 */
		public function deactivate( $args, $assoc_args ) {      }
		/**
		 * Deletes one or more widgets from a sidebar.
		 *
		 * ## OPTIONS
		 *
		 * <widget-id>...
		 * : Unique ID for the widget(s)
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete the recent-comments-2 widget from its sidebar.
		 *     $ wp widget delete recent-comments-2
		 *     Success: Deleted 1 of 1 widgets.
		 *
		 * @subcommand delete
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Resets sidebar.
		 *
		 * Removes all widgets from the sidebar and places them in Inactive Widgets.
		 *
		 * ## OPTIONS
		 *
		 * [<sidebar-id>...]
		 * : One or more sidebars to reset.
		 *
		 * [--all]
		 * : If set, all sidebars will be reset.
		 *
		 * ## EXAMPLES
		 *
		 *     # Reset a sidebar
		 *     $ wp widget reset sidebar-1
		 *     Success: Sidebar 'sidebar-1' reset.
		 *
		 *     # Reset multiple sidebars
		 *     $ wp widget reset sidebar-1 sidebar-2
		 *     Success: Sidebar 'sidebar-1' reset.
		 *     Success: Sidebar 'sidebar-2' reset.
		 *
		 *     # Reset all sidebars
		 *     $ wp widget reset --all
		 *     Success: Sidebar 'sidebar-1' reset.
		 *     Success: Sidebar 'sidebar-2' reset.
		 *     Success: Sidebar 'sidebar-3' reset.
		 */
		public function reset( $args, $assoc_args ) {       }
	}
	/**
	 * Lists registered sidebars.
	 *
	 * A [sidebar](https://developer.wordpress.org/themes/functionality/sidebars/) is any widgetized area of your theme.
	 *
	 * ## EXAMPLES
	 *
	 *     # List sidebars
	 *     $ wp sidebar list --fields=name,id --format=csv
	 *     name,id
	 *     "Widget Area",sidebar-1
	 *     "Inactive Widgets",wp_inactive_widgets
	 */
	class Sidebar_Command extends \WP_CLI_Command {

		/**
		 * Lists registered sidebars.
		 *
		 * ## OPTIONS
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - ids
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * These fields will be displayed by default for each sidebar:
		 *
		 * * name
		 * * id
		 * * description
		 *
		 * These fields are optionally available:
		 *
		 * * class
		 * * before_widget
		 * * after_widget
		 * * before_title
		 * * after_title
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp sidebar list --fields=name,id --format=csv
		 *     name,id
		 *     "Widget Area",sidebar-1
		 *     "Inactive Widgets",wp_inactive_widgets
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
	}
	/**
	 * Generates code for post types, taxonomies, plugins, child themes, etc.
	 *
	 * ## EXAMPLES
	 *
	 *     # Generate a new plugin with unit tests.
	 *     $ wp scaffold plugin sample-plugin
	 *     Success: Created plugin files.
	 *     Success: Created test files.
	 *
	 *     # Generate theme based on _s.
	 *     $ wp scaffold _s sample-theme --theme_name="Sample Theme" --author="John Doe"
	 *     Success: Created theme 'Sample Theme'.
	 *
	 *     # Generate code for post type registration in given theme.
	 *     $ wp scaffold post-type movie --label=Movie --theme=simple-life
	 *     Success: Created '/var/www/example.com/public_html/wp-content/themes/simple-life/post-types/movie.php'.
	 *
	 * @package wp-cli
	 */
	class Scaffold_Command extends \WP_CLI_Command {

		/**
		 * Generates PHP code for registering a custom post type.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The internal name of the post type.
		 *
		 * [--label=<label>]
		 * : The text used to translate the update messages.
		 *
		 * [--textdomain=<textdomain>]
		 * : The textdomain to use for the labels.
		 *
		 * [--dashicon=<dashicon>]
		 * : The dashicon to use in the menu.
		 *
		 * [--theme]
		 * : Create a file in the active theme directory, instead of sending to
		 * STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme.
		 *
		 * [--plugin=<plugin>]
		 * : Create a file in the given plugin's directory, instead of sending to STDOUT.
		 *
		 * [--raw]
		 * : Just generate the `register_post_type()` call and nothing else.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate a 'movie' post type for the 'simple-life' theme
		 *     $ wp scaffold post-type movie --label=Movie --theme=simple-life
		 *     Success: Created '/var/www/example.com/public_html/wp-content/themes/simple-life/post-types/movie.php'.
		 *
		 * @subcommand post-type
		 *
		 * @alias      cpt
		 */
		public function post_type( $args, $assoc_args ) {       }
		/**
		 * Generates PHP code for registering a custom taxonomy.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The internal name of the taxonomy.
		 *
		 * [--post_types=<post-types>]
		 * : Post types to register for use with the taxonomy.
		 *
		 * [--label=<label>]
		 * : The text used to translate the update messages.
		 *
		 * [--textdomain=<textdomain>]
		 * : The textdomain to use for the labels.
		 *
		 * [--theme]
		 * : Create a file in the active theme directory, instead of sending to
		 * STDOUT. Specify a theme with `--theme=<theme>` to have the file placed in that theme.
		 *
		 * [--plugin=<plugin>]
		 * : Create a file in the given plugin's directory, instead of sending to STDOUT.
		 *
		 * [--raw]
		 * : Just generate the `register_taxonomy()` call and nothing else.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate PHP code for registering a custom taxonomy and save in a file
		 *     $ wp scaffold taxonomy venue --post_types=event,presentation > taxonomy.php
		 *
		 * @subcommand taxonomy
		 *
		 * @alias      tax
		 */
		public function taxonomy( $args, $assoc_args ) {        }
		/**
		 * Generates PHP, JS and CSS code for registering a Gutenberg block for a plugin or theme.
		 *
		 * **Warning: `wp scaffold block` is deprecated.**
		 *
		 * The official script to generate a block is the [@wordpress/create-block](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-create-block/) package.
		 *
		 * See the [Create a Block tutorial](https://developer.wordpress.org/block-editor/getting-started/tutorial/) for a complete walk-through.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The internal name of the block.
		 *
		 * [--title=<title>]
		 * : The display title for your block.
		 *
		 * [--dashicon=<dashicon>]
		 * : The dashicon to make it easier to identify your block.
		 *
		 * [--category=<category>]
		 * : The category name to help users browse and discover your block.
		 * ---
		 * default: widgets
		 * options:
		 *   - common
		 *   - embed
		 *   - formatting
		 *   - layout
		 *   - widgets
		 * ---
		 *
		 * [--theme]
		 * : Create files in the active theme directory. Specify a theme with `--theme=<theme>` to have the file placed in that theme.
		 *
		 * [--plugin=<plugin>]
		 * : Create files in the given plugin's directory.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * @subcommand block
		 */
		public function block( $args, $assoc_args ) {       }
		/**
		 * Generates starter code for a theme based on _s.
		 *
		 * See the [Underscores website](https://underscores.me/) for more details.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The slug for the new theme, used for prefixing functions.
		 *
		 * [--activate]
		 * : Activate the newly downloaded theme.
		 *
		 * [--enable-network]
		 * : Enable the newly downloaded theme for the entire network.
		 *
		 * [--theme_name=<title>]
		 * : What to put in the 'Theme Name:' header in 'style.css'.
		 *
		 * [--author=<full-name>]
		 * : What to put in the 'Author:' header in 'style.css'.
		 *
		 * [--author_uri=<uri>]
		 * : What to put in the 'Author URI:' header in 'style.css'.
		 *
		 * [--sassify]
		 * : Include stylesheets as SASS.
		 *
		 * [--woocommerce]
		 * : Include WooCommerce boilerplate files.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate a theme with name "Sample Theme" and author "John Doe"
		 *     $ wp scaffold _s sample-theme --theme_name="Sample Theme" --author="John Doe"
		 *     Success: Created theme 'Sample Theme'.
		 *
		 * @alias _s
		 */
		public function underscores( $args, $assoc_args ) {         }
		/**
		 * Generates child theme based on an existing theme.
		 *
		 * Creates a child theme folder with `functions.php` and `style.css` files.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The slug for the new child theme.
		 *
		 * --parent_theme=<slug>
		 * : What to put in the 'Template:' header in 'style.css'.
		 *
		 * [--theme_name=<title>]
		 * : What to put in the 'Theme Name:' header in 'style.css'.
		 *
		 * [--author=<full-name>]
		 * : What to put in the 'Author:' header in 'style.css'.
		 *
		 * [--author_uri=<uri>]
		 * : What to put in the 'Author URI:' header in 'style.css'.
		 *
		 * [--theme_uri=<uri>]
		 * : What to put in the 'Theme URI:' header in 'style.css'.
		 *
		 * [--activate]
		 * : Activate the newly created child theme.
		 *
		 * [--enable-network]
		 * : Enable the newly created child theme for the entire network.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate a 'sample-theme' child theme based on TwentySixteen
		 *     $ wp scaffold child-theme sample-theme --parent_theme=twentysixteen
		 *     Success: Created '/var/www/example.com/public_html/wp-content/themes/sample-theme'.
		 *
		 * @subcommand child-theme
		 */
		public function child_theme( $args, $assoc_args ) {         }
		/**
		 * Generates starter code for a plugin.
		 *
		 * The following files are always generated:
		 *
		 * * `plugin-slug.php` is the main PHP plugin file.
		 * * `readme.txt` is the readme file for the plugin.
		 * * `package.json` needed by NPM holds various metadata relevant to the project. Packages: `grunt`, `grunt-wp-i18n` and `grunt-wp-readme-to-markdown`. Scripts: `start`, `readme`, `i18n`.
		 * * `Gruntfile.js` is the JS file containing Grunt tasks. Tasks: `i18n` containing `addtextdomain` and `makepot`, `readme` containing `wp_readme_to_markdown`.
		 * * `.editorconfig` is the configuration file for Editor.
		 * * `.gitignore` tells which files (or patterns) git should ignore.
		 * * `.distignore` tells which files and folders should be ignored in distribution.
		 *
		 * The following files are also included unless the `--skip-tests` is used:
		 *
		 * * `phpunit.xml.dist` is the configuration file for PHPUnit.
		 * * `.circleci/config.yml` is the configuration file for CircleCI. Use `--ci=<provider>` to select a different service.
		 * * `bin/install-wp-tests.sh` configures the WordPress test suite and a test database.
		 * * `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite.
		 * * `tests/test-sample.php` is a sample file containing test cases.
		 * * `.phpcs.xml.dist` is a collection of PHP_CodeSniffer rules.
		 *
		 * ## OPTIONS
		 *
		 * <slug>
		 * : The internal name of the plugin.
		 *
		 * [--dir=<dirname>]
		 * : Put the new plugin in some arbitrary directory path. Plugin directory will be path plus supplied slug.
		 *
		 * [--plugin_name=<title>]
		 * : What to put in the 'Plugin Name:' header.
		 *
		 * [--plugin_description=<description>]
		 * : What to put in the 'Description:' header.
		 *
		 * [--plugin_author=<author>]
		 * : What to put in the 'Author:' header.
		 *
		 * [--plugin_author_uri=<url>]
		 * : What to put in the 'Author URI:' header.
		 *
		 * [--plugin_uri=<url>]
		 * : What to put in the 'Plugin URI:' header.
		 *
		 * [--skip-tests]
		 * : Don't generate files for unit testing.
		 *
		 * [--ci=<provider>]
		 * : Choose a configuration file for a continuous integration provider.
		 * ---
		 * default: circle
		 * options:
		 *   - circle
		 *   - gitlab
		 *   - github
		 * ---
		 *
		 * [--activate]
		 * : Activate the newly generated plugin.
		 *
		 * [--activate-network]
		 * : Network activate the newly generated plugin.
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp scaffold plugin sample-plugin
		 *     Success: Created plugin files.
		 *     Success: Created test files.
		 */
		public function plugin( $args, $assoc_args ) {      }
		/**
		 * Generates files needed for running PHPUnit tests in a plugin.
		 *
		 * The following files are generated by default:
		 *
		 * * `phpunit.xml.dist` is the configuration file for PHPUnit.
		 * * `.circleci/config.yml` is the configuration file for CircleCI. Use `--ci=<provider>` to select a different service.
		 * * `bin/install-wp-tests.sh` configures the WordPress test suite and a test database.
		 * * `tests/bootstrap.php` is the file that makes the current plugin active when running the test suite.
		 * * `tests/test-sample.php` is a sample file containing the actual tests.
		 * * `.phpcs.xml.dist` is a collection of PHP_CodeSniffer rules.
		 *
		 * Learn more from the [plugin unit tests documentation](https://make.wordpress.org/cli/handbook/misc/plugin-unit-tests/).
		 *
		 * ## ENVIRONMENT
		 *
		 * The `tests/bootstrap.php` file looks for the WP_TESTS_DIR environment
		 * variable.
		 *
		 * ## OPTIONS
		 *
		 * [<plugin>]
		 * : The name of the plugin to generate test files for.
		 *
		 * [--dir=<dirname>]
		 * : Generate test files for a non-standard plugin path. If no plugin slug is specified, the directory name is used.
		 *
		 * [--ci=<provider>]
		 * : Choose a configuration file for a continuous integration provider.
		 * ---
		 * default: circle
		 * options:
		 *   - circle
		 *   - gitlab
		 *   - bitbucket
		 *   - github
		 * ---
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate unit test files for plugin 'sample-plugin'.
		 *     $ wp scaffold plugin-tests sample-plugin
		 *     Success: Created test files.
		 *
		 * @subcommand plugin-tests
		 */
		public function plugin_tests( $args, $assoc_args ) {        }
		/**
		 * Generates files needed for running PHPUnit tests in a theme.
		 *
		 * The following files are generated by default:
		 *
		 * * `phpunit.xml.dist` is the configuration file for PHPUnit.
		 * * `.circleci/config.yml` is the configuration file for CircleCI. Use `--ci=<provider>` to select a different service.
		 * * `bin/install-wp-tests.sh` configures the WordPress test suite and a test database.
		 * * `tests/bootstrap.php` is the file that makes the current theme active when running the test suite.
		 * * `tests/test-sample.php` is a sample file containing the actual tests.
		 * * `.phpcs.xml.dist` is a collection of PHP_CodeSniffer rules.
		 *
		 * Learn more from the [plugin unit tests documentation](https://make.wordpress.org/cli/handbook/misc/plugin-unit-tests/).
		 *
		 * ## ENVIRONMENT
		 *
		 * The `tests/bootstrap.php` file looks for the WP_TESTS_DIR environment
		 * variable.
		 *
		 * ## OPTIONS
		 *
		 * [<theme>]
		 * : The name of the theme to generate test files for.
		 *
		 * [--dir=<dirname>]
		 * : Generate test files for a non-standard theme path. If no theme slug is specified, the directory name is used.
		 *
		 * [--ci=<provider>]
		 * : Choose a configuration file for a continuous integration provider.
		 * ---
		 * default: circle
		 * options:
		 *   - circle
		 *   - gitlab
		 *   - bitbucket
		 *   - github
		 * ---
		 *
		 * [--force]
		 * : Overwrite files that already exist.
		 *
		 * ## EXAMPLES
		 *
		 *     # Generate unit test files for theme 'twentysixteenchild'.
		 *     $ wp scaffold theme-tests twentysixteenchild
		 *     Success: Created test files.
		 *
		 * @subcommand theme-tests
		 */
		public function theme_tests( $args, $assoc_args ) {         }
		protected function create_files( $files_and_contents, $force ) {        }
		protected function prompt_if_files_will_be_overwritten( $filename, $force ) {       }
		protected function log_whether_files_written( $files_written, $skip_message, $success_message ) {       }
		protected function extract_args( $assoc_args, $defaults ) {         }
		protected function quote_comma_list_elements( $comma_list ) {       }
		/**
		 * Creates the themes directory if it doesn't already exist.
		 */
		protected function maybe_create_themes_dir() {      }
		/**
		 * Creates the plugins directory if it doesn't already exist.
		 */
		protected function maybe_create_plugins_dir() {         }
		/**
		 * Initializes WP_Filesystem.
		 */
		protected function init_wp_filesystem() {       }
	}
	/**
	 * Adds, removes, fetches, and flushes the WP Object Cache object.
	 *
	 * By default, the WP Object Cache exists in PHP memory for the length of the
	 * request (and is emptied at the end). Use a persistent object cache drop-in
	 * to persist the object cache between requests.
	 *
	 * [Read the codex article](https://codex.wordpress.org/Class_Reference/WP_Object_Cache)
	 * for more detail.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set cache.
	 *     $ wp cache set my_key my_value my_group 300
	 *     Success: Set object 'my_key' in group 'my_group'.
	 *
	 *     # Get cache.
	 *     $ wp cache get my_key my_group
	 *     my_value
	 *
	 * @package wp-cli
	 */
	class Cache_Command extends \WP_CLI_Command {

		/**
		 * Adds a value to the object cache.
		 *
		 * Errors if a value already exists for the key, which means the value can't
		 * be added.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * <value>
		 * : Value to add to the key.
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * [<expiration>]
		 * : Define how long to keep the value, in seconds. `0` means as long as possible.
		 * ---
		 * default: 0
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Add cache.
		 *     $ wp cache add my_key my_group my_value 300
		 *     Success: Added object 'my_key' in group 'my_value'.
		 */
		public function add( $args, $assoc_args ) {         }
		/**
		 * Decrements a value in the object cache.
		 *
		 * Errors if the value can't be decremented.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * [<offset>]
		 * : The amount by which to decrement the item's value.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Decrease cache value.
		 *     $ wp cache decr my_key 2 my_group
		 *     48
		 */
		public function decr( $args, $assoc_args ) {        }
		/**
		 * Removes a value from the object cache.
		 *
		 * Errors if the value can't be deleted.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete cache.
		 *     $ wp cache delete my_key my_group
		 *     Success: Object deleted.
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Flushes the object cache.
		 *
		 * For WordPress multisite instances using a persistent object cache,
		 * flushing the object cache will typically flush the cache for all sites.
		 * Beware of the performance impact when flushing the object cache in
		 * production.
		 *
		 * Errors if the object cache can't be flushed.
		 *
		 * ## EXAMPLES
		 *
		 *     # Flush cache.
		 *     $ wp cache flush
		 *     Success: The cache was flushed.
		 */
		public function flush( $args, $assoc_args ) {       }
		/**
		 * Gets a value from the object cache.
		 *
		 * Errors if the value doesn't exist.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Get cache.
		 *     $ wp cache get my_key my_group
		 *     my_value
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Increments a value in the object cache.
		 *
		 * Errors if the value can't be incremented.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * [<offset>]
		 * : The amount by which to increment the item's value.
		 * ---
		 * default: 1
		 * ---
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Increase cache value.
		 *     $ wp cache incr my_key 2 my_group
		 *     50
		 */
		public function incr( $args, $assoc_args ) {        }
		/**
		 * Replaces a value in the object cache, if the value already exists.
		 *
		 * Errors if the value can't be replaced.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * <value>
		 * : Value to replace.
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * [<expiration>]
		 * : Define how long to keep the value, in seconds. `0` means as long as possible.
		 * ---
		 * default: 0
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Replace cache.
		 *     $ wp cache replace my_key new_value my_group
		 *     Success: Replaced object 'my_key' in group 'my_group'.
		 */
		public function replace( $args, $assoc_args ) {         }
		/**
		 * Sets a value to the object cache, regardless of whether it already exists.
		 *
		 * Errors if the value can't be set.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Cache key.
		 *
		 * <value>
		 * : Value to set on the key.
		 *
		 * [<group>]
		 * : Method for grouping data within the cache which allows the same key to be used across groups.
		 * ---
		 * default: default
		 * ---
		 *
		 * [<expiration>]
		 * : Define how long to keep the value, in seconds. `0` means as long as possible.
		 * ---
		 * default: 0
		 * ---
		 *
		 * ## EXAMPLES
		 *
		 *     # Set cache.
		 *     $ wp cache set my_key my_value my_group 300
		 *     Success: Set object 'my_key' in group 'my_group'.
		 */
		public function set( $args, $assoc_args ) {         }
		/**
		 * Attempts to determine which object cache is being used.
		 *
		 * Note that the guesses made by this function are based on the
		 * WP_Object_Cache classes that define the 3rd party object cache extension.
		 * Changes to those classes could render problems with this function's
		 * ability to determine which object cache is being used.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check cache type.
		 *     $ wp cache type
		 *     Default
		 */
		public function type( $args, $assoc_args ) {        }
		/**
		 * Determines whether the object cache implementation supports a particular feature.
		 *
		 * ## OPTIONS
		 *
		 * <feature>
		 * : Name of the feature to check for.
		 *
		 * ## EXAMPLES
		 *
		 *     # Check whether is add_multiple supported.
		 *     $ wp cache supports add_multiple
		 *     $ echo $?
		 *     0
		 *
		 *     # Bash script for checking whether for support like this:
		 *     if ! wp cache supports non_existing; then
		 *         echo 'non_existing is not supported'
		 *     fi
		 */
		public function supports( $args, $assoc_args ) {        }
		/**
		 * Removes all cache items in a group, if the object cache implementation supports it.
		 *
		 * ## OPTIONS
		 *
		 * <group>
		 * : Cache group key.
		 *
		 * ## EXAMPLES
		 *
		 *     # Clear cache group.
		 *     $ wp cache flush-group my_group
		 *     Success: Cache group 'my_group' was flushed.
		 *
		 * @subcommand flush-group
		 */
		public function flush_group( $args, $assoc_args ) {         }
	}
	/**
	 * Adds, gets, and deletes entries in the WordPress Transient Cache.
	 *
	 * By default, the transient cache uses the WordPress database to persist values
	 * between requests. On a single site installation, values are stored in the
	 * `wp_options` table. On a multisite installation, values are stored in the
	 * `wp_options` or the `wp_sitemeta` table, depending on use of the `--network`
	 * flag.
	 *
	 * When a persistent object cache drop-in is installed (e.g. Redis or Memcached),
	 * the transient cache skips the database and simply wraps the WP Object Cache.
	 *
	 * ## EXAMPLES
	 *
	 *     # Set transient.
	 *     $ wp transient set sample_key "test data" 3600
	 *     Success: Transient added.
	 *
	 *     # Get transient.
	 *     $ wp transient get sample_key
	 *     test data
	 *
	 *     # Delete transient.
	 *     $ wp transient delete sample_key
	 *     Success: Transient deleted.
	 *
	 *     # Delete expired transients.
	 *     $ wp transient delete --expired
	 *     Success: 12 expired transients deleted from the database.
	 *
	 *     # Delete all transients.
	 *     $ wp transient delete --all
	 *     Success: 14 transients deleted from the database.
	 */
	class Transient_Command extends \WP_CLI_Command {

		/**
		 * Gets a transient value.
		 *
		 * For a more complete explanation of the transient cache, including the
		 * network|site cache, please see docs for `wp transient`.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the transient.
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - csv
		 *   - json
		 *   - yaml
		 * ---
		 *
		 * [--network]
		 * : Get the value of a network|site transient. On single site, this is
		 * is a specially-named cache key. On multisite, this is a global cache
		 * (instead of local to the site).
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp transient get sample_key
		 *     test data
		 *
		 *     $ wp transient get random_key
		 *     Warning: Transient with key "random_key" is not set.
		 */
		public function get( $args, $assoc_args ) {         }
		/**
		 * Sets a transient value.
		 *
		 * `<expiration>` is the time until expiration, in seconds.
		 *
		 * For a more complete explanation of the transient cache, including the
		 * network|site cache, please see docs for `wp transient`.
		 *
		 * ## OPTIONS
		 *
		 * <key>
		 * : Key for the transient.
		 *
		 * <value>
		 * : Value to be set for the transient.
		 *
		 * [<expiration>]
		 * : Time until expiration, in seconds.
		 *
		 * [--network]
		 * : Set the value of a network|site transient. On single site, this is
		 * is a specially-named cache key. On multisite, this is a global cache
		 * (instead of local to the site).
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp transient set sample_key "test data" 3600
		 *     Success: Transient added.
		 */
		public function set( $args, $assoc_args ) {         }
		/**
		 * Deletes a transient value.
		 *
		 * For a more complete explanation of the transient cache, including the
		 * network|site cache, please see docs for `wp transient`.
		 *
		 * ## OPTIONS
		 *
		 * [<key>]
		 * : Key for the transient.
		 *
		 * [--network]
		 * : Delete the value of a network|site transient. On single site, this is
		 * is a specially-named cache key. On multisite, this is a global cache
		 * (instead of local to the site).
		 *
		 * [--all]
		 * : Delete all transients.
		 *
		 * [--expired]
		 * : Delete all expired transients.
		 *
		 * ## EXAMPLES
		 *
		 *     # Delete transient.
		 *     $ wp transient delete sample_key
		 *     Success: Transient deleted.
		 *
		 *     # Delete expired transients.
		 *     $ wp transient delete --expired
		 *     Success: 12 expired transients deleted from the database.
		 *
		 *     # Delete expired site transients.
		 *     $ wp transient delete --expired --network
		 *     Success: 1 expired transient deleted from the database.
		 *
		 *     # Delete all transients.
		 *     $ wp transient delete --all
		 *     Success: 14 transients deleted from the database.
		 *
		 *     # Delete all site transients.
		 *     $ wp transient delete --all --network
		 *     Success: 2 transients deleted from the database.
		 *
		 *     # Delete all transients in a multisite.
		 *     $ wp transient delete --all --network && wp site list --field=url | xargs -n1 -I % wp --url=% transient delete --all
		 */
		public function delete( $args, $assoc_args ) {      }
		/**
		 * Determines the type of transients implementation.
		 *
		 * Indicates whether the transients API is using an object cache or the
		 * database.
		 *
		 * For a more complete explanation of the transient cache, including the
		 * network|site cache, please see docs for `wp transient`.
		 *
		 * ## EXAMPLES
		 *
		 *     $ wp transient type
		 *     Transients are saved to the database.
		 */
		public function type() {        }
		/**
		 * Lists transients and their values.
		 *
		 * ## OPTIONS
		 *
		 * [--search=<pattern>]
		 * : Use wildcards ( * and ? ) to match transient name.
		 *
		 * [--exclude=<pattern>]
		 * : Pattern to exclude. Use wildcards ( * and ? ) to match transient name.
		 *
		 * [--network]
		 * : Get the values of network|site transients. On single site, this is
		 * a specially-named cache key. On multisite, this is a global cache
		 * (instead of local to the site).
		 *
		 * [--unserialize]
		 * : Unserialize transient values in output.
		 *
		 * [--human-readable]
		 * : Human-readable output for expirations.
		 *
		 * [--fields=<fields>]
		 * : Limit the output to specific object fields.
		 *
		 * [--format=<format>]
		 * : The serialization format for the value.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - json
		 *   - csv
		 *   - count
		 *   - yaml
		 * ---
		 *
		 * ## AVAILABLE FIELDS
		 *
		 * This field will be displayed by default for each matching option:
		 *
		 * * name
		 * * value
		 * * expiration
		 *
		 * ## EXAMPLES
		 *
		 *     # List all transients
		 *     $ wp transient list
		 *      +------+-------+---------------+
		 *      | name | value | expiration    |
		 *      +------+-------+---------------+
		 *      | foo  | bar   | 39 mins       |
		 *      | foo2 | bar2  | no expiration |
		 *      | foo3 | bar2  | expired       |
		 *      | foo4 | bar4  | 4 hours       |
		 *      +------+-------+---------------+
		 *
		 * @subcommand list
		 */
		public function list_( $args, $assoc_args ) {       }
	}
}

namespace WP_CLI {
	class SearchReplacer {

		/**
		 * @param string  $from            String we're looking to replace.
		 * @param string  $to              What we want it to be replaced with.
		 * @param bool    $recurse_objects Should objects be recursively replaced?
		 * @param bool    $regex           Whether `$from` is a regular expression.
		 * @param string  $regex_flags     Flags for regular expression.
		 * @param string  $regex_delimiter Delimiter for regular expression.
		 * @param bool    $logging         Whether logging.
		 * @param integer $regex_limit     The maximum possible replacements for each pattern in each subject string.
		 */
		public function __construct( $from, $to, $recurse_objects = false, $regex = false, $regex_flags = '', $regex_delimiter = '/', $logging = false, $regex_limit = -1 ) {       }
		/**
		 * Take a serialised array and unserialise it replacing elements as needed and
		 * unserialising any subordinate arrays and performing the replace on those too.
		 * Ignores any serialized objects unless $recurse_objects is set to true.
		 *
		 * @param array|string $data            The data to operate on.
		 * @param bool         $serialised      Does the value of $data need to be unserialized?
		 *
		 * @return array       The original array with all elements replaced as needed.
		 */
		public function run( $data, $serialised = false ) {         }
		/**
		 * Gets existing data saved for this run when logging.
		 *
		 * @return array Array of data strings, prior to replacements.
		 */
		public function get_log_data() {        }
		/**
		 * Clears data stored for logging.
		 */
		public function clear_log_data() {      }
	}
}

namespace {
	class Search_Replace_Command extends \WP_CLI_Command {

		/**
		 * Searches/replaces strings in the database.
		 *
		 * Searches through all rows in a selection of tables and replaces
		 * appearances of the first string with the second string.
		 *
		 * By default, the command uses tables registered to the `$wpdb` object. On
		 * multisite, this will just be the tables for the current site unless
		 * `--network` is specified.
		 *
		 * Search/replace intelligently handles PHP serialized data, and does not
		 * change primary key values.
		 *
		 * ## OPTIONS
		 *
		 * <old>
		 * : A string to search for within the database.
		 *
		 * <new>
		 * : Replace instances of the first string with this new string.
		 *
		 * [<table>...]
		 * : List of database tables to restrict the replacement to. Wildcards are
		 * supported, e.g. `'wp_*options'` or `'wp_post*'`.
		 *
		 * [--dry-run]
		 * : Run the entire search/replace operation and show report, but don't save
		 * changes to the database.
		 *
		 * [--network]
		 * : Search/replace through all the tables registered to $wpdb in a
		 * multisite install.
		 *
		 * [--all-tables-with-prefix]
		 * : Enable replacement on any tables that match the table prefix even if
		 * not registered on $wpdb.
		 *
		 * [--all-tables]
		 * : Enable replacement on ALL tables in the database, regardless of the
		 * prefix, and even if not registered on $wpdb. Overrides --network
		 * and --all-tables-with-prefix.
		 *
		 * [--export[=<file>]]
		 * : Write transformed data as SQL file instead of saving replacements to
		 * the database. If <file> is not supplied, will output to STDOUT.
		 *
		 * [--export_insert_size=<rows>]
		 * : Define number of rows in single INSERT statement when doing SQL export.
		 * You might want to change this depending on your database configuration
		 * (e.g. if you need to do fewer queries). Default: 50
		 *
		 * [--skip-tables=<tables>]
		 * : Do not perform the replacement on specific tables. Use commas to
		 * specify multiple tables. Wildcards are supported, e.g. `'wp_*options'` or `'wp_post*'`.
		 *
		 * [--skip-columns=<columns>]
		 * : Do not perform the replacement on specific columns. Use commas to
		 * specify multiple columns.
		 *
		 * [--include-columns=<columns>]
		 * : Perform the replacement on specific columns. Use commas to
		 * specify multiple columns.
		 *
		 * [--precise]
		 * : Force the use of PHP (instead of SQL) which is more thorough,
		 * but slower.
		 *
		 * [--recurse-objects]
		 * : Enable recursing into objects to replace strings. Defaults to true;
		 * pass --no-recurse-objects to disable.
		 *
		 * [--verbose]
		 * : Prints rows to the console as they're updated.
		 *
		 * [--regex]
		 * : Runs the search using a regular expression (without delimiters).
		 * Warning: search-replace will take about 15-20x longer when using --regex.
		 *
		 * [--regex-flags=<regex-flags>]
		 * : Pass PCRE modifiers to regex search-replace (e.g. 'i' for case-insensitivity).
		 *
		 * [--regex-delimiter=<regex-delimiter>]
		 * : The delimiter to use for the regex. It must be escaped if it appears in the search string. The default value is the result of `chr(1)`.
		 *
		 * [--regex-limit=<regex-limit>]
		 * : The maximum possible replacements for the regex per row (or per unserialized data bit per row). Defaults to -1 (no limit).
		 *
		 * [--format=<format>]
		 * : Render output in a particular format.
		 * ---
		 * default: table
		 * options:
		 *   - table
		 *   - count
		 * ---
		 *
		 * [--report]
		 * : Produce report. Defaults to true.
		 *
		 * [--report-changed-only]
		 * : Report changed fields only. Defaults to false, unless logging, when it defaults to true.
		 *
		 * [--log[=<file>]]
		 * : Log the items changed. If <file> is not supplied or is "-", will output to STDOUT.
		 * Warning: causes a significant slow down, similar or worse to enabling --precise or --regex.
		 *
		 * [--before_context=<num>]
		 * : For logging, number of characters to display before the old match and the new replacement. Default 40. Ignored if not logging.
		 *
		 * [--after_context=<num>]
		 * : For logging, number of characters to display after the old match and the new replacement. Default 40. Ignored if not logging.
		 *
		 * ## EXAMPLES
		 *
		 *     # Search and replace but skip one column
		 *     $ wp search-replace 'http://example.test' 'http://example.com' --skip-columns=guid
		 *
		 *     # Run search/replace operation but dont save in database
		 *     $ wp search-replace 'foo' 'bar' wp_posts wp_postmeta wp_terms --dry-run
		 *
		 *     # Run case-insensitive regex search/replace operation (slow)
		 *     $ wp search-replace '\[foo id="([0-9]+)"' '[bar id="\1"' --regex --regex-flags='i'
		 *
		 *     # Turn your production multisite database into a local dev database
		 *     $ wp search-replace --url=example.com example.com example.test 'wp_*options' wp_blogs wp_site --network
		 *
		 *     # Search/replace to a SQL file without transforming the database
		 *     $ wp search-replace foo bar --export=database.sql
		 *
		 *     # Bash script: Search/replace production to development url (multisite compatible)
		 *     #!/bin/bash
		 *     if $(wp --url=http://example.com core is-installed --network); then
		 *         wp search-replace --url=http://example.com 'http://example.com' 'http://example.test' --recurse-objects --network --skip-columns=guid --skip-tables=wp_users
		 *     else
		 *         wp search-replace 'http://example.com' 'http://example.test' --recurse-objects --skip-columns=guid --skip-tables=wp_users
		 *     fi
		 */
		public function __invoke( $args, $assoc_args ) {        }
	}
}

namespace WP_CLI\Shell {
	class REPL {

		public function __construct( $prompt ) {        }
		public function start() {       }
	}
}

namespace {
	class Shell_Command extends \WP_CLI_Command {

		/**
		 * Opens an interactive PHP console for running and testing PHP code.
		 *
		 * `wp shell` allows you to evaluate PHP statements and expressions
		 * interactively, from within a WordPress environment. Type a bit of code,
		 * hit enter, and see the code execute right before you. Because WordPress
		 * is loaded, you have access to all the functions, classes and globals
		 * that you can use within a WordPress plugin, for example.
		 *
		 * ## OPTIONS
		 *
		 * [--basic]
		 * : Force the use of WP-CLI's built-in PHP REPL, even if the Boris or
		 * PsySH PHP REPLs are available.
		 *
		 * ## EXAMPLES
		 *
		 *     # Call get_bloginfo() to get the name of the site.
		 *     $ wp shell
		 *     wp> get_bloginfo( 'name' );
		 *     => string(6) "WP-CLI"
		 */
		public function __invoke( $_, $assoc_args ) {       }
	}
	/**
	 * Manages plugins, including installs, activations, and updates.
	 */
	final class Plugin_Command_Namespace extends \WP_CLI\Dispatcher\CommandNamespace {

	}
}

namespace WP_CLI\Fetchers {
	/**
	 * Fetch a WordPress plugin based on one of its attributes.
	 *
	 * This is a special version of the plugin fetcher. It doesn't use the
	 * `all_plugins` filter, so that plugins cannot hide themselves from the
	 * checks.
	 */
	class UnfilteredPlugin extends \WP_CLI\Fetchers\Base {

		/**
		 * @var string $msg Error message to use when invalid data is provided
		 */
		protected $msg = "The '%s' plugin could not be found.";
		/**
		 * Get a plugin object by name.
		 *
		 * @param string $name
		 *
		 * @return object|false
		 */
		public function get( $name ) {      }
	}
}

namespace Composer\Util\Http {
	/**
	 * Proxy discovery and helper class
	 *
	 * @internal
	 * @author John Stevenson <john-stevenson@blueyonder.co.uk>
	 */
	class ProxyHelper {

		/**
		 * Returns proxy environment values
		 *
		 * @return array{string|null, string|null, string|null} httpProxy, httpsProxy, noProxy values
		 *
		 * @throws \RuntimeException on malformed url
		 */
		public static function getProxyData() {         }
		/**
		 * Returns http context options for the proxy url
		 *
		 * @param string $proxyUrl
		 *
		 * @return array{http: array{proxy: string, header?: string}}
		 */
		public static function getContextOptions( $proxyUrl ) {         }
		/**
		 * Sets/unsets request_fulluri value in http context options array
		 *
		 * @param string  $requestUrl
		 * @param mixed[] $options Set by method
		 *
		 * @return void
		 */
		public static function setRequestFullUri( $requestUrl, array &$options ) {      }
	}
}

namespace Composer\Autoload {
	/**
	 * @author Jordi Boggiano <j.boggiano@seld.be>
	 * @internal
	 */
	class PhpFileCleaner {

		/**
		 * @param string[] $types
		 * @return void
		 */
		public static function setTypeConfig( $types ) {        }
		/**
		 * @param string $contents
		 * @param int    $maxMatches
		 */
		public function __construct( $contents, $maxMatches ) {         }
		/**
		 * @return string
		 */
		public function clean() {       }
	}
	class ComposerStaticInitdaed67296fbf5d0c1f0ab02a87145f10 {

		public static $files             = array(
			'3937806105cc8e221b8fa8db5b70d2f2' => __DIR__ . '/..' . '/wp-cli/mustangostang-spyc/includes/functions.php',
			'be01b9b16925dcb22165c40b46681ac6' => __DIR__ . '/..' . '/wp-cli/php-cli-tools/lib/cli/cli.php',
			'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
			'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
			'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
			'8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php',
			'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
			'0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php',
			'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
			'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
			'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
			'ac949ce40a981819ba132473518a9a31' => __DIR__ . '/..' . '/wp-cli/wp-config-transformer/src/WPConfigTransformer.php',
			'9b38cf48e83f5d8f60375221cd213eee' => __DIR__ . '/..' . '/phpstan/phpstan/bootstrap.php',
			'8a0ad02df6a5087f2c380f8fd52db273' => __DIR__ . '/..' . '/wp-cli/cache-command/cache-command.php',
			'b66d29757fcb2fb7a9608d068e3716b0' => __DIR__ . '/..' . '/wp-cli/checksum-command/checksum-command.php',
			'5deaf6ce9c8bbdfb65104c7e938d5875' => __DIR__ . '/..' . '/wp-cli/config-command/config-command.php',
			'68c39b88215b6cf7a0da164166670ef9' => __DIR__ . '/..' . '/wp-cli/core-command/core-command.php',
			'7654e00bf0e632580764400bd8293a9c' => __DIR__ . '/..' . '/wp-cli/cron-command/cron-command.php',
			'c65f753375faee349b7adc48c2ee7cc2' => __DIR__ . '/..' . '/wp-cli/db-command/db-command.php',
			'021d3a13471556f0b57038d679f7f8ea' => __DIR__ . '/..' . '/wp-cli/embed-command/embed-command.php',
			'f3f0199a3ecd9f501d0a3b361bd2f61c' => __DIR__ . '/..' . '/wp-cli/entity-command/entity-command.php',
			'f958dca3f412fd7975da1700912a9321' => __DIR__ . '/..' . '/wp-cli/eval-command/eval-command.php',
			'5c6ec5cff8f9d625772c8ed147f6b894' => __DIR__ . '/..' . '/wp-cli/export-command/export-command.php',
			'3f201033d5aceb2293314273be88f7c6' => __DIR__ . '/..' . '/wp-cli/extension-command/extension-command.php',
			'ffb465a494c3101218c4417180c2c9a2' => __DIR__ . '/..' . '/wp-cli/i18n-command/i18n-command.php',
			'30cbb6e4122dc988e494c6b9c0438233' => __DIR__ . '/..' . '/wp-cli/import-command/import-command.php',
			'ace0d205db7f4135ec32132a0076d555' => __DIR__ . '/..' . '/wp-cli/language-command/language-command.php',
			'1c88c1eff05217a8cac80c64c9ac2080' => __DIR__ . '/..' . '/wp-cli/maintenance-mode-command/maintenance-mode-command.php',
			'5e099d3cac677dd2bec1003ea7707745' => __DIR__ . '/..' . '/wp-cli/media-command/media-command.php',
			'ba366f96f4fddbdef61ad7a862b44f61' => __DIR__ . '/..' . '/wp-cli/package-command/package-command.php',
			'f399c1c8d0c787d5c94c09884cdd9762' => __DIR__ . '/..' . '/wp-cli/rewrite-command/rewrite-command.php',
			'080fadd667195d055c5a23386f270261' => __DIR__ . '/..' . '/wp-cli/role-command/role-command.php',
			'd979c11fe80ba96ae3037b43429fe546' => __DIR__ . '/..' . '/wp-cli/scaffold-command/scaffold-command.php',
			'8ecb13f8bbc22b1b34d12b14ec01077a' => __DIR__ . '/..' . '/wp-cli/search-replace-command/search-replace-command.php',
			'9f04dd0aa5d67ec75a75c88c345a079e' => __DIR__ . '/..' . '/wp-cli/server-command/server-command.php',
			'129d58fa8151374aceb8571bcaa97504' => __DIR__ . '/..' . '/wp-cli/shell-command/shell-command.php',
			'8519779bbb65eeb842af2f629ce7b6f8' => __DIR__ . '/..' . '/wp-cli/super-admin-command/super-admin-command.php',
			'1f05372afcc7d0c51a305cef1d56dd01' => __DIR__ . '/..' . '/wp-cli/widget-command/widget-command.php',
			'3f0c6f4bac8ae6c17da37dc6e8bc91b4' => __DIR__ . '/..' . '/brainmaestro/composer-git-hooks/src/helpers.php',
		);
		public static $prefixLengthsPsr4 = array(
			'e' => array( 'eftec\\bladeone\\' => 15 ),
			'W' => array(
				'WP_CLI\\MaintenanceMode\\' => 23,
				'WP_CLI\\I18n\\'            => 12,
				'WP_CLI\\Embeds\\'          => 14,
			),
			'S' => array(
				'SzepeViktor\\PHPStan\\WordPress\\'     => 30,
				'Symfony\\Polyfill\\Php80\\'            => 23,
				'Symfony\\Polyfill\\Php73\\'            => 23,
				'Symfony\\Polyfill\\Mbstring\\'         => 26,
				'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
				'Symfony\\Polyfill\\Intl\\Grapheme\\'   => 31,
				'Symfony\\Polyfill\\Ctype\\'            => 23,
				'Symfony\\Contracts\\Service\\'         => 26,
				'Symfony\\Component\\String\\'          => 25,
				'Symfony\\Component\\Process\\'         => 26,
				'Symfony\\Component\\Finder\\'          => 25,
				'Symfony\\Component\\Filesystem\\'      => 29,
				'Symfony\\Component\\Console\\'         => 26,
				'Seld\\PharUtils\\'                     => 15,
				'Seld\\JsonLint\\'                      => 14,
			),
			'R' => array( 'React\\Promise\\' => 14 ),
			'P' => array(
				'Psr\\Log\\'       => 8,
				'Psr\\Container\\' => 14,
				'Peast\\'          => 6,
			),
			'M' => array( 'Mustangostang\\' => 14 ),
			'J' => array( 'JsonSchema\\' => 11 ),
			'G' => array(
				'Gettext\\Languages\\' => 18,
				'Gettext\\'            => 8,
			),
			'D' => array( 'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => 55 ),
			'C' => array(
				'Composer\\XdebugHandler\\'    => 23,
				'Composer\\Spdx\\'             => 14,
				'Composer\\Semver\\'           => 16,
				'Composer\\Pcre\\'             => 14,
				'Composer\\MetadataMinifier\\' => 26,
				'Composer\\CaBundle\\'         => 18,
				'Composer\\'                   => 9,
			),
			'B' => array( 'BrainMaestro\\GitHooks\\' => 22 ),
		);
		public static $prefixDirsPsr4    = array(
			'eftec\\bladeone\\'                     => array( 0 => __DIR__ . '/..' . '/eftec/bladeone/lib' ),
			'WP_CLI\\MaintenanceMode\\'             => array( 0 => __DIR__ . '/..' . '/wp-cli/maintenance-mode-command/src' ),
			'WP_CLI\\I18n\\'                        => array( 0 => __DIR__ . '/..' . '/wp-cli/i18n-command/src' ),
			'WP_CLI\\Embeds\\'                      => array( 0 => __DIR__ . '/..' . '/wp-cli/embed-command/src' ),
			'SzepeViktor\\PHPStan\\WordPress\\'     => array( 0 => __DIR__ . '/..' . '/szepeviktor/phpstan-wordpress/src' ),
			'Symfony\\Polyfill\\Php80\\'            => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-php80' ),
			'Symfony\\Polyfill\\Php73\\'            => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-php73' ),
			'Symfony\\Polyfill\\Mbstring\\'         => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring' ),
			'Symfony\\Polyfill\\Intl\\Normalizer\\' => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer' ),
			'Symfony\\Polyfill\\Intl\\Grapheme\\'   => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme' ),
			'Symfony\\Polyfill\\Ctype\\'            => array( 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype' ),
			'Symfony\\Contracts\\Service\\'         => array( 0 => __DIR__ . '/..' . '/symfony/service-contracts' ),
			'Symfony\\Component\\String\\'          => array( 0 => __DIR__ . '/..' . '/symfony/string' ),
			'Symfony\\Component\\Process\\'         => array( 0 => __DIR__ . '/..' . '/symfony/process' ),
			'Symfony\\Component\\Finder\\'          => array( 0 => __DIR__ . '/..' . '/symfony/finder' ),
			'Symfony\\Component\\Filesystem\\'      => array( 0 => __DIR__ . '/..' . '/symfony/filesystem' ),
			'Symfony\\Component\\Console\\'         => array( 0 => __DIR__ . '/..' . '/symfony/console' ),
			'Seld\\PharUtils\\'                     => array( 0 => __DIR__ . '/..' . '/seld/phar-utils/src' ),
			'Seld\\JsonLint\\'                      => array( 0 => __DIR__ . '/..' . '/seld/jsonlint/src/Seld/JsonLint' ),
			'React\\Promise\\'                      => array( 0 => __DIR__ . '/..' . '/react/promise/src' ),
			'Psr\\Log\\'                            => array( 0 => __DIR__ . '/..' . '/psr/log/src' ),
			'Psr\\Container\\'                      => array( 0 => __DIR__ . '/..' . '/psr/container/src' ),
			'Peast\\'                               => array( 0 => __DIR__ . '/..' . '/mck89/peast/lib/Peast' ),
			'Mustangostang\\'                       => array( 0 => __DIR__ . '/..' . '/wp-cli/mustangostang-spyc/src' ),
			'JsonSchema\\'                          => array( 0 => __DIR__ . '/..' . '/justinrainbow/json-schema/src/JsonSchema' ),
			'Gettext\\Languages\\'                  => array( 0 => __DIR__ . '/..' . '/gettext/languages/src' ),
			'Gettext\\'                             => array( 0 => __DIR__ . '/..' . '/gettext/gettext/src' ),
			'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array( 0 => __DIR__ . '/..' . '/dealerdirect/phpcodesniffer-composer-installer/src' ),
			'Composer\\XdebugHandler\\'             => array( 0 => __DIR__ . '/..' . '/composer/xdebug-handler/src' ),
			'Composer\\Spdx\\'                      => array( 0 => __DIR__ . '/..' . '/composer/spdx-licenses/src' ),
			'Composer\\Semver\\'                    => array( 0 => __DIR__ . '/..' . '/composer/semver/src' ),
			'Composer\\Pcre\\'                      => array( 0 => __DIR__ . '/..' . '/composer/pcre/src' ),
			'Composer\\MetadataMinifier\\'          => array( 0 => __DIR__ . '/..' . '/composer/metadata-minifier/src' ),
			'Composer\\CaBundle\\'                  => array( 0 => __DIR__ . '/..' . '/composer/ca-bundle/src' ),
			'Composer\\'                            => array( 0 => __DIR__ . '/..' . '/composer/composer/src/Composer' ),
			'BrainMaestro\\GitHooks\\'              => array( 0 => __DIR__ . '/..' . '/brainmaestro/composer-git-hooks/src' ),
		);
		public static $prefixesPsr0      = array(
			'c' => array( 'cli' => array( 0 => __DIR__ . '/..' . '/wp-cli/php-cli-tools/lib' ) ),
			'W' => array( 'WP_CLI\\' => array( 0 => __DIR__ . '/..' . '/wp-cli/wp-cli/php' ) ),
			'O' => array( 'Oxymel' => array( 0 => __DIR__ . '/..' . '/nb/oxymel' ) ),
			'M' => array( 'Mustache' => array( 0 => __DIR__ . '/..' . '/mustache/mustache/src' ) ),
		);
		public static $classMap          = array(
			'Attribute'                                   => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
			'Cache_Command'                               => __DIR__ . '/..' . '/wp-cli/cache-command/src/Cache_Command.php',
			'Capabilities_Command'                        => __DIR__ . '/..' . '/wp-cli/role-command/src/Capabilities_Command.php',
			'Checksum_Base_Command'                       => __DIR__ . '/..' . '/wp-cli/checksum-command/src/Checksum_Base_Command.php',
			'Checksum_Core_Command'                       => __DIR__ . '/..' . '/wp-cli/checksum-command/src/Checksum_Core_Command.php',
			'Checksum_Plugin_Command'                     => __DIR__ . '/..' . '/wp-cli/checksum-command/src/Checksum_Plugin_Command.php',
			'Comment_Command'                             => __DIR__ . '/..' . '/wp-cli/entity-command/src/Comment_Command.php',
			'Comment_Meta_Command'                        => __DIR__ . '/..' . '/wp-cli/entity-command/src/Comment_Meta_Command.php',
			'Composer\\InstalledVersions'                 => __DIR__ . '/..' . '/composer/InstalledVersions.php',
			'Config_Command'                              => __DIR__ . '/..' . '/wp-cli/config-command/src/Config_Command.php',
			'Core_Command'                                => __DIR__ . '/..' . '/wp-cli/core-command/src/Core_Command.php',
			'Core_Command_Namespace'                      => __DIR__ . '/..' . '/wp-cli/checksum-command/src/Core_Command_Namespace.php',
			'Core_Language_Command'                       => __DIR__ . '/..' . '/wp-cli/language-command/src/Core_Language_Command.php',
			'Cron_Command'                                => __DIR__ . '/..' . '/wp-cli/cron-command/src/Cron_Command.php',
			'Cron_Event_Command'                          => __DIR__ . '/..' . '/wp-cli/cron-command/src/Cron_Event_Command.php',
			'Cron_Schedule_Command'                       => __DIR__ . '/..' . '/wp-cli/cron-command/src/Cron_Schedule_Command.php',
			'DB_Command'                                  => __DIR__ . '/..' . '/wp-cli/db-command/src/DB_Command.php',
			'EvalFile_Command'                            => __DIR__ . '/..' . '/wp-cli/eval-command/src/EvalFile_Command.php',
			'Eval_Command'                                => __DIR__ . '/..' . '/wp-cli/eval-command/src/Eval_Command.php',
			'Export_Command'                              => __DIR__ . '/..' . '/wp-cli/export-command/src/Export_Command.php',
			'Import_Command'                              => __DIR__ . '/..' . '/wp-cli/import-command/src/Import_Command.php',
			'JsonException'                               => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
			'Language_Namespace'                          => __DIR__ . '/..' . '/wp-cli/language-command/src/Language_Namespace.php',
			'Media_Command'                               => __DIR__ . '/..' . '/wp-cli/media-command/src/Media_Command.php',
			'Menu_Command'                                => __DIR__ . '/..' . '/wp-cli/entity-command/src/Menu_Command.php',
			'Menu_Item_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Menu_Item_Command.php',
			'Menu_Location_Command'                       => __DIR__ . '/..' . '/wp-cli/entity-command/src/Menu_Location_Command.php',
			'Network_Meta_Command'                        => __DIR__ . '/..' . '/wp-cli/entity-command/src/Network_Meta_Command.php',
			'Network_Namespace'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Network_Namespace.php',
			'Normalizer'                                  => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
			'Option_Command'                              => __DIR__ . '/..' . '/wp-cli/entity-command/src/Option_Command.php',
			'Package_Command'                             => __DIR__ . '/..' . '/wp-cli/package-command/src/Package_Command.php',
			'Plugin_AutoUpdates_Command'                  => __DIR__ . '/..' . '/wp-cli/extension-command/src/Plugin_AutoUpdates_Command.php',
			'Plugin_Command'                              => __DIR__ . '/..' . '/wp-cli/extension-command/src/Plugin_Command.php',
			'Plugin_Command_Namespace'                    => __DIR__ . '/..' . '/wp-cli/checksum-command/src/Plugin_Command_Namespace.php',
			'Plugin_Language_Command'                     => __DIR__ . '/..' . '/wp-cli/language-command/src/Plugin_Language_Command.php',
			'Post_Command'                                => __DIR__ . '/..' . '/wp-cli/entity-command/src/Post_Command.php',
			'Post_Meta_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Post_Meta_Command.php',
			'Post_Term_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Post_Term_Command.php',
			'Post_Type_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Post_Type_Command.php',
			'Rewrite_Command'                             => __DIR__ . '/..' . '/wp-cli/rewrite-command/src/Rewrite_Command.php',
			'Role_Command'                                => __DIR__ . '/..' . '/wp-cli/role-command/src/Role_Command.php',
			'Scaffold_Command'                            => __DIR__ . '/..' . '/wp-cli/scaffold-command/src/Scaffold_Command.php',
			'Search_Replace_Command'                      => __DIR__ . '/..' . '/wp-cli/search-replace-command/src/Search_Replace_Command.php',
			'Server_Command'                              => __DIR__ . '/..' . '/wp-cli/server-command/src/Server_Command.php',
			'Shell_Command'                               => __DIR__ . '/..' . '/wp-cli/shell-command/src/Shell_Command.php',
			'Sidebar_Command'                             => __DIR__ . '/..' . '/wp-cli/widget-command/src/Sidebar_Command.php',
			'Signup_Command'                              => __DIR__ . '/..' . '/wp-cli/entity-command/src/Signup_Command.php',
			'Site_Command'                                => __DIR__ . '/..' . '/wp-cli/entity-command/src/Site_Command.php',
			'Site_Meta_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Site_Meta_Command.php',
			'Site_Option_Command'                         => __DIR__ . '/..' . '/wp-cli/entity-command/src/Site_Option_Command.php',
			'Site_Switch_Language_Command'                => __DIR__ . '/..' . '/wp-cli/language-command/src/Site_Switch_Language_Command.php',
			'Stringable'                                  => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
			'Super_Admin_Command'                         => __DIR__ . '/..' . '/wp-cli/super-admin-command/src/Super_Admin_Command.php',
			'Taxonomy_Command'                            => __DIR__ . '/..' . '/wp-cli/entity-command/src/Taxonomy_Command.php',
			'Term_Command'                                => __DIR__ . '/..' . '/wp-cli/entity-command/src/Term_Command.php',
			'Term_Meta_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/Term_Meta_Command.php',
			'Theme_AutoUpdates_Command'                   => __DIR__ . '/..' . '/wp-cli/extension-command/src/Theme_AutoUpdates_Command.php',
			'Theme_Command'                               => __DIR__ . '/..' . '/wp-cli/extension-command/src/Theme_Command.php',
			'Theme_Language_Command'                      => __DIR__ . '/..' . '/wp-cli/language-command/src/Theme_Language_Command.php',
			'Theme_Mod_Command'                           => __DIR__ . '/..' . '/wp-cli/extension-command/src/Theme_Mod_Command.php',
			'Transient_Command'                           => __DIR__ . '/..' . '/wp-cli/cache-command/src/Transient_Command.php',
			'UnhandledMatchError'                         => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
			'User_Application_Password_Command'           => __DIR__ . '/..' . '/wp-cli/entity-command/src/User_Application_Password_Command.php',
			'User_Command'                                => __DIR__ . '/..' . '/wp-cli/entity-command/src/User_Command.php',
			'User_Meta_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/User_Meta_Command.php',
			'User_Session_Command'                        => __DIR__ . '/..' . '/wp-cli/entity-command/src/User_Session_Command.php',
			'User_Term_Command'                           => __DIR__ . '/..' . '/wp-cli/entity-command/src/User_Term_Command.php',
			'ValueError'                                  => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
			'WP_CLI'                                      => __DIR__ . '/..' . '/wp-cli/wp-cli/php/class-wp-cli.php',
			'WP_CLI\\CommandWithDBObject'                 => __DIR__ . '/..' . '/wp-cli/entity-command/src/WP_CLI/CommandWithDBObject.php',
			'WP_CLI\\CommandWithMeta'                     => __DIR__ . '/..' . '/wp-cli/entity-command/src/WP_CLI/CommandWithMeta.php',
			'WP_CLI\\CommandWithTerms'                    => __DIR__ . '/..' . '/wp-cli/entity-command/src/WP_CLI/CommandWithTerms.php',
			'WP_CLI\\CommandWithTranslation'              => __DIR__ . '/..' . '/wp-cli/language-command/src/WP_CLI/CommandWithTranslation.php',
			'WP_CLI\\CommandWithUpgrade'                  => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/CommandWithUpgrade.php',
			'WP_CLI\\Core\\CoreUpgrader'                  => __DIR__ . '/..' . '/wp-cli/core-command/src/WP_CLI/Core/CoreUpgrader.php',
			'WP_CLI\\Core\\NonDestructiveCoreUpgrader'    => __DIR__ . '/..' . '/wp-cli/core-command/src/WP_CLI/Core/NonDestructiveCoreUpgrader.php',
			'WP_CLI\\DestructivePluginUpgrader'           => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/DestructivePluginUpgrader.php',
			'WP_CLI\\DestructiveThemeUpgrader'            => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/DestructiveThemeUpgrader.php',
			'WP_CLI\\Fetchers\\Plugin'                    => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Plugin.php',
			'WP_CLI\\Fetchers\\Theme'                     => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/Fetchers/Theme.php',
			'WP_CLI\\Fetchers\\UnfilteredPlugin'          => __DIR__ . '/..' . '/wp-cli/checksum-command/src/WP_CLI/Fetchers/UnfilteredPlugin.php',
			'WP_CLI\\JsonManipulator'                     => __DIR__ . '/..' . '/wp-cli/package-command/src/WP_CLI/JsonManipulator.php',
			'WP_CLI\\LanguagePackUpgrader'                => __DIR__ . '/..' . '/wp-cli/language-command/src/WP_CLI/LanguagePackUpgrader.php',
			'WP_CLI\\Package\\Compat\\Min_Composer_1_10\\NullIOMethodsTrait' => __DIR__ . '/..' . '/wp-cli/package-command/src/WP_CLI/Package/Compat/Min_Composer_1_10/NullIOMethodsTrait.php',
			'WP_CLI\\Package\\Compat\\Min_Composer_2_3\\NullIOMethodsTrait' => __DIR__ . '/..' . '/wp-cli/package-command/src/WP_CLI/Package/Compat/Min_Composer_2_3/NullIOMethodsTrait.php',
			'WP_CLI\\Package\\Compat\\NullIOMethodsTrait' => __DIR__ . '/..' . '/wp-cli/package-command/src/WP_CLI/Package/Compat/NullIOMethodsTrait.php',
			'WP_CLI\\Package\\ComposerIO'                 => __DIR__ . '/..' . '/wp-cli/package-command/src/WP_CLI/Package/ComposerIO.php',
			'WP_CLI\\ParsePluginNameInput'                => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/ParsePluginNameInput.php',
			'WP_CLI\\ParseThemeNameInput'                 => __DIR__ . '/..' . '/wp-cli/extension-command/src/WP_CLI/ParseThemeNameInput.php',
			'WP_CLI\\SearchReplacer'                      => __DIR__ . '/..' . '/wp-cli/search-replace-command/src/WP_CLI/SearchReplacer.php',
			'WP_CLI\\Shell\\REPL'                         => __DIR__ . '/..' . '/wp-cli/shell-command/src/WP_CLI/Shell/REPL.php',
			'WP_CLI_Command'                              => __DIR__ . '/..' . '/wp-cli/wp-cli/php/class-wp-cli-command.php',
			'WP_Export_Base_Writer'                       => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Base_Writer.php',
			'WP_Export_Exception'                         => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Exception.php',
			'WP_Export_File_Writer'                       => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_File_Writer.php',
			'WP_Export_Oxymel'                            => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Oxymel.php',
			'WP_Export_Query'                             => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Query.php',
			'WP_Export_Returner'                          => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Returner.php',
			'WP_Export_Split_Files_Writer'                => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Split_Files_Writer.php',
			'WP_Export_Term_Exception'                    => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_Term_Exception.php',
			'WP_Export_WXR_Formatter'                     => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_WXR_Formatter.php',
			'WP_Export_XML_Over_HTTP'                     => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Export_XML_Over_HTTP.php',
			'WP_Iterator_Exception'                       => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Iterator_Exception.php',
			'WP_Map_Iterator'                             => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Map_Iterator.php',
			'WP_Post_IDs_Iterator'                        => __DIR__ . '/..' . '/wp-cli/export-command/src/WP_Post_IDs_Iterator.php',
			'Widget_Command'                              => __DIR__ . '/..' . '/wp-cli/widget-command/src/Widget_Command.php',
		);
		public static function getInitializer( \Composer\Autoload\ClassLoader $loader ) {       }
	}
}

namespace {
	// autoload_real.php @generated by Composer
	class ComposerAutoloaderInitdaed67296fbf5d0c1f0ab02a87145f10 {

		public static function loadClassLoader( $class ) {      }
		/**
		 * @return \Composer\Autoload\ClassLoader
		 */
		public static function getLoader() {        }
	}
}

namespace PHP_CodeSniffer\Sniffs {
	interface Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * An example return value for a sniff that wants to listen for whitespace
		 * and any comments would be:
		 *
		 * <code>
		 *    return array(
		 *            T_WHITESPACE,
		 *            T_DOC_COMMENT,
		 *            T_COMMENT,
		 *           );
		 * </code>
		 *
		 * @return mixed[]
		 * @see    Tokens.php
		 */
		public function register();
		/**
		 * Called when one of the token types that this sniff is listening for
		 * is found.
		 *
		 * The stackPtr variable indicates where in the stack the token was found.
		 * A sniff can acquire information this token, along with all the other
		 * tokens within the stack by first acquiring the token stack:
		 *
		 * <code>
		 *    $tokens = $phpcsFile->getTokens();
		 *    echo 'Encountered a '.$tokens[$stackPtr]['type'].' token';
		 *    echo 'token information: ';
		 *    print_r($tokens[$stackPtr]);
		 * </code>
		 *
		 * If the sniff discovers an anomaly in the code, they can raise an error
		 * by calling addError() on the \PHP_CodeSniffer\Files\File object, specifying an error
		 * message and the position of the offending token:
		 *
		 * <code>
		 *    $phpcsFile->addError('Encountered an error', $stackPtr);
		 * </code>
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where the
		 *                                               token was found.
		 * @param int                         $stackPtr  The position in the PHP_CodeSniffer
		 *                                               file's token stack where the token
		 *                                               was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return (count($tokens) + 1) to skip
		 *                  the rest of the file.
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr);
	}
}

namespace WordPressCS\WordPress {
	/**
	 * Represents a PHP_CodeSniffer sniff for sniffing WordPress coding standards.
	 *
	 * Provides a bootstrap for the sniffs, to reduce code duplication.
	 *
	 * @package WPCS\WordPressCodingStandards
	 * @since   0.4.0
	 *
	 * {@internal This class contains numerous properties where the array format looks
	 *            like `'string' => true`, i.e. the array item is set as the array key.
	 *            This allows for sniffs to verify whether something is in one of these
	 *            lists using `isset()` rather than `in_array()` which is a much more
	 *            efficient (faster) check to execute and therefore improves the
	 *            performance of the sniffs.
	 *            The `true` value in those cases is used as a placeholder and has no
	 *            meaning in and of itself.
	 *            In the rare few cases where the array values *do* have meaning, this
	 *            is documented in the property documentation.}}
	 */
	abstract class Sniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Regex to get complex variables from T_DOUBLE_QUOTED_STRING or T_HEREDOC.
		 *
		 * @since 0.14.0
		 *
		 * @var string
		 */
		const REGEX_COMPLEX_VARS = '`(?:(\\{)?(?<!\\\\)\\$)?(\\{)?(?<!\\\\)\\$(\\{)?(?P<varname>[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*)(?:->\\$?(?P>varname)|\\[[^\\]]+\\]|::\\$?(?P>varname)|\\([^\\)]*\\))*(?(3)\\}|)(?(2)\\}|)(?(1)\\}|)`';
		/**
		 * Minimum supported WordPress version.
		 *
		 * Currently used by the `WordPress.WP.AlternativeFunctions`,
		 * `WordPress.WP.DeprecatedClasses`, `WordPress.WP.DeprecatedFunctions`
		 * and the `WordPress.WP.DeprecatedParameter` sniff.
		 *
		 * These sniffs will throw an error when usage of a deprecated class/function/parameter
		 * is detected if the class/function/parameter was deprecated before the minimum
		 * supported WP version; a warning otherwise.
		 * By default, it is set to presume that a project will support the current
		 * WP version and up to three releases before.
		 *
		 * This property allows changing the minimum supported WP version used by
		 * these sniffs by setting a property in a custom phpcs.xml ruleset.
		 * This property will need to be set for each sniff which uses it.
		 *
		 * Example usage:
		 * <rule ref="WordPress.WP.DeprecatedClasses">
		 *  <properties>
		 *   <property name="minimum_supported_version" value="4.3"/>
		 *  </properties>
		 * </rule>
		 *
		 * Alternatively, the value can be passed in one go for all sniff using it via
		 * the command line or by setting a `<config>` value in a custom phpcs.xml ruleset.
		 * Note: the `_wp_` in the command line property name!
		 *
		 * CL: `phpcs --runtime-set minimum_supported_wp_version 4.5`
		 * Ruleset: `<config name="minimum_supported_wp_version" value="4.5"/>`
		 *
		 * @since 0.14.0 Previously the individual sniffs each contained this property.
		 *
		 * @internal When the value of this property is changed, it will also need
		 *           to be changed in the `WP/AlternativeFunctionsUnitTest.inc` file.
		 *
		 * @var string WordPress version.
		 */
		public $minimum_supported_version = '5.1';
		/**
		 * Custom list of classes which test classes can extend.
		 *
		 * This property allows end-users to add to the $test_class_whitelist via their ruleset.
		 * This property will need to be set for each sniff which uses the
		 * `is_test_class()` method.
		 * Currently the method is used by the `WordPress.WP.GlobalVariablesOverride`,
		 * `WordPress.NamingConventions.PrefixAllGlobals` and the `WordPress.Files.Filename` sniffs.
		 *
		 * Example usage:
		 * <rule ref="WordPress.[Subset].[Sniffname]">
		 *  <properties>
		 *   <property name="custom_test_class_whitelist" type="array">
		 *     <element value="My_Plugin_First_Test_Class"/>
		 *     <element value="My_Plugin_Second_Test_Class"/>
		 *   </property>
		 *  </properties>
		 * </rule>
		 *
		 * @since 0.11.0
		 *
		 * @var string|string[]
		 */
		public $custom_test_class_whitelist = array();
		/**
		 * List of the functions which verify nonces.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $nonceVerificationFunctions = array(
			'wp_verify_nonce'     => true,
			'check_admin_referer' => true,
			'check_ajax_referer'  => true,
		);
		/**
		 * Functions that escape values for display.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $escapingFunctions = array(
			'absint'                     => true,
			'esc_attr__'                 => true,
			'esc_attr_e'                 => true,
			'esc_attr_x'                 => true,
			'esc_attr'                   => true,
			'esc_html__'                 => true,
			'esc_html_e'                 => true,
			'esc_html_x'                 => true,
			'esc_html'                   => true,
			'esc_js'                     => true,
			'esc_sql'                    => true,
			'esc_textarea'               => true,
			'esc_url_raw'                => true,
			'esc_url'                    => true,
			'filter_input'               => true,
			'filter_var'                 => true,
			'floatval'                   => true,
			'highlight_string'           => true,
			'intval'                     => true,
			'json_encode'                => true,
			'like_escape'                => true,
			'number_format'              => true,
			'rawurlencode'               => true,
			'sanitize_hex_color'         => true,
			'sanitize_hex_color_no_hash' => true,
			'sanitize_html_class'        => true,
			'sanitize_key'               => true,
			'sanitize_user_field'        => true,
			'tag_escape'                 => true,
			'urlencode_deep'             => true,
			'urlencode'                  => true,
			'wp_json_encode'             => true,
			'wp_kses_allowed_html'       => true,
			'wp_kses_data'               => true,
			'wp_kses_post'               => true,
			'wp_kses'                    => true,
		);
		/**
		 * Functions whose output is automatically escaped for display.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $autoEscapedFunctions = array(
			'allowed_tags'            => true,
			'bloginfo'                => true,
			'body_class'              => true,
			'calendar_week_mod'       => true,
			'category_description'    => true,
			'checked'                 => true,
			'comment_class'           => true,
			'count'                   => true,
			'disabled'                => true,
			'do_shortcode'            => true,
			'do_shortcode_tag'        => true,
			'get_archives_link'       => true,
			'get_attachment_link'     => true,
			'get_avatar'              => true,
			'get_bookmark_field'      => true,
			'get_calendar'            => true,
			'get_comment_author_link' => true,
			'get_current_blog_id'     => true,
			'get_delete_post_link'    => true,
			'get_search_form'         => true,
			'get_search_query'        => true,
			'get_the_author_link'     => true,
			'get_the_author'          => true,
			'get_the_date'            => true,
			'get_the_ID'              => true,
			'get_the_post_thumbnail'  => true,
			'get_the_term_list'       => true,
			'post_type_archive_title' => true,
			'readonly'                => true,
			'selected'                => true,
			'single_cat_title'        => true,
			'single_month_title'      => true,
			'single_post_title'       => true,
			'single_tag_title'        => true,
			'single_term_title'       => true,
			'tag_description'         => true,
			'term_description'        => true,
			'the_author'              => true,
			'the_date'                => true,
			'the_title_attribute'     => true,
			'walk_nav_menu_tree'      => true,
			'wp_dropdown_categories'  => true,
			'wp_dropdown_users'       => true,
			'wp_generate_tag_cloud'   => true,
			'wp_get_archives'         => true,
			'wp_get_attachment_image' => true,
			'wp_get_attachment_link'  => true,
			'wp_link_pages'           => true,
			'wp_list_authors'         => true,
			'wp_list_bookmarks'       => true,
			'wp_list_categories'      => true,
			'wp_list_comments'        => true,
			'wp_login_form'           => true,
			'wp_loginout'             => true,
			'wp_nav_menu'             => true,
			'wp_register'             => true,
			'wp_tag_cloud'            => true,
			'wp_title'                => true,
		);
		/**
		 * Functions that sanitize values.
		 *
		 * This list is complementary to the `$unslashingSanitizingFunctions`
		 * list.
		 * Sanitizing functions should be added to this list if they do *not*
		 * implicitely unslash data and to the `$unslashingsanitizingFunctions`
		 * list if they do.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $sanitizingFunctions = array(
			'_wp_handle_upload'          => true,
			'esc_url_raw'                => true,
			'filter_input'               => true,
			'filter_var'                 => true,
			'hash_equals'                => true,
			'is_email'                   => true,
			'number_format'              => true,
			'sanitize_bookmark_field'    => true,
			'sanitize_bookmark'          => true,
			'sanitize_email'             => true,
			'sanitize_file_name'         => true,
			'sanitize_hex_color_no_hash' => true,
			'sanitize_hex_color'         => true,
			'sanitize_html_class'        => true,
			'sanitize_meta'              => true,
			'sanitize_mime_type'         => true,
			'sanitize_option'            => true,
			'sanitize_sql_orderby'       => true,
			'sanitize_term_field'        => true,
			'sanitize_term'              => true,
			'sanitize_text_field'        => true,
			'sanitize_textarea_field'    => true,
			'sanitize_title_for_query'   => true,
			'sanitize_title_with_dashes' => true,
			'sanitize_title'             => true,
			'sanitize_user_field'        => true,
			'sanitize_user'              => true,
			'validate_file'              => true,
			'wp_handle_sideload'         => true,
			'wp_handle_upload'           => true,
			'wp_kses_allowed_html'       => true,
			'wp_kses_data'               => true,
			'wp_kses_post'               => true,
			'wp_kses'                    => true,
			'wp_parse_id_list'           => true,
			'wp_redirect'                => true,
			'wp_safe_redirect'           => true,
			'wp_sanitize_redirect'       => true,
			'wp_strip_all_tags'          => true,
		);
		/**
		 * Sanitizing functions that implicitly unslash the data passed to them.
		 *
		 * This list is complementary to the `$sanitizingFunctions` list.
		 * Sanitizing functions should be added to this list if they also
		 * implicitely unslash data and to the `$sanitizingFunctions` list
		 * if they don't.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $unslashingSanitizingFunctions = array(
			'absint'       => true,
			'boolval'      => true,
			'count'        => true,
			'doubleval'    => true,
			'floatval'     => true,
			'intval'       => true,
			'sanitize_key' => true,
			'sizeof'       => true,
		);
		/**
		 * Functions which unslash the data passed to them.
		 *
		 * @since 2.1.0
		 *
		 * @var array
		 */
		protected $unslashingFunctions = array(
			'stripslashes_deep'              => true,
			'stripslashes_from_strings_only' => true,
			'wp_unslash'                     => true,
		);
		/**
		 * List of PHP native functions to test the type of a variable.
		 *
		 * Using these functions is safe in combination with superglobals without
		 * unslashing or sanitization.
		 *
		 * They should, however, not be regarded as unslashing or sanitization functions.
		 *
		 * @since 2.1.0
		 *
		 * @var array
		 */
		protected $typeTestFunctions = array(
			'is_array'     => true,
			'is_bool'      => true,
			'is_callable'  => true,
			'is_countable' => true,
			'is_double'    => true,
			'is_float'     => true,
			'is_int'       => true,
			'is_integer'   => true,
			'is_iterable'  => true,
			'is_long'      => true,
			'is_null'      => true,
			'is_numeric'   => true,
			'is_object'    => true,
			'is_real'      => true,
			'is_resource'  => true,
			'is_scalar'    => true,
			'is_string'    => true,
		);
		/**
		 * Token which when they preceed code indicate the value is safely casted.
		 *
		 * @since 1.1.0
		 *
		 * @var array
		 */
		protected $safe_casts = array(
			\T_INT_CAST    => true,
			\T_DOUBLE_CAST => true,
			\T_BOOL_CAST   => true,
			\T_UNSET_CAST  => true,
		);
		/**
		 * List of array functions which apply a callback to the array.
		 *
		 * These are often used for sanitization/escaping an array variable.
		 *
		 * Note: functions which alter the array by reference are not listed here on purpose.
		 * These cannot easily be used for sanitization as they can't be combined with unslashing.
		 * Similarly, they cannot be used for late escaping as the return value is a boolean, not
		 * the altered array.
		 *
		 * @since 2.1.0
		 *
		 * @var array <string function name> => <int parameter position of the callback parameter>
		 */
		protected $arrayWalkingFunctions = array(
			'array_map' => 1,
			'map_deep'  => 2,
		);
		/**
		 * Array functions to compare a $needle to a predefined set of values.
		 *
		 * If the value is set to an integer, the function needs to have at least that
		 * many parameters for it to be considered as a comparison.
		 *
		 * @since 2.1.0
		 *
		 * @var array <string function name> => <true|int>
		 */
		protected $arrayCompareFunctions = array(
			'in_array'     => true,
			'array_search' => true,
			'array_keys'   => 2,
		);
		/**
		 * Functions that format strings.
		 *
		 * These functions are often used for formatting values just before output, and
		 * it is common practice to escape the individual parameters passed to them as
		 * needed instead of escaping the entire result. This is especially true when the
		 * string being formatted contains HTML, which makes escaping the full result
		 * more difficult.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $formattingFunctions = array(
			'array_fill' => true,
			'ent2ncr'    => true,
			'implode'    => true,
			'join'       => true,
			'nl2br'      => true,
			'sprintf'    => true,
			'vsprintf'   => true,
			'wp_sprintf' => true,
		);
		/**
		 * Functions which print output incorporating the values passed to them.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $printingFunctions = array(
			'_deprecated_argument'    => true,
			'_deprecated_constructor' => true,
			'_deprecated_file'        => true,
			'_deprecated_function'    => true,
			'_deprecated_hook'        => true,
			'_doing_it_wrong'         => true,
			'_e'                      => true,
			'_ex'                     => true,
			'printf'                  => true,
			'trigger_error'           => true,
			'user_error'              => true,
			'vprintf'                 => true,
			'wp_die'                  => true,
			'wp_dropdown_pages'       => true,
		);
		/**
		 * Functions that escape values for use in SQL queries.
		 *
		 * @since 0.9.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $SQLEscapingFunctions = array(
			'absint'      => true,
			'esc_sql'     => true,
			'floatval'    => true,
			'intval'      => true,
			'like_escape' => true,
		);
		/**
		 * Functions whose output is automatically escaped for use in SQL queries.
		 *
		 * @since 0.9.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $SQLAutoEscapedFunctions = array( 'count' => true );
		/**
		 * A list of functions that get data from the cache.
		 *
		 * @since 0.6.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $cacheGetFunctions = array( 'wp_cache_get' => true );
		/**
		 * A list of functions that set data in the cache.
		 *
		 * @since 0.6.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $cacheSetFunctions = array(
			'wp_cache_set' => true,
			'wp_cache_add' => true,
		);
		/**
		 * A list of functions that delete data from the cache.
		 *
		 * @since 0.6.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $cacheDeleteFunctions = array(
			'wp_cache_delete'         => true,
			'clean_attachment_cache'  => true,
			'clean_blog_cache'        => true,
			'clean_bookmark_cache'    => true,
			'clean_category_cache'    => true,
			'clean_comment_cache'     => true,
			'clean_network_cache'     => true,
			'clean_object_term_cache' => true,
			'clean_page_cache'        => true,
			'clean_post_cache'        => true,
			'clean_term_cache'        => true,
			'clean_user_cache'        => true,
		);
		/**
		 * A list of functions that invoke WP hooks (filters/actions).
		 *
		 * @since 0.10.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $hookInvokeFunctions = array(
			'do_action'                => true,
			'do_action_ref_array'      => true,
			'do_action_deprecated'     => true,
			'apply_filters'            => true,
			'apply_filters_ref_array'  => true,
			'apply_filters_deprecated' => true,
		);
		/**
		 * A list of functions that are used to interact with the WP plugins API.
		 *
		 * @since 0.10.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array <string function name> => <int position of the hook name argument in function signature>
		 */
		protected $hookFunctions = array(
			'has_filter'         => 1,
			'add_filter'         => 1,
			'remove_filter'      => 1,
			'remove_all_filters' => 1,
			'doing_filter'       => 1,
			// Hook name optional.
			'has_action'         => 1,
			'add_action'         => 1,
			'doing_action'       => 1,
			// Hook name optional.
			'did_action'         => 1,
			'remove_action'      => 1,
			'remove_all_actions' => 1,
			'current_filter'     => 0,
		);
		/**
		 * List of global WP variables.
		 *
		 * @since 0.3.0
		 * @since 0.11.0 Changed visibility from public to protected.
		 * @since 0.12.0 Renamed from `$globals` to `$wp_globals` to be more descriptive.
		 * @since 0.12.0 Moved here from the WordPress.Variables.GlobalVariables sniff.
		 *
		 * @var array
		 */
		protected $wp_globals = array(
			'_links_add_base'                  => true,
			'_links_add_target'                => true,
			'_menu_item_sort_prop'             => true,
			'_nav_menu_placeholder'            => true,
			'_new_bundled_files'               => true,
			'_old_files'                       => true,
			'_parent_pages'                    => true,
			'_registered_pages'                => true,
			'_updated_user_settings'           => true,
			'_wp_additional_image_sizes'       => true,
			'_wp_admin_css_colors'             => true,
			'_wp_default_headers'              => true,
			'_wp_deprecated_widgets_callbacks' => true,
			'_wp_last_object_menu'             => true,
			'_wp_last_utility_menu'            => true,
			'_wp_menu_nopriv'                  => true,
			'_wp_nav_menu_max_depth'           => true,
			'_wp_post_type_features'           => true,
			'_wp_real_parent_file'             => true,
			'_wp_registered_nav_menus'         => true,
			'_wp_sidebars_widgets'             => true,
			'_wp_submenu_nopriv'               => true,
			'_wp_suspend_cache_invalidation'   => true,
			'_wp_theme_features'               => true,
			'_wp_using_ext_object_cache'       => true,
			'action'                           => true,
			'active_signup'                    => true,
			'admin_body_class'                 => true,
			'admin_page_hooks'                 => true,
			'all_links'                        => true,
			'allowedentitynames'               => true,
			'allowedposttags'                  => true,
			'allowedtags'                      => true,
			'auth_secure_cookie'               => true,
			'authordata'                       => true,
			'avail_post_mime_types'            => true,
			'avail_post_stati'                 => true,
			'blog_id'                          => true,
			'blog_title'                       => true,
			'blogname'                         => true,
			'cat'                              => true,
			'cat_id'                           => true,
			'charset_collate'                  => true,
			'comment'                          => true,
			'comment_alt'                      => true,
			'comment_depth'                    => true,
			'comment_status'                   => true,
			'comment_thread_alt'               => true,
			'comment_type'                     => true,
			'comments'                         => true,
			'compress_css'                     => true,
			'compress_scripts'                 => true,
			'concatenate_scripts'              => true,
			'content_width'                    => true,
			'current_blog'                     => true,
			'current_screen'                   => true,
			'current_site'                     => true,
			'current_user'                     => true,
			'currentcat'                       => true,
			'currentday'                       => true,
			'currentmonth'                     => true,
			'custom_background'                => true,
			'custom_image_header'              => true,
			'default_menu_order'               => true,
			'descriptions'                     => true,
			'domain'                           => true,
			'editor_styles'                    => true,
			'error'                            => true,
			'errors'                           => true,
			'EZSQL_ERROR'                      => true,
			'feeds'                            => true,
			'GETID3_ERRORARRAY'                => true,
			'hook_suffix'                      => true,
			'HTTP_RAW_POST_DATA'               => true,
			'id'                               => true,
			'in_comment_loop'                  => true,
			'interim_login'                    => true,
			'is_apache'                        => true,
			'is_chrome'                        => true,
			'is_gecko'                         => true,
			'is_IE'                            => true,
			'is_IIS'                           => true,
			'is_iis7'                          => true,
			'is_macIE'                         => true,
			'is_NS4'                           => true,
			'is_opera'                         => true,
			'is_safari'                        => true,
			'is_winIE'                         => true,
			'l10n'                             => true,
			'link'                             => true,
			'link_id'                          => true,
			'locale'                           => true,
			'locked_post_status'               => true,
			'lost'                             => true,
			'm'                                => true,
			'map'                              => true,
			'menu'                             => true,
			'menu_order'                       => true,
			'merged_filters'                   => true,
			'mode'                             => true,
			'monthnum'                         => true,
			'more'                             => true,
			'mu_plugin'                        => true,
			'multipage'                        => true,
			'names'                            => true,
			'nav_menu_selected_id'             => true,
			'network_plugin'                   => true,
			'new_whitelist_options'            => true,
			'numpages'                         => true,
			'one_theme_location_no_menus'      => true,
			'opml'                             => true,
			'order'                            => true,
			'orderby'                          => true,
			'overridden_cpage'                 => true,
			'page'                             => true,
			'paged'                            => true,
			'pagenow'                          => true,
			'pages'                            => true,
			'parent_file'                      => true,
			'pass_allowed_html'                => true,
			'pass_allowed_protocols'           => true,
			'path'                             => true,
			'per_page'                         => true,
			'PHP_SELF'                         => true,
			'phpmailer'                        => true,
			'plugin_page'                      => true,
			'plugin'                           => true,
			'plugins'                          => true,
			'post'                             => true,
			'post_default_category'            => true,
			'post_default_title'               => true,
			'post_ID'                          => true,
			'post_id'                          => true,
			'post_mime_types'                  => true,
			'post_type'                        => true,
			'post_type_object'                 => true,
			'posts'                            => true,
			'preview'                          => true,
			'previouscat'                      => true,
			'previousday'                      => true,
			'previousweekday'                  => true,
			'redir_tab'                        => true,
			'required_mysql_version'           => true,
			'required_php_version'             => true,
			'rnd_value'                        => true,
			'role'                             => true,
			's'                                => true,
			'search'                           => true,
			'self'                             => true,
			'shortcode_tags'                   => true,
			'show_admin_bar'                   => true,
			'sidebars_widgets'                 => true,
			'status'                           => true,
			'submenu'                          => true,
			'submenu_file'                     => true,
			'super_admins'                     => true,
			'tab'                              => true,
			'table_prefix'                     => true,
			'tabs'                             => true,
			'tag'                              => true,
			'tag_ID'                           => true,
			'targets'                          => true,
			'tax'                              => true,
			'taxnow'                           => true,
			'taxonomy'                         => true,
			'term'                             => true,
			'text_direction'                   => true,
			'theme_field_defaults'             => true,
			'themes_allowedtags'               => true,
			'timeend'                          => true,
			'timestart'                        => true,
			'tinymce_version'                  => true,
			'title'                            => true,
			'totals'                           => true,
			'type'                             => true,
			'typenow'                          => true,
			'updated_timestamp'                => true,
			'upgrading'                        => true,
			'urls'                             => true,
			'user_email'                       => true,
			'user_ID'                          => true,
			'user_identity'                    => true,
			'user_level'                       => true,
			'user_login'                       => true,
			'user_url'                         => true,
			'userdata'                         => true,
			'usersearch'                       => true,
			'whitelist_options'                => true,
			'withcomments'                     => true,
			'wp'                               => true,
			'wp_actions'                       => true,
			'wp_admin_bar'                     => true,
			'wp_cockneyreplace'                => true,
			'wp_current_db_version'            => true,
			'wp_current_filter'                => true,
			'wp_customize'                     => true,
			'wp_dashboard_control_callbacks'   => true,
			'wp_db_version'                    => true,
			'wp_did_header'                    => true,
			'wp_embed'                         => true,
			'wp_file_descriptions'             => true,
			'wp_filesystem'                    => true,
			'wp_filter'                        => true,
			'wp_hasher'                        => true,
			'wp_header_to_desc'                => true,
			'wp_importers'                     => true,
			'wp_json'                          => true,
			'wp_list_table'                    => true,
			'wp_local_package'                 => true,
			'wp_locale'                        => true,
			'wp_meta_boxes'                    => true,
			'wp_object_cache'                  => true,
			'wp_plugin_paths'                  => true,
			'wp_post_statuses'                 => true,
			'wp_post_types'                    => true,
			'wp_queries'                       => true,
			'wp_query'                         => true,
			'wp_registered_sidebars'           => true,
			'wp_registered_widget_controls'    => true,
			'wp_registered_widget_updates'     => true,
			'wp_registered_widgets'            => true,
			'wp_rewrite'                       => true,
			'wp_rich_edit'                     => true,
			'wp_rich_edit_exists'              => true,
			'wp_roles'                         => true,
			'wp_scripts'                       => true,
			'wp_settings_errors'               => true,
			'wp_settings_fields'               => true,
			'wp_settings_sections'             => true,
			'wp_smiliessearch'                 => true,
			'wp_styles'                        => true,
			'wp_taxonomies'                    => true,
			'wp_the_query'                     => true,
			'wp_theme_directories'             => true,
			'wp_themes'                        => true,
			'wp_user_roles'                    => true,
			'wp_version'                       => true,
			'wp_widget_factory'                => true,
			'wp_xmlrpc_server'                 => true,
			'wpcommentsjavascript'             => true,
			'wpcommentspopupfile'              => true,
			'wpdb'                             => true,
			'wpsmiliestrans'                   => true,
			'year'                             => true,
		);
		/**
		 * A list of superglobals that incorporate user input.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 Changed from static to non-static.
		 *
		 * @var string[]
		 */
		protected $input_superglobals = array( '$_COOKIE', '$_GET', '$_FILES', '$_POST', '$_REQUEST', '$_SERVER' );
		/**
		 * Whitelist of classes which test classes can extend.
		 *
		 * @since 0.11.0
		 *
		 * @var string[]
		 */
		protected $test_class_whitelist = array(
			'WP_UnitTestCase_Base'                       => true,
			'WP_UnitTestCase'                            => true,
			'WP_Ajax_UnitTestCase'                       => true,
			'WP_Canonical_UnitTestCase'                  => true,
			'WP_Test_REST_TestCase'                      => true,
			'WP_Test_REST_Controller_Testcase'           => true,
			'WP_Test_REST_Post_Type_Controller_Testcase' => true,
			'WP_XMLRPC_UnitTestCase'                     => true,
			'PHPUnit_Framework_TestCase'                 => true,
			'PHPUnit\\Framework\\TestCase'               => true,
			// PHPUnit native TestCase class when imported via use statement.
			'TestCase'                                   => true,
		);
		/**
		 * The current file being sniffed.
		 *
		 * @since 0.4.0
		 *
		 * @var \PHP_CodeSniffer\Files\File
		 */
		protected $phpcsFile;
		/**
		 * The list of tokens in the current file being sniffed.
		 *
		 * @since 0.4.0
		 *
		 * @var array
		 */
		protected $tokens;
		/**
		 * Set sniff properties and hand off to child class for processing of the token.
		 *
		 * @since 0.11.0
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		/**
		 * Processes a sniff when one of its tokens is encountered.
		 *
		 * @since 0.11.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		abstract public function process_token( $stackPtr);
		/**
		 * Initialize the class for the current process.
		 *
		 * This method must be called by child classes before using many of the methods
		 * below.
		 *
		 * @since 0.4.0
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file currently being processed.
		 */
		protected function init( \PHP_CodeSniffer\Files\File $phpcsFile ) {         }
		/**
		 * Strip quotes surrounding an arbitrary string.
		 *
		 * Intended for use with the contents of a T_CONSTANT_ENCAPSED_STRING / T_DOUBLE_QUOTED_STRING.
		 *
		 * @since 0.11.0
		 *
		 * @param string $string The raw string.
		 * @return string String without quotes around it.
		 */
		public function strip_quotes( $string ) {       }
		/**
		 * Add a PHPCS message to the output stack as either a warning or an error.
		 *
		 * @since 0.11.0
		 *
		 * @param string $message  The message.
		 * @param int    $stackPtr The position of the token the message relates to.
		 * @param bool   $is_error Optional. Whether to report the message as an 'error' or 'warning'.
		 *                         Defaults to true (error).
		 * @param string $code     Optional error code for the message. Defaults to 'Found'.
		 * @param array  $data     Optional input for the data replacements.
		 * @param int    $severity Optional. Severity level. Defaults to 0 which will translate to
		 *                         the PHPCS default severity level.
		 * @return bool
		 */
		protected function addMessage( $message, $stackPtr, $is_error = true, $code = 'Found', $data = array(), $severity = 0 ) {       }
		/**
		 * Add a fixable PHPCS message to the output stack as either a warning or an error.
		 *
		 * @since 0.11.0
		 *
		 * @param string $message  The message.
		 * @param int    $stackPtr The position of the token the message relates to.
		 * @param bool   $is_error Optional. Whether to report the message as an 'error' or 'warning'.
		 *                         Defaults to true (error).
		 * @param string $code     Optional error code for the message. Defaults to 'Found'.
		 * @param array  $data     Optional input for the data replacements.
		 * @param int    $severity Optional. Severity level. Defaults to 0 which will translate to
		 *                         the PHPCS default severity level.
		 * @return bool
		 */
		protected function addFixableMessage( $message, $stackPtr, $is_error = true, $code = 'Found', $data = array(), $severity = 0 ) {        }
		/**
		 * Convert an arbitrary string to an alphanumeric string with underscores.
		 *
		 * Pre-empt issues with arbitrary strings being used as error codes in XML and PHP.
		 *
		 * @since 0.11.0
		 *
		 * @param string $base_string Arbitrary string.
		 *
		 * @return string
		 */
		protected function string_to_errorcode( $base_string ) {        }
		/**
		 * Transform the name of a PHP construct (function, variable etc) to one in snake_case.
		 *
		 * @since 2.0.0 Moved from the `WordPress.NamingConventions.ValidFunctionName` sniff
		 *              to this class, renamed from `get_name_suggestion` and made static
		 *              so it can also be used by classes which don't extend this class.
		 *
		 * @param string $name The construct name.
		 *
		 * @return string
		 */
		public static function get_snake_case_name_suggestion( $name ) {        }
		/**
		 * Merge a pre-set array with a ruleset provided array.
		 *
		 * - By default flips custom lists to allow for using `isset()` instead
		 *   of `in_array()`.
		 * - When `$flip` is true:
		 *   * Presumes the base array is in a `'value' => true` format.
		 *   * Any custom items will be given the value `false` to be able to
		 *     distinguish them from pre-set (base array) values.
		 *   * Will filter previously added custom items out from the base array
		 *     before merging/returning to allow for resetting to the base array.
		 *
		 * {@internal Function is static as it doesn't use any of the properties or others
		 * methods anyway and this way the `WordPress.NamingConventions.ValidVariableName` sniff
		 * which extends an upstream sniff can also use it.}}
		 *
		 * @since 0.11.0
		 * @since 2.0.0  No longer supports custom array properties which were incorrectly
		 *               passed as a string.
		 *
		 * @param array $custom Custom list as provided via a ruleset.
		 * @param array $base   Optional. Base list. Defaults to an empty array.
		 *                      Expects `value => true` format when `$flip` is true.
		 * @param bool  $flip   Optional. Whether or not to flip the custom list.
		 *                      Defaults to true.
		 * @return array
		 */
		public static function merge_custom_array( $custom, $base = array(), $flip = true ) {       }
		/**
		 * Get the last pointer in a line.
		 *
		 * @since 0.4.0
		 *
		 * @param integer $stackPtr The position of the current token in the stack passed
		 *                          in $tokens.
		 *
		 * @return integer Position of the last pointer on that line.
		 */
		protected function get_last_ptr_on_line( $stackPtr ) {      }
		/**
		 * Overrule the minimum supported WordPress version with a command-line/config value.
		 *
		 * Handle setting the minimum supported WP version in one go for all sniffs which
		 * expect it via the command line or via a `<config>` variable in a ruleset.
		 * The config variable overrules the default `$minimum_supported_version` and/or a
		 * `$minimum_supported_version` set for individual sniffs through the ruleset.
		 *
		 * @since 0.14.0
		 */
		protected function get_wp_version_from_cl() {       }
		/**
		 * Find whitelisting comment.
		 *
		 * Comment must be at the end of the line or at the end of the statement
		 * and must use // format.
		 * It can be prefixed or suffixed with anything e.g. "foobar" will match:
		 * ... // foobar okay
		 * ... // WPCS: foobar whitelist.
		 *
		 * There is an exception, and that is when PHP is being interspersed with HTML.
		 * In that case, the comment should always come at the end of the statement (right
		 * before the closing tag, ?>). For example:
		 *
		 * <input type="text" id="<?php echo $id; // XSS OK ?>" />
		 *
		 * @since 0.4.0
		 * @since 0.14.0 Whitelist comments at the end of the statement are now also accepted.
		 *
		 * @deprecated 2.0.0 Use the PHPCS native `phpcs:ignore` annotations instead.
		 *
		 * @param string  $comment  Comment to find.
		 * @param integer $stackPtr The position of the current token in the stack passed
		 *                          in $tokens.
		 *
		 * @return boolean True if whitelisting comment was found, false otherwise.
		 */
		protected function has_whitelist_comment( $comment, $stackPtr ) {       }
		/**
		 * Check if a token is used within a unit test.
		 *
		 * Unit test methods are identified as such:
		 * - Method is within a known unit test class;
		 * - or Method is within a class/trait which extends a known unit test class.
		 *
		 * @since 0.11.0
		 * @since 1.1.0  Supports anonymous test classes and improved handling of nested scopes.
		 *
		 * @param int $stackPtr The position of the token to be examined.
		 *
		 * @return bool True if the token is within a unit test, false otherwise.
		 */
		protected function is_token_in_test_method( $stackPtr ) {       }
		/**
		 * Check if a class token is part of a unit test suite.
		 *
		 * Unit test classes are identified as such:
		 * - Class which either extends WP_UnitTestCase or PHPUnit_Framework_TestCase
		 *   or a custom whitelisted unit test class.
		 *
		 * @since 0.12.0 Split off from the `is_token_in_test_method()` method.
		 * @since 1.0.0  Improved recognition of namespaced class names.
		 *
		 * @param int $stackPtr The position of the token to be examined.
		 *                      This should be a class, anonymous class or trait token.
		 *
		 * @return bool True if the class is a unit test class, false otherwise.
		 */
		protected function is_test_class( $stackPtr ) {         }
		/**
		 * Check if this variable is being assigned a value.
		 *
		 * E.g., $var = 'foo';
		 *
		 * Also handles array assignments to arbitrary depth:
		 *
		 * $array['key'][ $foo ][ something() ] = $bar;
		 *
		 * @since 0.5.0
		 *
		 * @param int $stackPtr The index of the token in the stack. This must point to
		 *                      either a T_VARIABLE or T_CLOSE_SQUARE_BRACKET token.
		 *
		 * @return bool Whether the token is a variable being assigned a value.
		 */
		protected function is_assignment( $stackPtr ) {         }
		/**
		 * Check if this token has an associated nonce check.
		 *
		 * @since 0.5.0
		 *
		 * @param int $stackPtr The position of the current token in the stack of tokens.
		 *
		 * @return bool
		 */
		protected function has_nonce_check( $stackPtr ) {       }
		/**
		 * Check if a token is inside of an isset(), empty() or array_key_exists() statement.
		 *
		 * @since 0.5.0
		 * @since 2.1.0 Now checks for the token being used as the array parameter
		 *              in function calls to array_key_exists() and key_exists() as well.
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool Whether the token is inside an isset() or empty() statement.
		 */
		protected function is_in_isset_or_empty( $stackPtr ) {      }
		/**
		 * Check if a particular token is a (static or non-static) call to a class method or property.
		 *
		 * @internal Note: this may still mistake a namespaced function imported via a `use` statement for
		 * a global function!
		 *
		 * @since 2.1.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool
		 */
		protected function is_class_object_call( $stackPtr ) {      }
		/**
		 * Check if a particular token is prefixed with a namespace.
		 *
		 * @internal This will give a false positive if the file is not namespaced and the token is prefixed
		 * with `namespace\`.
		 *
		 * @since 2.1.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool
		 */
		protected function is_token_namespaced( $stackPtr ) {       }
		/**
		 * Check if a token is (part of) a parameter for a function call to a select list of functions.
		 *
		 * This is useful, for instance, when trying to determine the context a variable is used in.
		 *
		 * For example: this function could be used to determine if the variable `$foo` is used
		 * in a global function call to the function `is_foo()`.
		 * In that case, a call to this function would return the stackPtr to the T_STRING `is_foo`
		 * for code like: `is_foo( $foo, 'some_other_param' )`, while it would return `false` for
		 * the following code `is_bar( $foo, 'some_other_param' )`.
		 *
		 * @since 2.1.0
		 *
		 * @param int   $stackPtr        The index of the token in the stack.
		 * @param array $valid_functions List of valid function names.
		 *                               Note: The keys to this array should be the function names
		 *                               in lowercase. Values are irrelevant.
		 * @param bool  $global          Optional. Whether to make sure that the function call is
		 *                               to a global function. If `false`, calls to methods, be it static
		 *                               `Class::method()` or via an object `$obj->method()`, and
		 *                               namespaced function calls, like `MyNS\function_name()` will
		 *                               also be accepted.
		 *                               Defaults to `true`.
		 * @param bool  $allow_nested    Optional. Whether to allow for nested function calls within the
		 *                               call to this function.
		 *                               I.e. when checking whether a token is within a function call
		 *                               to `strtolower()`, whether to accept `strtolower( trim( $var ) )`
		 *                               or only `strtolower( $var )`.
		 *                               Defaults to `false`.
		 *
		 * @return int|bool Stack pointer to the function call T_STRING token or false otherwise.
		 */
		protected function is_in_function_call( $stackPtr, $valid_functions, $global = true, $allow_nested = false ) {      }
		/**
		 * Check if a token is inside of an is_...() statement.
		 *
		 * @since 2.1.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool Whether the token is being type tested.
		 */
		protected function is_in_type_test( $stackPtr ) {       }
		/**
		 * Check if something is only being sanitized.
		 *
		 * @since 0.5.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool Whether the token is only within a sanitization.
		 */
		protected function is_only_sanitized( $stackPtr ) {         }
		/**
		 * Check if something is being casted to a safe value.
		 *
		 * @since 0.5.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool Whether the token being casted.
		 */
		protected function is_safe_casted( $stackPtr ) {        }
		/**
		 * Check if something is being sanitized.
		 *
		 * @since 0.5.0
		 *
		 * @param int  $stackPtr        The index of the token in the stack.
		 * @param bool $require_unslash Whether to give an error if no unslashing function
		 *                              is used on the variable before sanitization.
		 *
		 * @return bool Whether the token being sanitized.
		 */
		protected function is_sanitized( $stackPtr, $require_unslash = false ) {        }
		/**
		 * Add an error for missing use of unslashing.
		 *
		 * @since 0.5.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 */
		public function add_unslash_error( $stackPtr ) {        }
		/**
		 * Get the index keys of an array variable.
		 *
		 * E.g., "bar" and "baz" in $foo['bar']['baz'].
		 *
		 * @since 2.1.0
		 *
		 * @param int  $stackPtr The index of the variable token in the stack.
		 * @param bool $all      Whether to get all keys or only the first.
		 *                       Defaults to `true`(= all).
		 *
		 * @return array An array of index keys whose value is being accessed.
		 *               or an empty array if this is not array access.
		 */
		protected function get_array_access_keys( $stackPtr, $all = true ) {        }
		/**
		 * Get the index key of an array variable.
		 *
		 * E.g., "bar" in $foo['bar'].
		 *
		 * @since 0.5.0
		 * @since 2.1.0 Now uses get_array_access_keys() under the hood.
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return string|false The array index key whose value is being accessed.
		 */
		protected function get_array_access_key( $stackPtr ) {      }
		/**
		 * Check if the existence of a variable is validated with isset(), empty(), array_key_exists()
		 * or key_exists().
		 *
		 * When $in_condition_only is false, (which is the default), this is considered
		 * valid:
		 *
		 * ```php
		 * if ( isset( $var ) ) {
		 *     // Do stuff, like maybe return or exit (but could be anything)
		 * }
		 *
		 * foo( $var );
		 * ```
		 *
		 * When it is true, that would be invalid, the use of the variable must be within
		 * the scope of the validating condition, like this:
		 *
		 * ```php
		 * if ( isset( $var ) ) {
		 *     foo( $var );
		 * }
		 * ```
		 *
		 * @since 0.5.0
		 * @since 2.1.0 Now recognizes array_key_exists() and key_exists() as validation functions.
		 * @since 2.1.0 Stricter check on whether the correct variable and the correct
		 *              array keys are being validated.
		 *
		 * @param int          $stackPtr          The index of this token in the stack.
		 * @param array|string $array_keys        An array key to check for ("bar" in $foo['bar'])
		 *                                        or an array of keys for multi-level array access.
		 * @param bool         $in_condition_only Whether to require that this use of the
		 *                                        variable occur within the scope of the
		 *                                        validating condition, or just in the same
		 *                                        scope as it (default).
		 *
		 * @return bool Whether the var is validated.
		 */
		protected function is_validated( $stackPtr, $array_keys = array(), $in_condition_only = false ) {       }
		/**
		 * Check whether a variable is being compared to another value.
		 *
		 * E.g., $var === 'foo', 1 <= $var, etc.
		 *
		 * Also recognizes `switch ( $var )`.
		 *
		 * @since 0.5.0
		 * @since 2.1.0 Added the $include_coalesce parameter.
		 *
		 * @param int  $stackPtr         The index of this token in the stack.
		 * @param bool $include_coalesce Optional. Whether or not to regard the null
		 *                               coalesce operator - ?? - as a comparison operator.
		 *                               Defaults to true.
		 *                               Null coalesce is a special comparison operator in this
		 *                               sense as it doesn't compare a variable to whatever is
		 *                               on the other side of the comparison operator.
		 *
		 * @return bool Whether this is a comparison.
		 */
		protected function is_comparison( $stackPtr, $include_coalesce = true ) {       }
		/**
		 * Check if a token is inside of an array-value comparison function.
		 *
		 * @since 2.1.0
		 *
		 * @param int $stackPtr The index of the token in the stack.
		 *
		 * @return bool Whether the token is (part of) a parameter to an
		 *              array-value comparison function.
		 */
		protected function is_in_array_comparison( $stackPtr ) {        }
		/**
		 * Check what type of 'use' statement a token is part of.
		 *
		 * The T_USE token has multiple different uses:
		 *
		 * 1. In a closure: function () use ( $var ) {}
		 * 2. In a class, to import a trait: use Trait_Name
		 * 3. In a namespace, to import a class: use Some\Class;
		 *
		 * This function will check the token and return 'closure', 'trait', or 'class',
		 * based on which of these uses the use is being used for.
		 *
		 * @since 0.7.0
		 *
		 * @param int $stackPtr The position of the token to check.
		 *
		 * @return string The type of use.
		 */
		protected function get_use_type( $stackPtr ) {      }
		/**
		 * Get the interpolated variable names from a string.
		 *
		 * Check if '$' is followed by a valid variable name, and that it is not preceded by an escape sequence.
		 *
		 * @since 0.9.0
		 *
		 * @param string $string The contents of a T_DOUBLE_QUOTED_STRING or T_HEREDOC token.
		 *
		 * @return array Variable names (without '$' sigil).
		 */
		protected function get_interpolated_variables( $string ) {      }
		/**
		 * Strip variables from an arbitrary double quoted/heredoc string.
		 *
		 * Intended for use with the contents of a T_DOUBLE_QUOTED_STRING or T_HEREDOC token.
		 *
		 * @since 0.14.0
		 *
		 * @param string $string The raw string.
		 *
		 * @return string String without variables in it.
		 */
		public function strip_interpolated_variables( $string ) {       }
		/**
		 * Checks if a function call has parameters.
		 *
		 * Expects to be passed the T_STRING stack pointer for the function call.
		 * If passed a T_STRING which is *not* a function call, the behaviour is unreliable.
		 *
		 * Extra feature: If passed an T_ARRAY or T_OPEN_SHORT_ARRAY stack pointer, it
		 * will detect whether the array has values or is empty.
		 *
		 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/120
		 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/152
		 *
		 * @since 0.11.0
		 *
		 * @param int $stackPtr The position of the function call token.
		 *
		 * @return bool
		 */
		public function does_function_call_have_parameters( $stackPtr ) {       }
		/**
		 * Count the number of parameters a function call has been passed.
		 *
		 * Expects to be passed the T_STRING stack pointer for the function call.
		 * If passed a T_STRING which is *not* a function call, the behaviour is unreliable.
		 *
		 * Extra feature: If passed an T_ARRAY or T_OPEN_SHORT_ARRAY stack pointer,
		 * it will return the number of values in the array.
		 *
		 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/111
		 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/114
		 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/151
		 *
		 * @since 0.11.0
		 *
		 * @param int $stackPtr The position of the function call token.
		 *
		 * @return int
		 */
		public function get_function_call_parameter_count( $stackPtr ) {        }
		/**
		 * Get information on all parameters passed to a function call.
		 *
		 * Expects to be passed the T_STRING stack pointer for the function call.
		 * If passed a T_STRING which is *not* a function call, the behaviour is unreliable.
		 *
		 * Extra feature: If passed an T_ARRAY or T_OPEN_SHORT_ARRAY stack pointer,
		 * it will tokenize the values / key/value pairs contained in the array call.
		 *
		 * @since 0.11.0
		 *
		 * @param int $stackPtr The position of the function call token.
		 *
		 * @return array Multi-dimentional array with parameter details or
		 *               empty array if no parameters are found.
		 *
		 *               @type int $position 1-based index position of the parameter. {
		 *                   @type int $start Stack pointer for the start of the parameter.
		 *                   @type int $end   Stack pointer for the end of parameter.
		 *                   @type int $raw   Trimmed raw parameter content.
		 *               }
		 */
		public function get_function_call_parameters( $stackPtr ) {         }
		/**
		 * Get information on a specific parameter passed to a function call.
		 *
		 * Expects to be passed the T_STRING stack pointer for the function call.
		 * If passed a T_STRING which is *not* a function call, the behaviour is unreliable.
		 *
		 * Will return a array with the start token pointer, end token pointer and the raw value
		 * of the parameter at a specific offset.
		 * If the specified parameter is not found, will return false.
		 *
		 * @since 0.11.0
		 *
		 * @param int $stackPtr     The position of the function call token.
		 * @param int $param_offset The 1-based index position of the parameter to retrieve.
		 *
		 * @return array|false
		 */
		public function get_function_call_parameter( $stackPtr, $param_offset ) {       }
		/**
		 * Find the array opener & closer based on a T_ARRAY or T_OPEN_SHORT_ARRAY token.
		 *
		 * @since 0.12.0
		 *
		 * @param int $stackPtr The stack pointer to the array token.
		 *
		 * @return array|bool Array with two keys `opener`, `closer` or false if
		 *                    either or these could not be determined.
		 */
		protected function find_array_open_close( $stackPtr ) {         }
		/**
		 * Find the list opener & closer based on a T_LIST or T_OPEN_SHORT_ARRAY token.
		 *
		 * @since 2.2.0
		 *
		 * @param int $stackPtr The stack pointer to the array token.
		 *
		 * @return array|bool Array with two keys `opener`, `closer` or false if
		 *                    not a (short) list token or if either or these
		 *                    could not be determined.
		 */
		protected function find_list_open_close( $stackPtr ) {      }
		/**
		 * Determine the namespace name an arbitrary token lives in.
		 *
		 * @since 0.10.0
		 * @since 0.12.0 Moved from the `AbstractClassRestrictionsSniff` to this class.
		 *
		 * @param int $stackPtr The token position for which to determine the namespace.
		 *
		 * @return string Namespace name or empty string if it couldn't be determined or no namespace applies.
		 */
		public function determine_namespace( $stackPtr ) {      }
		/**
		 * Get the complete namespace name for a namespace declaration.
		 *
		 * For hierarchical namespaces, the name will be composed of several tokens,
		 * i.e. MyProject\Sub\Level which will be returned together as one string.
		 *
		 * @since 0.12.0 A lesser variant of this method previously existed in the
		 *               `AbstractClassRestrictionsSniff` class.
		 *
		 * @param int|bool $stackPtr The position of a T_NAMESPACE token.
		 *
		 * @return string|false Namespace name or false if not a namespace declaration.
		 *                      Namespace name can be an empty string for global namespace declaration.
		 */
		public function get_declared_namespace_name( $stackPtr ) {      }
		/**
		 * Check whether a T_CONST token is a class constant declaration.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position in the stack of the T_CONST token to verify.
		 *
		 * @return bool
		 */
		public function is_class_constant( $stackPtr ) {        }
		/**
		 * Check whether a T_VARIABLE token is a class property declaration.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position in the stack of the T_VARIABLE token to verify.
		 *
		 * @return bool
		 */
		public function is_class_property( $stackPtr ) {        }
		/**
		 * Check whether the direct wrapping scope of a token is within a limited set of
		 * acceptable tokens.
		 *
		 * Used to check, for instance, if a T_CONST is a class constant.
		 *
		 * @since 0.14.0
		 *
		 * @param int   $stackPtr     The position in the stack of the token to verify.
		 * @param array $valid_scopes Array of token types.
		 *                            Keys should be the token types in string format
		 *                            to allow for newer token types.
		 *                            Value is irrelevant.
		 *
		 * @return int|bool StackPtr to the scope if valid, false otherwise.
		 */
		protected function valid_direct_scope( $stackPtr, array $valid_scopes ) {       }
		/**
		 * Checks whether this is a call to a $wpdb method that we want to sniff.
		 *
		 * If available in the child class, the $methodPtr, $i and $end properties are
		 * automatically set to correspond to the start and end of the method call.
		 * The $i property is also set if this is not a method call but rather the
		 * use of a $wpdb property.
		 *
		 * @since 0.8.0
		 * @since 0.9.0  The return value is now always boolean. The $end and $i member
		 *               vars are automatically updated.
		 * @since 0.14.0 Moved this method from the `PreparedSQL` sniff to the base WP sniff.
		 *
		 * {@internal This method should probably be refactored.}}
		 *
		 * @param int   $stackPtr       The index of the $wpdb variable.
		 * @param array $target_methods Array of methods. Key(s) should be method name.
		 *
		 * @return bool Whether this is a $wpdb method call.
		 */
		protected function is_wpdb_method_call( $stackPtr, $target_methods ) {      }
		/**
		 * Determine whether an arbitrary T_STRING token is the use of a global constant.
		 *
		 * @since 1.0.0
		 *
		 * @param int $stackPtr The position of the function call token.
		 *
		 * @return bool
		 */
		public function is_use_of_global_constant( $stackPtr ) {        }
		/**
		 * Determine if a variable is in the `as $key => $value` part of a foreach condition.
		 *
		 * @since 1.0.0
		 * @since 1.1.0 Moved from the PrefixAllGlobals sniff to the Sniff base class.
		 *
		 * @param int $stackPtr Pointer to the variable.
		 *
		 * @return bool True if it is. False otherwise.
		 */
		protected function is_foreach_as( $stackPtr ) {         }
		/**
		 * Determine whether a T_OPEN/CLOSE_SHORT_ARRAY token is a short list() construct.
		 *
		 * @internal This function will be introduced in PHPCS upstream in version 3.5.0
		 * and can be removed from WPCS once WPCS raises the minimum version.
		 *
		 * @since 2.2.0
		 *
		 * @param int $stackPtr The position of the array bracket token.
		 *
		 * @return bool True if the token passed is the open/close bracket of a short list.
		 *              False if the token is a short array bracket or not
		 *              a T_OPEN/CLOSE_SHORT_ARRAY token.
		 */
		protected function is_short_list( $stackPtr ) {         }
		/**
		 * Get a list of the token pointers to the variables being assigned to in a list statement.
		 *
		 * @internal No need to take special measures for nested lists. Nested or not,
		 * each list part can only contain one variable being written to.
		 *
		 * @since 2.2.0
		 *
		 * @param int   $stackPtr        The position of the T_LIST or T_OPEN_SHORT_ARRAY
		 *                               token in the stack.
		 * @param array $list_open_close Optional. Array containing the token pointers to
		 *                               the list opener and closer.
		 *
		 * @return array Array with the stack pointers to the variables or an empty
		 *               array when not a (short) list.
		 */
		protected function get_list_variables( $stackPtr, $list_open_close = array() ) {        }
		/**
		 * Check whether a function has been marked as deprecated via a @deprecated tag
		 * in the function docblock.
		 *
		 * {@internal This method is static to allow the ValidFunctionName class to use it.}}
		 *
		 * @since 2.2.0
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of a T_FUNCTION
		 *                                               token in the stack.
		 *
		 * @return bool
		 */
		public static function is_function_deprecated( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }
	}
	/**
	 * Restricts usage of some functions.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.10.0 Class became a proper abstract class. This was already the behaviour.
	 *                 Moved the file and renamed the class from
	 *                 `\WordPressCS\WordPress\Sniffs\Functions\FunctionRestrictionsSniff` to
	 *                 `\WordPressCS\WordPress\AbstractFunctionRestrictionsSniff`.
	 * @since   0.11.0 Extends the WordPressCS native `Sniff` class.
	 */
	abstract class AbstractFunctionRestrictionsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Exclude groups.
		 *
		 * Example: 'switch_to_blog,user_meta'
		 *
		 * @since 0.3.0
		 * @since 1.0.0 This property now expects to be passed an array.
		 *              Previously a comma-delimited string was expected.
		 *
		 * @var array
		 */
		public $exclude = array();
		/**
		 * Groups of function data to check against.
		 * Don't use this in extended classes, override getGroups() instead.
		 * This is only used for Unit tests.
		 *
		 * @since 0.10.0
		 *
		 * @var array
		 */
		public static $unittest_groups = array();
		/**
		 * Regex pattern with placeholder for the function names.
		 *
		 * @since 0.10.0
		 *
		 * @var string
		 */
		protected $regex_pattern = '`^(?:%s)$`i';
		/**
		 * Cache for the group information.
		 *
		 * @since 0.10.0
		 *
		 * @var array
		 */
		protected $groups = array();
		/**
		 * Cache for the excluded groups information.
		 *
		 * @since 0.11.0
		 *
		 * @var array
		 */
		protected $excluded_groups = array();
		/**
		 * Groups of functions to restrict.
		 *
		 * This method should be overridden in extending classes.
		 *
		 * Example: groups => array(
		 *     'lambda' => array(
		 *         'type'      => 'error' | 'warning',
		 *         'message'   => 'Use anonymous functions instead please!',
		 *         'functions' => array( 'file_get_contents', 'create_function', 'mysql_*' ),
		 *         // Only useful when using wildcards:
		 *         'whitelist' => array( 'mysql_to_rfc3339' => true, ),
		 *     )
		 * )
		 *
		 * You can use * wildcards to target a group of functions.
		 * When you use * wildcards, you may inadvertently restrict too many
		 * functions. In that case you can add the `whitelist` key to
		 * whitelist individual functions to prevent false positives.
		 *
		 * @return array
		 */
		abstract public function getGroups();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Set up the regular expressions for each group.
		 *
		 * @since 0.10.0
		 *
		 * @param string $key The group array index key where the input for the regular expression can be found.
		 * @return bool True if the groups were setup. False if not.
		 */
		protected function setup_groups( $key ) {       }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Verify is the current token is a function call.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return bool
		 */
		public function is_targetted_token( $stackPtr ) {       }
		/**
		 * Verify if the current token is one of the targetted functions.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function check_for_matches( $stackPtr ) {        }
		/**
		 * Process a matched token.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_matched_token( $stackPtr, $group_name, $matched_content ) {         }
		/**
		 * Prepare the function name for use in a regular expression.
		 *
		 * The getGroups() method allows for providing function names with a wildcard * to target
		 * a group of functions. This prepare routine takes that into account while still safely
		 * escaping the function name for use in a regular expression.
		 *
		 * @since 0.10.0
		 *
		 * @param string $function Function name.
		 * @return string Regex escaped function name.
		 */
		protected function prepare_name_for_regex( $function ) {        }
	}
	/**
	 * Restricts usage of some classes.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0
	 */
	abstract class AbstractClassRestrictionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Regex pattern with placeholder for the class names.
		 *
		 * @var string
		 */
		protected $regex_pattern = '`^\\\\(?:%s)$`i';
		/**
		 * Temporary storage for retrieved class name.
		 *
		 * @var string
		 */
		protected $classname;
		/**
		 * Groups of classes to restrict.
		 *
		 * This method should be overridden in extending classes.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'    => 'error' | 'warning',
		 *      'message' => 'Avoid direct calls to the database.',
		 *      'classes' => array( 'PDO', '\Namespace\Classname' ),
		 *  )
		 * )
		 *
		 * You can use * wildcards to target a group of (namespaced) classes.
		 * Aliased namespaces (use ..) are currently not supported.
		 *
		 * Documented here for clarity. Not (re)defined as it is already defined in the parent class.
		 *
		 * @return array
		 *
			abstract public function getGroups();
		 */
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * {@internal Unlike in the `AbstractFunctionRestrictionsSniff`,
		 *            we can't do a preliminary check on classes as at this point
		 *            we don't know the class name yet.}}
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Determine if we have a valid classname for the target token.
		 *
		 * @since 0.11.0 This logic was originally contained in the `process()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return bool
		 */
		public function is_targetted_token( $stackPtr ) {       }
		/**
		 * Verify if the current token is one of the targetted classes.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function check_for_matches( $stackPtr ) {        }
		/**
		 * Prepare the class name for use in a regular expression.
		 *
		 * The getGroups() method allows for providing class names with a wildcard * to target
		 * a group of classes within a namespace. It also allows for providing class names as
		 * 'ordinary' names or prefixed with one or more namespaces.
		 * This prepare routine takes that into account while still safely escaping the
		 * class name for use in a regular expression.
		 *
		 * @param string $classname Class name, potentially prefixed with namespaces.
		 * @return string Regex escaped class name.
		 */
		protected function prepare_name_for_regex( $classname ) {       }
		/**
		 * See if the classname was found in a namespaced file and if so, add the namespace to the classname.
		 *
		 * @param string $classname   The full classname as found.
		 * @param int    $search_from The token position to search up from.
		 * @return string Classname, potentially prefixed with the namespace.
		 */
		protected function get_namespaced_classname( $classname, $search_from ) {       }
	}
	/**
	 * PHPCSHelper
	 *
	 * PHPCS cross-version compatibility helper class.
	 *
	 * Deals with files which cannot be aliased 1-on-1 as the original
	 * class was split up into several classes.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.13.0
	 */
	class PHPCSHelper {

		/**
		 * Get the PHPCS version number.
		 *
		 * @since 0.13.0
		 *
		 * @return string
		 */
		public static function get_version() {      }
		/**
		 * Pass config data to PHPCS.
		 *
		 * PHPCS cross-version compatibility helper.
		 *
		 * @since 0.13.0
		 *
		 * @param string      $key   The name of the config value.
		 * @param string|null $value The value to set. If null, the config entry
		 *                           is deleted, reverting it to the default value.
		 * @param boolean     $temp  Set this config data temporarily for this script run.
		 *                           This will not write the config data to the config file.
		 */
		public static function set_config_data( $key, $value, $temp = false ) {         }
		/**
		 * Get the value of a single PHPCS config key.
		 *
		 * @since 0.13.0
		 *
		 * @param string $key The name of the config value.
		 *
		 * @return string|null
		 */
		public static function get_config_data( $key ) {        }
		/**
		 * Get the tab width as passed to PHPCS from the command-line or the ruleset.
		 *
		 * @since 0.13.0
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 *
		 * @return int Tab width. Defaults to 4.
		 */
		public static function get_tab_width( \PHP_CodeSniffer\Files\File $phpcsFile ) {        }
		/**
		 * Check whether the `--ignore-annotations` option has been used.
		 *
		 * @since 0.13.0
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile Optional. The current file being processed.
		 *
		 * @return bool True if annotations should be ignored, false otherwise.
		 */
		public static function ignore_annotations( \PHP_CodeSniffer\Files\File $phpcsFile = null ) {        }
	}
	/**
	 * Advises about parameters used in function calls.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 */
	abstract class AbstractFunctionParameterSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * Intended to be overruled in the child class.
		 *
		 * @var string
		 */
		protected $group_name = 'restricted_parameters';
		/**
		 * Functions this sniff is looking for. Should be defined in the child class.
		 *
		 * @var array The only requirement for this array is that the top level
		 *            array keys are the names of the functions you're looking for.
		 *            Other than that, the array can have arbitrary content
		 *            depending on your needs.
		 */
		protected $target_functions = array();
		/**
		 * Groups of functions to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Process a matched token.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_matched_token( $stackPtr, $group_name, $matched_content ) {         }
		/**
		 * Process the parameters of a matched function.
		 *
		 * This method has to be made concrete in child classes.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		abstract public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters);
		/**
		 * Process the function if no parameters were found.
		 *
		 * Defaults to doing nothing. Can be overloaded in child classes to handle functions
		 * were parameters are expected, but none found.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_no_parameters( $stackPtr, $group_name, $matched_content ) {         }
	}
	/**
	 * Restricts array assignment of certain keys.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.10.0 Class became a proper abstract class. This was already the behaviour.
	 *                 Moved the file and renamed the class from
	 *                 `\WordPressCS\WordPress\Sniffs\Arrays\ArrayAssignmentRestrictionsSniff` to
	 *                 `\WordPressCS\WordPress\AbstractArrayAssignmentRestrictionsSniff`.
	 */
	abstract class AbstractArrayAssignmentRestrictionsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Exclude groups.
		 *
		 * Example: 'foo,bar'
		 *
		 * @since 0.3.0
		 * @since 1.0.0 This property now expects to be passed an array.
		 *              Previously a comma-delimited string was expected.
		 *
		 * @var array
		 */
		public $exclude = array();
		/**
		 * Groups of variable data to check against.
		 * Don't use this in extended classes, override getGroups() instead.
		 * This is only used for Unit tests.
		 *
		 * @var array
		 */
		public static $groups = array();
		/**
		 * Cache for the excluded groups information.
		 *
		 * @since 0.11.0
		 *
		 * @var array
		 */
		protected $excluded_groups = array();
		/**
		 * Cache for the group information.
		 *
		 * @since 0.13.0
		 *
		 * @var array
		 */
		protected $groups_cache = array();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Groups of variables to restrict.
		 *
		 * This method should be overridden in extending classes.
		 *
		 * Example: groups => array(
		 *  'groupname' => array(
		 *      'type'     => 'error' | 'warning',
		 *      'message'  => 'Dont use this one please!',
		 *      'keys'     => array( 'key1', 'another_key' ),
		 *      'callback' => array( 'class', 'method' ), // Optional.
		 *  )
		 * )
		 *
		 * @return array
		 */
		abstract public function getGroups();
		/**
		 * Cache the groups.
		 *
		 * @since 0.13.0
		 *
		 * @return bool True if the groups were setup. False if not.
		 */
		protected function setup_groups() {         }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Callback to process each confirmed key, to check value.
		 *
		 * This method must be extended to add the logic to check assignment value.
		 *
		 * @param  string $key   Array index / key.
		 * @param  mixed  $val   Assigned value.
		 * @param  int    $line  Token line.
		 * @param  array  $group Group definition.
		 * @return mixed         FALSE if no match, TRUE if matches, STRING if matches
		 *                       with custom error message passed to ->process().
		 */
		abstract public function callback( $key, $val, $line, $group);
	}
}

namespace WordPressCS\WordPress\Sniffs\Security {
	/**
	 * Warn about __FILE__ for page registration.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#using-__file__-for-page-registration
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.11.0 Refactored to extend the new WordPressCS native
	 *                 `AbstractFunctionParameterSniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `Security` category.
	 */
	class PluginMenuSlugSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 0.11.0
		 *
		 * @var string
		 */
		protected $group_name = 'add_menu_functions';
		/**
		 * Functions which can be used to add pages to the WP Admin menu.
		 *
		 * @since 0.3.0
		 * @since 0.11.0 Renamed from $add_menu_functions to $target_functions
		 *               and changed visibility to protected.
		 *
		 * @var array <string function name> => <array target parameter positions>
		 */
		protected $target_functions = array(
			'add_menu_page'       => array( 4 ),
			'add_object_page'     => array( 4 ),
			'add_utility_page'    => array( 4 ),
			'add_submenu_page'    => array( 1, 5 ),
			'add_dashboard_page'  => array( 4 ),
			'add_posts_page'      => array( 4 ),
			'add_media_page'      => array( 4 ),
			'add_links_page'      => array( 4 ),
			'add_pages_page'      => array( 4 ),
			'add_comments_page'   => array( 4 ),
			'add_theme_page'      => array( 4 ),
			'add_plugins_page'    => array( 4 ),
			'add_users_page'      => array( 4 ),
			'add_management_page' => array( 4 ),
			'add_options_page'    => array( 4 ),
		);
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 0.11.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Flag any non-validated/sanitized input ( _GET / _POST / etc. ).
	 *
	 * @link    https://github.com/WordPress/WordPress-Coding-Standards/issues/69
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.4.0  This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.5.0  Method getArrayIndexKey() has been moved to the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `Security` category.
	 */
	class ValidatedSanitizedInputSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Check for validation functions for a variable within its own parenthesis only.
		 *
		 * @var boolean
		 */
		public $check_validation_in_scope_only = false;
		/**
		 * Custom list of functions that sanitize the values passed to them.
		 *
		 * @since 0.5.0
		 *
		 * @var string|string[]
		 */
		public $customSanitizingFunctions = array();
		/**
		 * Custom sanitizing functions that implicitly unslash the values passed to them.
		 *
		 * @since 0.5.0
		 *
		 * @var string|string[]
		 */
		public $customUnslashingSanitizingFunctions = array();
		/**
		 * Cache of previously added custom functions.
		 *
		 * Prevents having to do the same merges over and over again.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 - Changed from static to non-static.
		 *               - Changed the format from simple bool to array.
		 *
		 * @var array
		 */
		protected $addedCustomFunctions = array(
			'sanitize'        => array(),
			'unslashsanitize' => array(),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Merge custom functions provided via a custom ruleset with the defaults, if we haven't already.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @return void
		 */
		protected function mergeFunctionLists() {       }
	}
	/**
	 * Encourages use of wp_safe_redirect() to avoid open redirect vulnerabilities.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.0.0
	 */
	class SafeRedirectSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Checks that nonce verification accompanies form processing.
	 *
	 * @link    https://developer.wordpress.org/plugins/security/nonces/ Nonces on Plugin Developer Handbook
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.5.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `CSRF` category to the `Security` category.
	 */
	class NonceVerificationSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Superglobals to notify about when not accompanied by an nonce check.
		 *
		 * A value of `true` results in an error. A value of `false` in a warning.
		 *
		 * @since 0.12.0
		 *
		 * @var array
		 */
		protected $superglobals = array(
			'$_POST'    => true,
			'$_FILE'    => true,
			'$_GET'     => false,
			'$_REQUEST' => false,
		);
		/**
		 * Custom list of functions which verify nonces.
		 *
		 * @since 0.5.0
		 *
		 * @var string|string[]
		 */
		public $customNonceVerificationFunctions = array();
		/**
		 * Custom list of functions that sanitize the values passed to them.
		 *
		 * @since 0.11.0
		 *
		 * @var string|string[]
		 */
		public $customSanitizingFunctions = array();
		/**
		 * Custom sanitizing functions that implicitly unslash the values passed to them.
		 *
		 * @since 0.11.0
		 *
		 * @var string|string[]
		 */
		public $customUnslashingSanitizingFunctions = array();
		/**
		 * Cache of previously added custom functions.
		 *
		 * Prevents having to do the same merges over and over again.
		 *
		 * @since 0.5.0
		 * @since 0.11.0 - Changed from public static to protected non-static.
		 *               - Changed the format from simple bool to array.
		 *
		 * @var array
		 */
		protected $addedCustomFunctions = array(
			'nonce'           => array(),
			'sanitize'        => array(),
			'unslashsanitize' => array(),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Merge custom functions provided via a custom ruleset with the defaults, if we haven't already.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @return void
		 */
		protected function mergeFunctionLists() {       }
	}
	/**
	 * Verifies that all outputted strings are escaped.
	 *
	 * @link    http://codex.wordpress.org/Data_Validation Data Validation on WordPress Codex
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   2013-06-11
	 * @since   0.4.0  This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.5.0  The various function list properties which used to be contained in this class
	 *                 have been moved to the WordPressCS native `Sniff` parent class.
	 * @since   0.12.0 This sniff will now also check for output escaping when using shorthand
	 *                 echo tags `<?=`.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `XSS` category to the `Security` category.
	 */
	class EscapeOutputSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Custom list of functions which escape values for output.
		 *
		 * @since 0.5.0
		 *
		 * @var string|string[]
		 */
		public $customEscapingFunctions = array();
		/**
		 * Custom list of functions whose return values are pre-escaped for output.
		 *
		 * @since 0.3.0
		 *
		 * @var string|string[]
		 */
		public $customAutoEscapedFunctions = array();
		/**
		 * Custom list of functions which print output incorporating the passed values.
		 *
		 * @since 0.4.0
		 *
		 * @var string|string[]
		 */
		public $customPrintingFunctions = array();
		/**
		 * Printing functions that incorporate unsafe values.
		 *
		 * @since 0.4.0
		 * @since 0.11.0 Changed from public static to protected non-static.
		 *
		 * @var array
		 */
		protected $unsafePrintingFunctions = array(
			'_e'  => 'esc_html_e() or esc_attr_e()',
			'_ex' => 'echo esc_html_x() or echo esc_attr_x()',
		);
		/**
		 * Cache of previously added custom functions.
		 *
		 * Prevents having to do the same merges over and over again.
		 *
		 * @since 0.4.0
		 * @since 0.11.0 - Changed from public static to protected non-static.
		 *               - Changed the format from simple bool to array.
		 *
		 * @var array
		 */
		protected $addedCustomFunctions = array(
			'escape'     => array(),
			'autoescape' => array(),
			'sanitize'   => array(),
			'print'      => array(),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Merge custom functions provided via a custom ruleset with the defaults, if we haven't already.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @return void
		 */
		protected function mergeFunctionLists() {       }
	}
}

namespace WordPressCS\WordPress\Sniffs\Classes {
	/**
	 * Verifies object instantiation statements.
	 *
	 * - Demand the use of parenthesis.
	 * - Demand no space between the class name and the parenthesis.
	 * - Forbid assigning new by reference.
	 *
	 * {@internal Note: This sniff currently does not examine the parenthesis of new object
	 * instantiations where the class name is held in a variable variable.}}
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class ClassInstantiationSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Tokens which can be part of a "classname".
		 *
		 * Set from within the register() method.
		 *
		 * @var array
		 */
		protected $classname_tokens = array();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace WordPressCS\WordPress\Sniffs\DateTime {
	/**
	 * Don't use current_time() to get a (timezone corrected) "timestamp".
	 *
	 * Disallow using the current_time() function to get "timestamps" as it
	 * doesn't produce a *real* timestamp, but a "WordPress timestamp", i.e.
	 * a Unix timestamp with current timezone offset, not a Unix timestamp ansich.
	 *
	 * @link https://developer.wordpress.org/reference/functions/current_time/
	 * @link https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/
	 * @link https://core.trac.wordpress.org/ticket/40657
	 * @link https://github.com/WordPress/WordPress-Coding-Standards/issues/1791
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   2.2.0
	 */
	class CurrentTimeTimestampSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 2.2.0
		 *
		 * @var string
		 */
		protected $group_name = 'current_time';
		/**
		 * List of functions to examine.
		 *
		 * @since 2.2.0
		 *
		 * @var array <string function_name> => <bool always needed ?>
		 */
		protected $target_functions = array( 'current_time' => true );
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 2.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Forbids the use of various native DateTime related PHP/WP functions and suggests alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since 2.2.0
	 */
	class RestrictedFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
}

namespace WordPressCS\WordPress\Sniffs\CodeAnalysis {
	/**
	 * Detects variable assignments being made within conditions.
	 *
	 * This is a typical code smell and more often than not a comparison was intended.
	 *
	 * Note: this sniff does not detect variable assignments in ternaries without parentheses!
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 *
	 * {@internal This sniff is a duplicate of the same sniff as pulled upstream.
	 * Once the upstream sniff has been merged and the minimum WPCS PHPCS requirement has gone up to
	 * the version in which the sniff was merged, this version can be safely removed.
	 * {@link https://github.com/squizlabs/PHP_CodeSniffer/pull/1594} }}
	 */
	class AssignmentInConditionSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Assignment tokens to trigger on.
		 *
		 * Set in the register() method.
		 *
		 * @since 0.14.0
		 *
		 * @var array
		 */
		protected $assignment_tokens = array();
		/**
		 * The tokens that indicate the start of a condition.
		 *
		 * @since 0.14.0
		 *
		 * @var array
		 */
		protected $condition_start_tokens = array();
		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @since 0.14.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Flag calls to escaping functions which look like they may have been intended
	 * as calls to the "translate + escape" sister-function due to the presence of
	 * more than one parameter.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   2.2.0
	 */
	class EscapedNotTranslatedSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 2.2.0
		 *
		 * @var string
		 */
		protected $group_name = 'escapednottranslated';
		/**
		 * List of functions to examine.
		 *
		 * @link https://developer.wordpress.org/reference/functions/esc_html/
		 * @link https://developer.wordpress.org/reference/functions/esc_html__/
		 * @link https://developer.wordpress.org/reference/functions/esc_attr/
		 * @link https://developer.wordpress.org/reference/functions/esc_attr__/
		 *
		 * @since 2.2.0
		 *
		 * @var array <string function_name> => <string alternative function>
		 */
		protected $target_functions = array(
			'esc_html' => 'esc_html__',
			'esc_attr' => 'esc_attr__',
		);
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 2.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Checks against empty statements.
	 *
	 * - Check against two semi-colons with no executable code in between.
	 * - Check against an empty PHP open - close tag combination.
	 *
	 * {@internal This check should at some point in the future be pulled upstream and probably
	 *            merged into the upstream `Generic.CodeAnalysis.EmptyStatement` sniff.
	 *            This will need to wait until the WPCS minimum requirements have gone up
	 *            beyond PHPCS 3.x though as it is not likely that new features will be accepted
	 *            still for the PHPCS 2.x branch.}}
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class EmptyStatementSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace WordPressCS\WordPress\Sniffs\Utils {
	/**
	 * Comprehensive I18n text domain fixer tool.
	 *
	 * This sniff can:
	 * - Add missing text domains.
	 * - Replace text domains based on an array of `old` values to a `new` value.
	 *
	 * Note: Without a user-defined configuration in a custom ruleset, this sniff will be ignored.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.2.0
	 */
	class I18nTextDomainFixerSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @since 1.2.0
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'CSS' );
		/**
		 * Old text domain(s) to replace.
		 *
		 * @since 1.2.0
		 *
		 * @var string[]|string
		 */
		public $old_text_domain;
		/**
		 * New text domain.
		 *
		 * @since 1.2.0
		 *
		 * @var string
		 */
		public $new_text_domain = '';
		/**
		 * The group name for this group of functions.
		 *
		 * @since 1.2.0
		 *
		 * @var string
		 */
		protected $group_name = 'i18nfixer';
		/**
		 * The WP Internationalization related functions to target for the replacements.
		 *
		 * @since 1.2.0
		 *
		 * @var array <string function name> => <int parameter position>
		 */
		protected $target_functions = array(
			'load_textdomain'                        => 1,
			'load_plugin_textdomain'                 => 1,
			'load_muplugin_textdomain'               => 1,
			'load_theme_textdomain'                  => 1,
			'load_child_theme_textdomain'            => 1,
			'unload_textdomain'                      => 1,
			'__'                                     => 2,
			'_e'                                     => 2,
			'_x'                                     => 3,
			'_ex'                                    => 3,
			'_n'                                     => 4,
			'_nx'                                    => 5,
			'_n_noop'                                => 3,
			'_nx_noop'                               => 4,
			'translate_nooped_plural'                => 3,
			'_c'                                     => 2,
			// Deprecated.
			'_nc'                                    => 4,
			// Deprecated.
			'__ngettext'                             => 4,
			// Deprecated.
			'__ngettext_noop'                        => 3,
			// Deprecated.
			'translate_with_context'                 => 2,
			// Deprecated.
			'esc_html__'                             => 2,
			'esc_html_e'                             => 2,
			'esc_html_x'                             => 3,
			'esc_attr__'                             => 2,
			'esc_attr_e'                             => 2,
			'esc_attr_x'                             => 3,
			'is_textdomain_loaded'                   => 1,
			'get_translations_for_domain'            => 1,
			// Shouldn't be used by plugins/themes.
			'translate'                              => 2,
			'translate_with_gettext_context'         => 3,
			// WP private functions. Shouldn't be used by plugins/themes.
			'_load_textdomain_just_in_time'          => 1,
			'_get_path_to_translation_from_lang_dir' => 1,
			'_get_path_to_translation'               => 1,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 1.2.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 1.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 1.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
		/**
		 * Process the function if no parameters were found.
		 *
		 * @since 1.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return void
		 */
		public function process_no_parameters( $stackPtr, $group_name, $matched_content ) {         }
		/**
		 * Process comments to find the plugin/theme headers.
		 *
		 * @since 1.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_comments( $stackPtr ) {         }
		/**
		 * Examine an individual token in a larger comment for plugin/theme headers.
		 *
		 * @since 1.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $regex           The regex to use to examine the comment line.
		 * @param array  $headers         Valid headers for a plugin or theme.
		 * @param array  $comment_details The information collected so far.
		 *
		 * @return array Adjusted $comment_details array
		 */
		protected function examine_comment_line( $stackPtr, $regex, $headers, $comment_details ) {      }
	}
}

namespace WordPressCS\WordPress\Sniffs\PHP {
	/**
	 * Verifies the correct usage of type cast keywords.
	 *
	 * Type casts should be:
	 * - normalized, i.e. (float) not (real).
	 *
	 * Additionally, the use of the (unset) and (binary) casts is discouraged.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/....
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.2.0
	 * @since   2.0.0 No longer checks that type casts are lowercase or short form.
	 *                Relevant PHPCS native sniffs have been included in the rulesets instead.
	 */
	class TypeCastsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Restrict the use of various development functions.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class DevelopmentFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Restricts the usage of extract().
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#dont-extract
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0 Previously this check was contained within the
	 *                 `WordPress.VIP.RestrictedFunctions` sniff.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `Functions` category to the `PHP` category.
	 */
	class DontExtractSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Forbids the use of various native PHP functions and suggests alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 */
	class RestrictedPHPFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to forbid.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Perl compatible regular expressions (PCRE, preg_ functions) should be used in preference
	 * to their POSIX counterparts.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#regular-expressions
	 * @link    http://php.net/manual/en/ref.regex.php
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0 Previously this check was contained within the
	 *                 `WordPress.VIP.RestrictedFunctions` and the
	 *                 `WordPress.PHP.DiscouragedPHPFunctions` sniffs.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class POSIXFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Detect use of the `ini_set()` function.
	 *
	 * - Won't throw notices for "safe" ini directives as listed in the whitelist.
	 * - Throws errors for ini directives listed in the blacklist.
	 * - A warning will be thrown in all other cases.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since 2.1.0
	 */
	class IniSetSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * Array of functions that must be checked.
		 *
		 * @since 2.1.0
		 *
		 * @var array Multidimensional array with parameter details.
		 *     $target_functions = array(
		 *         (string) Function name.
		 *     );
		 */
		protected $target_functions = array(
			'ini_set'   => true,
			'ini_alter' => true,
		);
		/**
		 * Array of PHP configuration options that are allowed to be manipulated.
		 *
		 * @since 2.1.0
		 *
		 * @var array Multidimensional array with parameter details.
		 *     $whitelisted_options = array(
		 *         (string) option name. = array(
		 *             (string[]) 'valid_values' = array()
		 *         )
		 *     );
		 */
		protected $whitelisted_options = array(
			'auto_detect_line_endings' => array(),
			'highlight.bg'             => array(),
			'highlight.comment'        => array(),
			'highlight.default'        => array(),
			'highlight.html'           => array(),
			'highlight.keyword'        => array(),
			'highlight.string'         => array(),
			'short_open_tag'           => array( 'valid_values' => array( 'true', '1', 'on' ) ),
		);
		/**
		 * Array of PHP configuration options that are not allowed to be manipulated.
		 *
		 * @since 2.1.0
		 *
		 * @var array Multidimensional array with parameter details.
		 *     $blacklisted_options = array(
		 *         (string) option name. = array(
		 *             (string[]) 'invalid_values' = array()
		 *             (string) 'message'
		 *         )
		 *     );
		 */
		protected $blacklisted_options = array(
			'bcmath.scale'            => array( 'message' => 'Use `bcscale()` instead.' ),
			'display_errors'          => array( 'message' => 'Use `WP_DEBUG_DISPLAY` instead.' ),
			'error_reporting'         => array( 'message' => 'Use `WP_DEBUG` instead.' ),
			'filter.default'          => array( 'message' => 'Changing the option value can break other plugins. Use the filter flag constants when calling the Filter functions instead.' ),
			'filter.default_flags'    => array( 'message' => 'Changing the option value can break other plugins. Use the filter flag constants when calling the Filter functions instead.' ),
			'iconv.input_encoding'    => array( 'message' => 'PHP < 5.6 only - use `iconv_set_encoding()` instead.' ),
			'iconv.internal_encoding' => array( 'message' => 'PHP < 5.6 only - use `iconv_set_encoding()` instead.' ),
			'iconv.output_encoding'   => array( 'message' => 'PHP < 5.6 only - use `iconv_set_encoding()` instead.' ),
			'ignore_user_abort'       => array( 'message' => 'Use `ignore_user_abort()` instead.' ),
			'log_errors'              => array( 'message' => 'Use `WP_DEBUG_LOG` instead.' ),
			'max_execution_time'      => array( 'message' => 'Use `set_time_limit()` instead.' ),
			'memory_limit'            => array( 'message' => 'Use `wp_raise_memory_limit()` or hook into the filters in that function.' ),
			'short_open_tag'          => array(
				'invalid_values' => array( 'false', '0', 'off' ),
				'message'        => 'Turning off short_open_tag is prohibited as it can break other plugins.',
			),
		);
		/**
		 * Process the parameter of a matched function.
		 *
		 * Errors if an option is found in the blacklist. Warns as
		 * 'risky' when the option is not found in the whitelist.
		 *
		 * @since 2.1.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Discourages the use of various native PHP functions and suggests alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 `create_function` was moved to the PHP.RestrictedFunctions sniff.
	 */
	class DiscouragedPHPFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to discourage.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Enforces Yoda conditional statements.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#yoda-conditions
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.12.0 This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class YodaConditionsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * The tokens that indicate the start of a condition.
		 *
		 * @since 0.12.0
		 *
		 * @var array
		 */
		protected $condition_start_tokens;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Enforces Strict Comparison checks, based upon Squiz code.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.4.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 *
	 * Last synced with base class ?[unknown date]? at commit ?[unknown commit]?.
	 * It is currently unclear whether this sniff is actually based on Squiz code on whether the above
	 * reference to it is a copy/paste oversight.
	 * @link    Possibly: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php
	 */
	class StrictComparisonsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Flag calling in_array(), array_search() and array_keys() without true as the third parameter.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#using-in_array-without-strict-parameter
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.9.0
	 * @since   0.10.0 - This sniff not only checks for `in_array()`, but also `array_search()`
	 *                   and `array_keys()`.
	 *                 - The sniff no longer needlessly extends the `ArrayAssignmentRestrictionsSniff`
	 *                   class which it didn't use.
	 * @since   0.11.0 Refactored to extend the new WordPressCS native `AbstractFunctionParameterSniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class StrictInArraySniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 0.11.0
		 *
		 * @var string
		 */
		protected $group_name = 'strict';
		/**
		 * List of array functions to which a $strict parameter can be passed.
		 *
		 * The $strict parameter is the third and last parameter for each of these functions.
		 *
		 * The array_keys() function only requires the $strict parameter when the optional
		 * second parameter $search has been set.
		 *
		 * @link http://php.net/in-array
		 * @link http://php.net/array-search
		 * @link http://php.net/array-keys
		 *
		 * @since 0.10.0
		 * @since 0.11.0 Renamed from $array_functions to $target_functions.
		 *
		 * @var array <string function_name> => <bool always needed ?>
		 */
		protected $target_functions = array(
			'in_array'     => true,
			'array_search' => true,
			'array_keys'   => false,
		);
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 0.11.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Disallow the use of short ternaries.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#ternary-operator
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   2.2.0
	 */
	class DisallowShortTernarySniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 2.2.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 2.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Flag calling preg_quote() without the second ($delimiter) parameter.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.0.0
	 */
	class PregQuoteDelimiterSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 1.0.0
		 *
		 * @var string
		 */
		protected $group_name = 'preg_quote';
		/**
		 * List of functions this sniff should examine.
		 *
		 * @link http://php.net/preg_quote
		 *
		 * @since 1.0.0
		 *
		 * @var array <string function_name> => <bool>
		 */
		protected $target_functions = array( 'preg_quote' => true );
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 1.0.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Discourage the use of the PHP error silencing operator.
	 *
	 * This sniff allows the error operator to be used with a select list
	 * of whitelisted functions, as no amount of error checking can prevent
	 * PHP from throwing errors when those functions are used.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.1.0
	 */
	class NoSilencedErrorsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Number of tokens to display in the error message to show
		 * the error silencing context.
		 *
		 * @since 1.1.0
		 *
		 * @var int
		 */
		public $context_length = 6;
		/**
		 * Whether or not the `$function_whitelist` should be used.
		 *
		 * Defaults to true.
		 *
		 * This property only affects whether the standard function whitelist is
		 * used. The custom whitelist, if set, will always be respected.
		 *
		 * @since 1.1.0
		 *
		 * @var bool
		 */
		public $use_default_whitelist = true;
		/**
		 * User defined whitelist.
		 *
		 * Allows users to pass a list of additional functions to whitelist
		 * from their custom ruleset.
		 *
		 * @since 1.1.0
		 *
		 * @var array
		 */
		public $custom_whitelist = array();
		/**
		 * PHP native function whitelist.
		 *
		 * Errors caused by calls to any of these native PHP functions
		 * are allowed to be silenced as file system permissions and such
		 * can cause E_WARNINGs to be thrown which cannot be prevented via
		 * error checking.
		 *
		 * Note: only calls to global functions - in contrast to class methods -
		 * are taken into account.
		 *
		 * Only functions for which the PHP manual annotates that an
		 * error will be thrown on failure are accepted into this list.
		 *
		 * @since 1.1.0
		 *
		 * @var array <string function name> => <bool true>
		 */
		protected $function_whitelist = array(
			// Directory extension.
			'chdir'                 => true,
			'opendir'               => true,
			'scandir'               => true,
			// File extension.
			'file_exists'           => true,
			'file_get_contents'     => true,
			'file'                  => true,
			'fileatime'             => true,
			'filectime'             => true,
			'filegroup'             => true,
			'fileinode'             => true,
			'filemtime'             => true,
			'fileowner'             => true,
			'fileperms'             => true,
			'filesize'              => true,
			'filetype'              => true,
			'fopen'                 => true,
			'is_dir'                => true,
			'is_executable'         => true,
			'is_file'               => true,
			'is_link'               => true,
			'is_readable'           => true,
			'is_writable'           => true,
			'is_writeable'          => true,
			'lstat'                 => true,
			'mkdir'                 => true,
			'move_uploaded_file'    => true,
			'readfile'              => true,
			'readlink'              => true,
			'rename'                => true,
			'rmdir'                 => true,
			'stat'                  => true,
			'unlink'                => true,
			// FTP extension.
			'ftp_chdir'             => true,
			'ftp_login'             => true,
			'ftp_rename'            => true,
			// Stream extension.
			'stream_select'         => true,
			'stream_set_chunk_size' => true,
			// Zlib extension.
			'deflate_add'           => true,
			'deflate_init'          => true,
			'inflate_add'           => true,
			'inflate_init'          => true,
			'readgzfile'            => true,
			// Miscellaneous other functions.
			'imagecreatefromstring' => true,
			'parse_url'             => true,
			// Pre-PHP 5.3.3 an E_WARNING was thrown when URL parsing failed.
			'unserialize'           => true,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 1.1.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 1.1.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace WordPressCS\WordPress\Sniffs\WP {
	/**
	 * Flag returning high or infinite posts_per_page.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#no-limit-queries
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 Added the posts_per_page property.
	 * @since   1.0.0  This sniff has been split into two, with the check for high pagination
	 *                 limit being part of the WP category, and the check for pagination
	 *                 disabling being part of the VIP category.
	 */
	class PostsPerPageSniff extends \WordPressCS\WordPress\AbstractArrayAssignmentRestrictionsSniff {

		/**
		 * Posts per page property
		 *
		 * Posts per page limit to check against.
		 *
		 * @since 0.14.0
		 *
		 * @var int
		 */
		public $posts_per_page = 100;
		/**
		 * Groups of variables to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Callback to process each confirmed key, to check value.
		 *
		 * @param  string $key   Array index / key.
		 * @param  mixed  $val   Assigned value.
		 * @param  int    $line  Token line.
		 * @param  array  $group Group definition.
		 * @return mixed         FALSE if no match, TRUE if matches, STRING if matches
		 *                       with custom error message passed to ->process().
		 */
		public function callback( $key, $val, $line, $group ) {         }
	}
	/**
	 * Makes sure scripts and styles are enqueued and not explicitly echo'd.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#inline-resources
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.12.0 This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class EnqueuedResourcesSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Makes sure WP internationalization functions are used properly.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/internationalization/
	 * @link    https://developer.wordpress.org/plugins/internationalization/
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0
	 * @since   0.11.0 - Now also checks for translators comments.
	 *                 - Now has the ability to handle text domain set via the command-line
	 *                   as a comma-delimited list.
	 *                   `phpcs --runtime-set text_domain my-slug,default`
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This class now extends the WordPressCS native
	 *                 `AbstractFunctionRestrictionSniff` class.
	 *                 The parent `exclude` property is, however, disabled as it
	 *                 would disable the whole sniff.
	 */
	class I18nSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * These Regexes copied from http://php.net/manual/en/function.sprintf.php#93552
		 * and adjusted for better precision and updated specs.
		 */
		const SPRINTF_PLACEHOLDER_REGEX = '/(?:
		(?<!%)                     # Don\'t match a literal % (%%).
		(
			%                          # Start of placeholder.
			(?:[0-9]+\\$)?              # Optional ordering of the placeholders.
			[+-]?                      # Optional sign specifier.
			(?:
				(?:0|\'.)?                 # Optional padding specifier - excluding the space.
				-?                         # Optional alignment specifier.
				[0-9]*                     # Optional width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
				|                      # Only recognize the space as padding in combination with a width specifier.
				(?:[ ])?                   # Optional space padding specifier.
				-?                         # Optional alignment specifier.
				[0-9]+                     # Width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
			)
			[bcdeEfFgGosuxX]           # Type specifier.
		)
	)/x';
		/**
		 * "Unordered" means there's no position specifier: '%s', not '%2$s'.
		 */
		const UNORDERED_SPRINTF_PLACEHOLDER_REGEX = '/(?:
		(?<!%)                     # Don\'t match a literal % (%%).
		%                          # Start of placeholder.
		[+-]?                      # Optional sign specifier.
		(?:
			(?:0|\'.)?                 # Optional padding specifier - excluding the space.
			-?                         # Optional alignment specifier.
			[0-9]*                     # Optional width specifier.
			(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
			|                      # Only recognize the space as padding in combination with a width specifier.
			(?:[ ])?                   # Optional space padding specifier.
			-?                         # Optional alignment specifier.
			[0-9]+                     # Width specifier.
			(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
		)
		[bcdeEfFgGosuxX]           # Type specifier.
	)/x';
		/**
		 * Text domain.
		 *
		 * @todo Eventually this should be able to be auto-supplied via looking at $this->phpcsFile->getFilename()
		 * @link https://youtrack.jetbrains.com/issue/WI-17740
		 *
		 * @var string[]|string
		 */
		public $text_domain;
		/**
		 * The I18N functions in use in WP.
		 *
		 * @since 0.10.0
		 * @since 0.11.0 Changed visibility from public to protected.
		 *
		 * @var array <string function name> => <string function type>
		 */
		protected $i18n_functions = array(
			'translate'                      => 'simple',
			'__'                             => 'simple',
			'esc_attr__'                     => 'simple',
			'esc_html__'                     => 'simple',
			'_e'                             => 'simple',
			'esc_attr_e'                     => 'simple',
			'esc_html_e'                     => 'simple',
			'translate_with_gettext_context' => 'context',
			'_x'                             => 'context',
			'_ex'                            => 'context',
			'esc_attr_x'                     => 'context',
			'esc_html_x'                     => 'context',
			'_n'                             => 'number',
			'_nx'                            => 'number_context',
			'_n_noop'                        => 'noopnumber',
			'_nx_noop'                       => 'noopnumber_context',
		);
		/**
		 * Toggle whether or not to check for translators comments for text string containing placeholders.
		 *
		 * Intended to make this part of the sniff unit testable, but can be used by end-users too,
		 * though they can just as easily disable this via the sniff code.
		 *
		 * @since 0.11.0
		 *
		 * @var bool
		 */
		public $check_translator_comments = true;
		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 1.0.0 Defers to the abstractFunctionRestriction sniff for determining
		 *              whether something is a function call. The logic after that has
		 *              been split off to the `process_matched_token()` method.
		 *
		 * @param int $stack_ptr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stack_ptr ) {       }
		/**
		 * Process a matched token.
		 *
		 * @since 1.0.0 Logic split off from the `process_token()` method.
		 *
		 * @param int    $stack_ptr       The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_matched_token( $stack_ptr, $group_name, $matched_content ) {        }
		/**
		 * Check if supplied tokens represent a translation text string literal.
		 *
		 * @param array $context Context (@todo needs better description).
		 * @return bool
		 */
		protected function check_argument_tokens( $context ) {      }
		/**
		 * Check for inconsistencies between single and plural arguments.
		 *
		 * @param int   $stack_ptr      The position of the current token in the stack.
		 * @param array $single_context Single context (@todo needs better description).
		 * @param array $plural_context Plural context (@todo needs better description).
		 * @return void
		 */
		protected function compare_single_and_plural_arguments( $stack_ptr, $single_context, $plural_context ) {        }
		/**
		 * Check the string itself for problems.
		 *
		 * @param array $context Context (@todo needs better description).
		 * @return void
		 */
		protected function check_text( $context ) {         }
		/**
		 * Check for the presence of a translators comment if one of the text strings contains a placeholder.
		 *
		 * @param int   $stack_ptr The position of the gettext call token in the stack.
		 * @param array $args      The function arguments.
		 * @return void
		 */
		protected function check_for_translator_comment( $stack_ptr, $args ) {      }
	}
	/**
	 * Check for usage of deprecated parameter values in WP functions and provide alternative based on the parameter passed.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   1.0.0
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$minimum_supported_version
	 */
	class DeprecatedParameterValuesSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 1.0.0
		 *
		 * @var string
		 */
		protected $group_name = 'wp_deprecated_parameter_values';
		/**
		 * Array of function, argument, and replacement function for deprecated argument.
		 *
		 * The list of deprecated parameter values can be found by
		 * looking for `_deprecated_argument()`.
		 * The list is sorted alphabetically by function name.
		 * Last updated for WordPress 4.9.6.
		 *
		 * @since 1.0.0
		 *
		 * @var array Multidimensional array with parameter details.
		 *     $target_functions = array(
		 *         (string) Function name. => array(
		 *             (int) Target parameter position, 1-based. => array(
		 *                 (string) Parameter value. => array(
		 *                     'alt'     => (string) Suggested alternative.
		 *                     'version' => (int) The WordPress version when deprecated.
		 *                 )
		 *             )
		 *         )
		 *     );
		 */
		protected $target_functions = array(
			'add_settings_field'   => array(
				4 => array(
					'misc'    => array(
						'alt'     => 'another settings group',
						'version' => '3.0.0',
					),
					'privacy' => array(
						'alt'     => 'another settings group',
						'version' => '3.5.0',
					),
				),
			),
			'add_settings_section' => array(
				4 => array(
					'misc'    => array(
						'alt'     => 'another settings group',
						'version' => '3.0.0',
					),
					'privacy' => array(
						'alt'     => 'another settings group',
						'version' => '3.5.0',
					),
				),
			),
			'bloginfo'             => array(
				1 => array(
					'home'           => array(
						'alt'     => 'the "url" argument',
						'version' => '2.2.0',
					),
					'siteurl'        => array(
						'alt'     => 'the "url" argument',
						'version' => '2.2.0',
					),
					'text_direction' => array(
						'alt'     => 'is_rtl()',
						'version' => '2.2.0',
					),
				),
			),
			'get_bloginfo'         => array(
				1 => array(
					'home'           => array(
						'alt'     => 'the "url" argument',
						'version' => '2.2.0',
					),
					'siteurl'        => array(
						'alt'     => 'the "url" argument',
						'version' => '2.2.0',
					),
					'text_direction' => array(
						'alt'     => 'is_rtl()',
						'version' => '2.2.0',
					),
				),
			),
			'register_setting'     => array(
				1 => array(
					'misc'    => array(
						'alt'     => 'another settings group',
						'version' => '3.0.0',
					),
					'privacy' => array(
						'alt'     => 'another settings group',
						'version' => '3.5.0',
					),
				),
			),
			'unregister_setting'   => array(
				1 => array(
					'misc'    => array(
						'alt'     => 'another settings group',
						'version' => '3.0.0',
					),
					'privacy' => array(
						'alt'     => 'another settings group',
						'version' => '3.5.0',
					),
				),
			),
		);
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 1.0.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
		/**
		 * Process the parameter of a matched function.
		 *
		 * @since 1.0.0
		 *
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameter       Array with start and end token positon of the parameter.
		 * @param array  $parameter_args  Array with alternative and WordPress deprecation version of the parameter.
		 *
		 * @return void
		 */
		protected function process_parameter( $matched_content, $parameter, $parameter_args ) {         }
	}
	/**
	 * Disallow the changing of timezone.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#manipulating-the-timezone-server-side
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.11.0 Extends the WordPressCS native `AbstractFunctionRestrictionsSniff`
	 *                 class instead of the upstream `Generic.PHP.ForbiddenFunctions` sniff.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `WP` category.
	 *
	 * @deprecated 2.2.0 Use the `WordPress.DateTime.RestrictedFunctions` sniff instead.
	 *                   This `WordPress.WP.TimezoneChange` sniff will be removed in WPCS 3.0.0.
	 */
	class TimezoneChangeSniff extends \WordPressCS\WordPress\Sniffs\DateTime\RestrictedFunctionsSniff {

		/**
		 * Don't use.
		 *
		 * @deprecated 2.2.0
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Don't use.
		 *
		 * @since      2.2.0 Added to allow for throwing the deprecation notices.
		 * @deprecated 2.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void|int
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Discourages the use of various functions and suggests (WordPress) alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  - Takes the minimum supported WP version into account.
	 *                 - Takes exceptions based on passed parameters into account.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$minimum_supported_version
	 */
	class AlternativeFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Local input streams which should not be flagged for the file system function checks.
		 *
		 * @link http://php.net/manual/en/wrappers.php.php
		 *
		 * @var array
		 */
		protected $allowed_local_streams = array(
			'php://input'  => true,
			'php://output' => true,
			'php://stdin'  => true,
			'php://stdout' => true,
			'php://stderr' => true,
		);
		/**
		 * Local input streams which should not be flagged for the file system function checks if
		 * the $filename starts with them.
		 *
		 * @link http://php.net/manual/en/wrappers.php.php
		 *
		 * @var array
		 */
		protected $allowed_local_stream_partials = array( 'php://temp/', 'php://fd/' );
		/**
		 * Local input stream constants which should not be flagged for the file system function checks.
		 *
		 * @link http://php.net/manual/en/wrappers.php.php
		 *
		 * @var array
		 */
		protected $allowed_local_stream_constants = array(
			'STDIN'  => true,
			'STDOUT' => true,
			'STDERR' => true,
		);
		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'since'     => '4.9.0', //=> the WP version in which the alternative became available.
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Process a matched token.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_matched_token( $stackPtr, $group_name, $matched_content ) {         }
		/**
		 * Determine based on the "raw" parameter value, whether a file parameter points to
		 * a local data stream.
		 *
		 * @param string $raw_param_value Raw parameter value.
		 *
		 * @return bool True if this is a local data stream. False otherwise.
		 */
		protected function is_local_data_stream( $raw_param_value ) {       }
	}
	/**
	 * Warns against usage of discouraged WP CONSTANTS and recommends alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 */
	class DiscouragedConstantsSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * List of discouraged WP constants and their replacements.
		 *
		 * @since 0.14.0
		 *
		 * @var array
		 */
		protected $discouraged_constants = array(
			'STYLESHEETPATH'      => 'get_stylesheet_directory()',
			'TEMPLATEPATH'        => 'get_template_directory()',
			'PLUGINDIR'           => 'WP_PLUGIN_DIR',
			'MUPLUGINDIR'         => 'WPMU_PLUGIN_DIR',
			'HEADER_IMAGE'        => 'add_theme_support( \'custom-header\' )',
			'NO_HEADER_TEXT'      => 'add_theme_support( \'custom-header\' )',
			'HEADER_TEXTCOLOR'    => 'add_theme_support( \'custom-header\' )',
			'HEADER_IMAGE_WIDTH'  => 'add_theme_support( \'custom-header\' )',
			'HEADER_IMAGE_HEIGHT' => 'add_theme_support( \'custom-header\' )',
			'BACKGROUND_COLOR'    => 'add_theme_support( \'custom-background\' )',
			'BACKGROUND_IMAGE'    => 'add_theme_support( \'custom-background\' )',
		);
		/**
		 * Array of functions to check.
		 *
		 * @since 0.14.0
		 *
		 * @var array <string function name> => <int parameter position>
		 */
		protected $target_functions = array( 'define' => 1 );
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Process an arbitrary T_STRING token to determine whether it is one of the target constants.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_arbitrary_tstring( $stackPtr ) {        }
		/**
		 * Process the parameters of a matched `define` function call.
		 *
		 * @since 0.14.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Discourages the use of various WordPress functions and suggests alternatives.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class DiscouragedFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Flag cron schedules less than 15 minutes.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#cron-schedules-less-than-15-minutes-or-expensive-events
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.11.0 - Extends the WordPressCS native `Sniff` class.
	 *                 - Now deals correctly with WP time constants.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 The minimum cron interval tested against is now configurable.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `WP` category.
	 */
	class CronIntervalSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Minimum allowed cron interval in seconds.
		 *
		 * Defaults to 900 (= 15 minutes), which is the requirement for the VIP platform.
		 *
		 * @since 0.14.0
		 *
		 * @var int
		 */
		public $min_interval = 900;
		/**
		 * Known WP Time constant names and their value.
		 *
		 * @since 0.11.0
		 *
		 * @var array
		 */
		protected $wp_time_constants = array(
			'MINUTE_IN_SECONDS' => 60,
			'HOUR_IN_SECONDS'   => 3600,
			'DAY_IN_SECONDS'    => 86400,
			'WEEK_IN_SECONDS'   => 604800,
			'MONTH_IN_SECONDS'  => 2592000,
			'YEAR_IN_SECONDS'   => 31536000,
		);
		/**
		 * Function within which the hook should be found.
		 *
		 * @var array
		 */
		protected $valid_functions = array( 'add_filter' => true );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Add warning about unclear cron schedule change.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 */
		public function confused( $stackPtr ) {         }
	}
	/**
	 * Capital P Dangit!
	 *
	 * Verify the correct spelling of `WordPress` in text strings, comments and class names.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class CapitalPDangitSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Regex to match a large number or spelling variations of WordPress in text strings.
		 *
		 * Prevents matches on:
		 * - URLs for wordpress.org/com/net/test/tv.
		 * - `@...` usernames starting with `wordpress`
		 * - email addresses with a domain starting with `wordpress`
		 * - email addresses with a user name ending with `wordpress`
		 * - (most) variable names.
		 * - directory paths containing a folder starting or ending with `wordpress`.
		 * - file names containing `wordpress` for a limited set of extensions.
		 * - `wordpress` prefixed or suffixed with dashes as those are indicators that the
		 *   term is probably used as part of a CSS class, such as `fa-wordpress`
		 *   or filename/path like `class-wordpress-importer.php`.
		 * - back-tick quoted `wordpress`.
		 *
		 * @var string
		 */
		const WP_REGEX = '#(?<![\\\\/\\$@`-])\\b(Word[ _-]*Pres+)\\b(?![@/`-]|\\.(?:org|com|net|test|tv)|[^\\s<>\'"()]*?\\.(?:php|js|css|png|j[e]?pg|gif|pot))#i';
		/**
		 * Regex to match a large number or spelling variations of WordPress in class names.
		 *
		 * @var string
		 */
		const WP_CLASSNAME_REGEX = '`(?:^|_)(Word[_]*Pres+)(?:_|$)`i';
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.12.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.12.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Retrieve a list of misspellings based on an array of matched variations on the target word.
		 *
		 * @param array $match_stack Array of matched variations of the target word.
		 * @return array Array containing only the misspelled variants.
		 */
		protected function retrieve_misspellings( $match_stack ) {      }
	}
	/**
	 * This checks the enqueued 4th and 5th parameters to make sure the version and in_footer are set.
	 *
	 * If a source ($src) value is passed, then version ($ver) needs to have non-falsy value.
	 * If a source ($src) value is passed a check for in footer ($in_footer), warn the user if the value is falsy.
	 *
	 * @link https://developer.wordpress.org/reference/functions/wp_register_script/
	 * @link https://developer.wordpress.org/reference/functions/wp_enqueue_script/
	 * @link https://developer.wordpress.org/reference/functions/wp_register_style/
	 * @link https://developer.wordpress.org/reference/functions/wp_enqueue_style/
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since 1.0.0
	 */
	class EnqueuedResourceParametersSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 1.0.0
		 *
		 * @var string
		 */
		protected $group_name = 'Enqueued';
		/**
		 * List of enqueued functions that need to be checked for use of the in_footer and version arguments.
		 *
		 * @since 1.0.0
		 *
		 * @var array <string function_name> => <bool true>
		 */
		protected $target_functions = array(
			'wp_register_script' => true,
			'wp_enqueue_script'  => true,
			'wp_register_style'  => true,
			'wp_enqueue_style'   => true,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * Overloads and calls the parent method to allow for adding additional tokens to the $safe_tokens property.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 1.0.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
		/**
		 * Determine if a range has a falsy value.
		 *
		 * @param int $start The position to start looking from.
		 * @param int $end   The position to stop looking (inclusive).
		 *
		 * @return bool True if the parameter is falsy.
		 *              False if the parameter is not falsy or when it
		 *              couldn't be reliably determined.
		 */
		protected function is_falsy( $start, $end ) {       }
	}
	/**
	 * Warns about overwriting WordPress native global variables.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.4.0  This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.12.0 The $wp_globals property has been moved to the `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `Variables` category to the `WP`
	 *                 category and renamed from `GlobalVariables` to `GlobalVariablesOverride`.
	 * @since   1.1.0  The sniff now also detects variables being overriden in the global namespace.
	 * @since   2.2.0  The sniff now also detects variable assignments via the list() construct.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$custom_test_class_whitelist
	 */
	class GlobalVariablesOverrideSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Whether to treat all files as if they were included from
		 * within a function.
		 *
		 * This is mostly useful for projects containing views which are being
		 * included from within a function in another file, like themes.
		 *
		 * Note: enabling this is discouraged as there is no guarantee that
		 * the file will *never* be included from the global scope.
		 *
		 * @since 1.1.0
		 *
		 * @var bool
		 */
		public $treat_files_as_scoped = false;
		/**
		 * Whitelist select variables from the Sniff::$wp_globals array.
		 *
		 * A few select variables in WP Core are _intended_ to be overwritten
		 * by themes/plugins. This sniff should not throw an error for those.
		 *
		 * @since 2.2.0
		 *
		 * @var array
		 */
		protected $override_allowed = array(
			'content_width'     => true,
			'wp_cockneyreplace' => true,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.3.0
		 * @since 1.1.0 Added class tokens for improved test classes skipping.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.3.0
		 * @since 1.1.0 Split the token specific logic off into separate methods.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Check that global variables declared via a list construct are prefixed.
		 *
		 * @internal No need to take special measures for nested lists. Nested or not,
		 * each list part can only contain one variable being written to.
		 *
		 * @since 2.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		protected function process_list_assignment( $stackPtr ) {       }
		/**
		 * Check that defined global variables are prefixed.
		 *
		 * @since 1.1.0 Logic was previously contained in the process_token() method.
		 *
		 * @param int  $stackPtr The position of the current token in the stack.
		 * @param bool $in_list  Whether or not this is a variable in a list assignment.
		 *                       Defaults to false.
		 *
		 * @return void
		 */
		protected function process_variable_assignment( $stackPtr, $in_list = false ) {         }
		/**
		 * Check that global variables imported into a function scope using a global statement
		 * are not being overruled.
		 *
		 * @since 1.1.0 Logic was previously contained in the process_token() method.
		 *
		 * @param int  $stackPtr          The position of the current token in the stack.
		 * @param bool $in_function_scope Whether the global statement is within a scoped function/closure.
		 *
		 * @return void
		 */
		protected function process_global_statement( $stackPtr, $in_function_scope ) {      }
		/**
		 * Add the error if there is no whitelist comment present.
		 *
		 * @since 0.11.0
		 * @since 1.1.0  - Visibility changed from public to protected.
		 *               - Check for being in a test class moved to the process_token() method.
		 *
		 * @param int $stackPtr The position of the token to throw the error for.
		 *
		 * @return void
		 */
		protected function maybe_add_error( $stackPtr ) {       }
		/**
		 * Add the error.
		 *
		 * @since 1.1.0
		 *
		 * @param int   $stackPtr The position of the token to throw the error for.
		 * @param array $data     Optional. Array containing one entry holding the
		 *                        name of the variable being overruled.
		 *                        Defaults to the 'content' of the $stackPtr token.
		 *
		 * @return void
		 */
		protected function add_error( $stackPtr, $data = array() ) {        }
	}
	/**
	 * Check for usage of deprecated parameters in WP functions and suggest alternative based on the parameter passed.
	 *
	 * This sniff will throw an error when usage of deprecated parameters is
	 * detected if the parameter was deprecated before the minimum supported
	 * WP version; a warning otherwise.
	 * By default, it is set to presume that a project will support the current
	 * WP version and up to three releases before.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 Now has the ability to handle minimum supported WP version
	 *                 being provided via the command-line or as as <config> value
	 *                 in a custom ruleset.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$minimum_supported_version
	 */
	class DeprecatedParametersSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * The group name for this group of functions.
		 *
		 * @since 0.12.0
		 *
		 * @var string
		 */
		protected $group_name = 'wp_deprecated_parameters';
		/**
		 * Array of function, argument, and default value for deprecated argument.
		 *
		 * The functions are ordered alphabetically.
		 * Last updated for WordPress 4.8.0.
		 *
		 * @since 0.12.0
		 *
		 * @var array Multidimensional array with parameter details.
		 *    $target_functions = array(
		 *        (string) Function name. => array(
		 *            (int) Target parameter position, 1-based. => array(
		 *                'value'   => (mixed) Expected default value for the
		 *                              deprecated parameter. Currently the default
		 *                              values: true, false, null, empty arrays and
		 *                              both empty and non-empty strings can be
		 *                              handled correctly by the process_parameters()
		 *                              method. When an additional default value is
		 *                              added, the relevant code in the
		 *                              process_parameters() method will need to be
		 *                              adjusted.
		 *                'version' => (int) The WordPress version when deprecated.
		 *            )
		 *         )
		 *    );
		 */
		protected $target_functions = array(
			'add_option'                   => array(
				3 => array(
					'value'   => '',
					'version' => '2.3.0',
				),
			),
			'comments_link'                => array(
				1 => array(
					'value'   => '',
					'version' => '0.72',
				),
				2 => array(
					'value'   => '',
					'version' => '1.3.0',
				),
			),
			'comments_number'              => array(
				4 => array(
					'value'   => '',
					'version' => '1.3.0',
				),
			),
			'convert_chars'                => array(
				2 => array(
					'value'   => '',
					'version' => '0.71',
				),
			),
			'discover_pingback_server_uri' => array(
				2 => array(
					'value'   => '',
					'version' => '2.7.0',
				),
			),
			'get_category_parents'         => array(
				5 => array(
					'value'   => array(),
					'version' => '4.8.0',
				),
			),
			'get_delete_post_link'         => array(
				2 => array(
					'value'   => '',
					'version' => '3.0.0',
				),
			),
			'get_last_updated'             => array(
				1 => array(
					'value'   => '',
					'version' => '3.0.0',
				),
			),
			'get_the_author'               => array(
				1 => array(
					'value'   => '',
					'version' => '2.1.0',
				),
			),
			'get_user_option'              => array(
				3 => array(
					'value'   => '',
					'version' => '2.3.0',
				),
			),
			'get_wp_title_rss'             => array(
				1 => array(
					'value'   => '&#8211;',
					'version' => '4.4.0',
				),
			),
			'is_email'                     => array(
				2 => array(
					'value'   => false,
					'version' => '3.0.0',
				),
			),
			'load_plugin_textdomain'       => array(
				2 => array(
					'value'   => false,
					'version' => '2.7.0',
				),
			),
			'safecss_filter_attr'          => array(
				2 => array(
					'value'   => '',
					'version' => '2.8.1',
				),
			),
			'the_attachment_link'          => array(
				3 => array(
					'value'   => false,
					'version' => '2.5.0',
				),
			),
			'the_author'                   => array(
				1 => array(
					'value'   => '',
					'version' => '2.1.0',
				),
				2 => array(
					'value'   => true,
					'version' => '1.5.0',
				),
			),
			'the_author_posts_link'        => array(
				1 => array(
					'value'   => '',
					'version' => '2.1.0',
				),
			),
			'trackback_rdf'                => array(
				1 => array(
					'value'   => '',
					'version' => '2.5.0',
				),
			),
			'trackback_url'                => array(
				1 => array(
					'value'   => true,
					'version' => '2.5.0',
				),
			),
			'update_blog_option'           => array(
				4 => array(
					'value'   => null,
					'version' => '3.1.0',
				),
			),
			'update_blog_status'           => array(
				4 => array(
					'value'   => null,
					'version' => '3.1.0',
				),
			),
			'update_user_status'           => array(
				4 => array(
					'value'   => null,
					'version' => '3.0.2',
				),
			),
			'unregister_setting'           => array(
				4 => array(
					'value'   => '',
					'version' => '4.7.0',
				),
			),
			'wp_get_http_headers'          => array(
				2 => array(
					'value'   => false,
					'version' => '2.7.0',
				),
			),
			'wp_get_sidebars_widgets'      => array(
				1 => array(
					'value'   => true,
					'version' => '2.8.1',
				),
			),
			'wp_install'                   => array(
				5 => array(
					'value'   => '',
					'version' => '2.6.0',
				),
			),
			'wp_new_user_notification'     => array(
				2 => array(
					'value'   => null,
					'version' => '4.3.1',
				),
			),
			'wp_notify_postauthor'         => array(
				2 => array(
					'value'   => null,
					'version' => '3.8.0',
				),
			),
			'wp_title_rss'                 => array(
				1 => array(
					'value'   => '&#8211;',
					'version' => '4.4.0',
				),
			),
			'wp_upload_bits'               => array(
				2 => array(
					'value'   => null,
					'version' => '2.0.0',
				),
			),
			'xfn_check'                    => array(
				3 => array(
					'value'   => '',
					'version' => '2.5.0',
				),
			),
		);
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 0.12.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Restricts the use of deprecated WordPress classes and suggests alternatives.
	 *
	 * This sniff will throw an error when usage of a deprecated class is detected
	 * if the class was deprecated before the minimum supported WP version;
	 * a warning otherwise.
	 * By default, it is set to presume that a project will support the current
	 * WP version and up to three releases before.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 Now has the ability to handle minimum supported WP version
	 *                 being provided via the command-line or as as <config> value
	 *                 in a custom ruleset.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$minimum_supported_version
	 */
	class DeprecatedClassesSniff extends \WordPressCS\WordPress\AbstractClassRestrictionsSniff {

		/**
		 * Groups of classes to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Process a matched token.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched. Will
		 *                                always be 'deprecated_classes'.
		 * @param string $matched_content The token content (class name) which was matched.
		 *
		 * @return void
		 */
		public function process_matched_token( $stackPtr, $group_name, $matched_content ) {         }
	}
	/**
	 * Restricts the use of various deprecated WordPress functions and suggests alternatives.
	 *
	 * This sniff will throw an error when usage of deprecated functions is detected
	 * if the function was deprecated before the minimum supported WP version;
	 * a warning otherwise.
	 * By default, it is set to presume that a project will support the current
	 * WP version and up to three releases before.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 Now has the ability to handle minimum supported WP version
	 *                 being provided via the command-line or as as <config> value
	 *                 in a custom ruleset.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$minimum_supported_version
	 */
	class DeprecatedFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Process a matched token.
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched. Will
		 *                                always be 'deprecated_functions'.
		 * @param string $matched_content The token content (function name) which was matched.
		 *
		 * @return void
		 */
		public function process_matched_token( $stackPtr, $group_name, $matched_content ) {         }
	}
}

namespace WordPressCS\WordPress\Sniffs\WhiteSpace {
	/**
	 * Enforces spacing around logical operators and assignments, based upon Squiz code.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.1.0
	 * @since   2013-06-11 This sniff no longer supports JS.
	 * @since   0.3.0      This sniff now has the ability to fix most errors it flags.
	 * @since   0.7.0      This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0     Class name changed: this class is now namespaced.
	 *
	 * Last synced with base class 2017-01-15 at commit b024ad84656c37ef5733c6998ebc1e60957b2277.
	 * Note: This class has diverged quite far from the original. All the same, checking occasionally
	 * to see if there are upstream fixes made from which this sniff can benefit, is warranted.
	 * @link    https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php
	 */
	class ControlStructureSpacingSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Check for blank lines on start/end of control structures.
		 *
		 * @var boolean
		 */
		public $blank_line_check = false;
		/**
		 * Check for blank lines after control structures.
		 *
		 * @var boolean
		 */
		public $blank_line_after_check = true;
		/**
		 * Require for space before T_COLON when using the alternative syntax for control structures.
		 *
		 * @var string one of 'required', 'forbidden', 'optional'
		 */
		public $space_before_colon = 'required';
		/**
		 * How many spaces should be between a T_CLOSURE and T_OPEN_PARENTHESIS.
		 *
		 * `function[*]() {...}`
		 *
		 * @since 0.7.0
		 *
		 * @var int
		 */
		public $spaces_before_closure_open_paren = -1;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace {
	class OperatorSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Don't check spacing for assignment operators.
		 *
		 * This allows multiple assignment statements to be aligned.
		 *
		 * @var boolean
		 */
		public $ignoreSpacingBeforeAssignments = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Checks if an operator is actually a different type of token in the current context.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the operator in
		 *                                               the stack.
		 *
		 * @return boolean
		 */
		protected function isOperator( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }//end isOperator()
	}
}

namespace WordPressCS\WordPress\Sniffs\WhiteSpace {
	/**
	 * Verify operator spacing, uses the Squiz sniff, but additionally also sniffs for the `!` (boolean not) operator.
	 *
	 * "Always put spaces after commas, and on both sides of logical, comparison, string and assignment operators."
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#space-usage
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.1.0
	 * @since   0.3.0  This sniff now has the ability to fix the issues it flags.
	 * @since   0.12.0 This sniff used to be a copy of a very old and outdated version of the
	 *                 upstream sniff.
	 *                 Now, the sniff defers completely to the upstream sniff, adding just the
	 *                 T_BOOLEAN_NOT and the logical operators (`&&` and the like) - via the
	 *                 registration method and changing the value of the customizable
	 *                 $ignoreNewlines property.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 *
	 * Last synced with base class June 2017 at commit 41127aa4764536f38f504fb3f7b8831f05919c89.
	 * @link    https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php
	 */
	class OperatorSpacingSniff extends \PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\OperatorSpacingSniff {

		/**
		 * Allow newlines instead of spaces.
		 *
		 * N.B.: The upstream sniff defaults to `false`.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
	}
	/**
	 * Ensure cast statements are preceded by whitespace.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#space-usage
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.11.0 This sniff now has the ability to fix the issues it flags.
	 * @since   0.11.0 The error level for all errors thrown by this sniff has been raised from warning to error.
	 * @since   0.12.0 This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.2.0  Removed the `NoSpaceAfterCloseParenthesis` error code in favour of the
	 *                 upstream `Generic.Formatting.SpaceAfterCast.NoSpace` error.
	 * @since   2.2.0  Added exception for whitespace between spread operator and cast.
	 */
	class CastStructureSpacingSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Warn on line indentation ending with spaces for precision alignment.
	 *
	 * WP demands tabs for indentation. In rare cases, spaces for precision alignment can be
	 * intentional and acceptable, but more often than not, this is a typo.
	 *
	 * The `Generic.WhiteSpace.DisallowSpaceIndent` sniff already checks for space indentation
	 * and auto-fixes to tabs.
	 *
	 * This sniff only checks for precision alignments which can not be corrected by the
	 * `Generic.WhiteSpace.DisallowSpaceIndent` sniff.
	 *
	 * As this may be intentional, this sniff explicitly does *NOT* contain a fixer.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 */
	class PrecisionAlignmentSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Allow for providing a list of tokens for which (preceding) precision alignment should be ignored.
		 *
		 * <rule ref="WordPress.WhiteSpace.PrecisionAlignment">
		 *    <properties>
		 *        <property name="ignoreAlignmentTokens" type="array">
		 *            <element value="T_COMMENT"/>
		 *            <element value="T_INLINE_HTML"/>
		 *        </property>
		 *    </properties>
		 * </rule>
		 *
		 * @var array
		 */
		public $ignoreAlignmentTokens = array();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int Integer stack pointer to skip the rest of the file.
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Enforces using spaces for mid-line alignment.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class DisallowInlineTabsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int Integer stack pointer to skip the rest of the file.
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace WordPressCS\WordPress\Sniffs\Arrays {
	/**
	 * Enforces WordPress array spacing format.
	 *
	 * - Check for no space between array keyword and array opener.
	 * - Check for no space between the parentheses of an empty array.
	 * - Checks for one space after the array opener / before the array closer in single-line arrays.
	 * - Checks that associative arrays are multi-line.
	 * - Checks that each array item in a multi-line array starts on a new line.
	 * - Checks that the array closer in a multi-line array is on a new line.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.11.0 - The WordPress specific additional checks have now been split off
	 *                   from the `WordPress.Arrays.ArrayDeclaration` sniff into this sniff.
	 *                 - Added sniffing & fixing for associative arrays.
	 * @since   0.12.0 Decoupled this sniff from the upstream sniff completely.
	 *                 This sniff now extends the WordPressCS native `Sniff` class instead.
	 * @since   0.13.0 Added the last remaining checks from the `WordPress.Arrays.ArrayDeclaration`
	 *                 sniff which were not covered elsewhere.
	 *                 The `WordPress.Arrays.ArrayDeclaration` sniff has now been deprecated.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   0.14.0 Single item associative arrays are now by default exempt from the
	 *                 "must be multi-line" rule. This behaviour can be changed using the
	 *                 `allow_single_item_single_line_associative_arrays` property.
	 */
	class ArrayDeclarationSpacingSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Whether or not to allow single item associative arrays to be single line.
		 *
		 * @since 0.14.0
		 *
		 * @var bool Defaults to true.
		 */
		public $allow_single_item_single_line_associative_arrays = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.12.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.12.0 The actual checks contained in this method used to
		 *               be in the `processSingleLineArray()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Process a single-line array.
		 *
		 * @since 0.13.0 The actual checks contained in this method used to
		 *               be in the `process()` method.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 * @param int $opener   The position of the array opener.
		 * @param int $closer   The position of the array closer.
		 *
		 * @return void
		 */
		protected function process_single_line_array( $stackPtr, $opener, $closer ) {       }
		/**
		 * Process a multi-line array.
		 *
		 * @since 0.13.0 The actual checks contained in this method used to
		 *               be in the `ArrayDeclaration` sniff.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 * @param int $opener   The position of the array opener.
		 * @param int $closer   The position of the array closer.
		 *
		 * @return void
		 */
		protected function process_multi_line_array( $stackPtr, $opener, $closer ) {        }
	}
	/**
	 * Check for proper spacing in array key references.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#space-usage
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.7.0  This sniff now has the ability to fix a number of the issues it flags.
	 * @since   0.12.0 This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   2.2.0  The sniff now also checks the size of the spacing, if applicable.
	 */
	class ArrayKeySpacingRestrictionsSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Enforces WordPress array indentation for multi-line arrays.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 *
	 * {@internal This sniff should eventually be pulled upstream as part of a solution
	 * for https://github.com/squizlabs/PHP_CodeSniffer/issues/582 }}
	 */
	class ArrayIndentationSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Should tabs be used for indenting?
		 *
		 * If TRUE, fixes will be made using tabs instead of spaces.
		 * The size of each tab is important, so it should be specified
		 * using the --tab-width CLI argument.
		 *
		 * {@internal While for WPCS this should always be `true`, this property
		 * was added in anticipation of upstreaming the sniff.
		 * This property is the same as used in `Generic.WhiteSpace.ScopeIndent`.}}
		 *
		 * @var bool
		 */
		public $tabIndent = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Should the token be ignored ?
		 *
		 * This method is only intended to be used with the first token on a line
		 * for subsequent lines in an multi-line array item.
		 *
		 * @param int $ptr Stack pointer to the first token on a line.
		 *
		 * @return bool
		 */
		protected function ignore_token( $ptr ) {       }
		/**
		 * Determine the line indentation whitespace.
		 *
		 * @param int $ptr Stack pointer to an arbitrary token on a line.
		 *
		 * @return int Nr of spaces found. Where necessary, tabs are translated to spaces.
		 */
		protected function get_indentation_size( $ptr ) {       }
		/**
		 * Create an indentation string.
		 *
		 * @param int $nr Number of spaces the indentation should be.
		 *
		 * @return string
		 */
		protected function get_indentation_string( $nr ) {      }
		/**
		 * Throw an error and fix incorrect array alignment.
		 *
		 * @param int    $ptr        Stack pointer to the first content on the line.
		 * @param string $error      Error message.
		 * @param string $error_code Error code.
		 * @param int    $expected   Expected nr of spaces (tabs translated to space value).
		 * @param int    $found      Found nr of spaces (tabs translated to space value).
		 * @param string $new_indent Whitespace indent replacement content.
		 */
		protected function add_array_alignment_error( $ptr, $error, $error_code, $expected, $found, $new_indent ) {         }
		/**
		 * Fix incorrect array alignment.
		 *
		 * @param int    $ptr        Stack pointer to the first content on the line.
		 * @param string $new_indent Whitespace indent replacement content.
		 */
		protected function fix_alignment_error( $ptr, $new_indent ) {       }
	}
	/**
	 * Enforces a comma after each array item and the spacing around it.
	 *
	 * Rules:
	 * - For multi-line arrays, a comma is needed after each array item.
	 * - Same for single-line arrays, but no comma is allowed after the last array item.
	 * - There should be no space between the comma and the end of the array item.
	 * - There should be exactly one space between the comma and the start of the
	 *   next array item for single-line items.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class CommaAfterArrayItemSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Enforces alignment of the double arrow assignment operator for multi-item, multi-line arrays.
	 *
	 * - Align the double arrow operator to the same column for each item in a multi-item array.
	 * - Allows for setting a maxColumn property to aid in managing line-length.
	 * - Allows for new line(s) before a double arrow (configurable).
	 * - Allows for handling multi-line array items differently if so desired (configurable).
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#indentation
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 *
	 * {@internal This sniff should eventually be pulled upstream as part of a solution
	 * for https://github.com/squizlabs/PHP_CodeSniffer/issues/582 }}
	 */
	class MultipleStatementAlignmentSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Whether or not to ignore an array item for the purpose of alignment
		 * when a new line is found between the array key and the double arrow.
		 *
		 * @since 0.14.0
		 *
		 * @var bool
		 */
		public $ignoreNewlines = true;
		/**
		 * Whether the alignment should be exact.
		 *
		 * Exact in this context means "largest index key + 1 space".
		 * When `false`, that is seen as the minimum alignment.
		 *
		 * @since 0.14.0
		 *
		 * @var bool
		 */
		public $exact = true;
		/**
		 * The maximum column on which the double arrow alignment should be set.
		 *
		 * This property allows for limiting the whitespace padding to prevent
		 * overly long lines.
		 *
		 * If this value is set to, for instance, 60, it will:
		 * - if the expected column < 60, align at the expected column.
		 * - if the expected column >= 60, align at column 60.
		 *   - for the outliers, i.e. the array indexes where the end position
		 *     goes past column 60, it will not align the arrow, the sniff will
		 *     just make sure there is only one space between the end of the
		 *     array index and the double arrow.
		 *
		 * The column value is regarded as a hard value, i.e. includes indentation,
		 * so setting it very low is not a good idea.
		 *
		 * @since 0.14.0
		 *
		 * @var int
		 */
		public $maxColumn = 1000;
		/**
		 * Whether or not to align the arrow operator for multi-line array items.
		 *
		 * Whether or not an item is regarded as multi-line is based on the **value**
		 * of the item, not the key.
		 *
		 * Valid values are:
		 * - 'always':   Default. Align all arrays items regardless of single/multi-line.
		 * - 'never':    Never align array items which span multiple lines.
		 *               This will enforce one space between the array index and the
		 *               double arrow operator for multi-line array items, independently
		 *               of the alignment of the rest of the array items.
		 *               Multi-line items where the arrow is already aligned with the
		 *               "expected" alignment, however, will be left alone.
		 * - operator :  Only align the operator for multi-line arrays items if the
		 *   + number    percentage of multi-line items passes the comparison.
		 *               - As it is a percentage, the number has to be between 0 and 100.
		 *               - Supported operators: <, <=, >, >=, ==, =, !=, <>
		 *               - The percentage is calculated against all array items
		 *                 (with and without assignment operator).
		 *               - The (new) expected alignment will be calculated based only
		 *                 on the items being aligned.
		 *               - Multi-line items where the arrow is already aligned with the
		 *                 (new) "expected" alignment, however, will be left alone.
		 *               Examples:
		 *               * Setting this to `!=100` or `<100` means that alignment will
		 *                 be enforced, unless *all* array items are multi-line.
		 *                 This is probably the most commonly desired situation.
		 *               * Setting this to `=100` means that alignment will only
		 *                 be enforced, if *all* array items are multi-line.
		 *               * Setting this to `<50` means that the majority of array items
		 *                 need to be single line before alignment is enforced for
		 *                 multi-line items in the array.
		 *               * Setting this to `=0` is useless as in that case there are
		 *                 no multi-line items in the array anyway.
		 *
		 * This setting will respect the `ignoreNewlines` and `maxColumnn` settings.
		 *
		 * @since 0.14.0
		 *
		 * @var string|int
		 */
		public $alignMultilineItems = 'always';
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.14.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Process a single-line array.
		 *
		 * While the WP standard does not allow single line multi-item associative arrays,
		 * this sniff should function independently of that.
		 *
		 * The `WordPress.WhiteSpace.OperatorSpacing` sniff already covers checking that
		 * there is a space between the array key and the double arrow, but doesn't
		 * enforce it to be exactly one space for single line arrays.
		 * That is what this method covers.
		 *
		 * @since 0.14.0
		 *
		 * @param int   $stackPtr The position of the current token in the stack.
		 * @param array $items    Info array containing information on each array item.
		 * @param int   $opener   The position of the array opener.
		 * @param int   $closer   The position of the array closer.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		protected function process_single_line_array( $stackPtr, $items, $opener, $closer ) {       }
		/**
		 * Process a multi-line array.
		 *
		 * @since 0.14.0
		 *
		 * @param int   $stackPtr The position of the current token in the stack.
		 * @param array $items    Info array containing information on each array item.
		 * @param int   $opener   The position of the array opener.
		 * @param int   $closer   The position of the array closer.
		 *
		 * @return void
		 */
		protected function process_multi_line_array( $stackPtr, $items, $opener, $closer ) {        }
		/**
		 * Validate that a valid value has been received for the alignMultilineItems property.
		 *
		 * This message may be thrown more than once if the property is being changed inline in a file.
		 *
		 * @since 0.14.0
		 */
		protected function validate_align_multiline_items() {       }
	}
}

namespace WordPressCS\WordPress\Sniffs\Files {
	/**
	 * Ensures filenames do not contain underscores.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#naming-conventions
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.1.0
	 * @since   0.11.0 - This sniff will now also check for all lowercase file names.
	 *                 - This sniff will now also verify that files containing a class start with `class-`.
	 *                 - This sniff will now also verify that files in `wp-includes` containing
	 *                   template tags end in `-template`. Based on @subpackage file DocBlock tag.
	 *                 - This sniff will now allow for underscores in file names for certain theme
	 *                   specific exceptions if the `$is_theme` property is set to `true`.
	 * @since   0.12.0 Now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$custom_test_class_whitelist
	 */
	class FileNameSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * Regex for the theme specific exceptions.
		 *
		 * N.B. This regex currently does not allow for mimetype sublevel only file names,
		 * such as `plain.php`.
		 *
		 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
		 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#custom-taxonomies
		 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#custom-post-types
		 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#embeds
		 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/#attachment
		 * @link https://developer.wordpress.org/themes/template-files-section/partial-and-miscellaneous-template-files/#content-slug-php
		 * @link https://wphierarchy.com/
		 * @link https://en.wikipedia.org/wiki/Media_type#Naming
		 *
		 * @since 0.11.0
		 *
		 * @var string
		 */
		const THEME_EXCEPTIONS_REGEX = '`
		^                    # Anchor to the beginning of the string.
		(?:
							 # Template prefixes which can have exceptions.
			(?:archive|category|content|embed|page|single|tag|taxonomy)
			-[^\\.]+          # These need to be followed by a dash and some chars.
		|
			(?:application|audio|example|image|message|model|multipart|text|video) #Top-level mime-types
			(?:_[^\\.]+)?     # Optionally followed by an underscore and a sub-type.
		)\\.(?:php|inc)$      # End in .php (or .inc for the test files) and anchor to the end of the string.
	`Dx';
		/**
		 * Whether the codebase being sniffed is a theme.
		 *
		 * If true, it will allow for certain typical theme specific exceptions to the filename rules.
		 *
		 * @since 0.11.0
		 *
		 * @var bool
		 */
		public $is_theme = false;
		/**
		 * Whether to apply strict class file name rules.
		 *
		 * If true, it demands that classes are prefixed with `class-` and that the rest of the
		 * file name reflects the class name.
		 *
		 * @since 0.11.0
		 *
		 * @var bool
		 */
		public $strict_class_file_names = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
	}
}

namespace WordPressCS\WordPress\Sniffs\DB {
	/**
	 * Flag Database direct queries.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#direct-database-queries
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.6.0  Removed the add_unique_message() function as it is no longer needed.
	 * @since   0.11.0 This class now extends the WordPressCS native `Sniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `DB` category.
	 */
	class DirectDatabaseQuerySniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * List of custom cache get functions.
		 *
		 * @since 0.6.0
		 *
		 * @var string|string[]
		 */
		public $customCacheGetFunctions = array();
		/**
		 * List of custom cache set functions.
		 *
		 * @since 0.6.0
		 *
		 * @var string|string[]
		 */
		public $customCacheSetFunctions = array();
		/**
		 * List of custom cache delete functions.
		 *
		 * @since 0.6.0
		 *
		 * @var string|string[]
		 */
		public $customCacheDeleteFunctions = array();
		/**
		 * Cache of previously added custom functions.
		 *
		 * Prevents having to do the same merges over and over again.
		 *
		 * @since 0.11.0
		 *
		 * @var array
		 */
		protected $addedCustomFunctions = array(
			'cacheget'    => array(),
			'cacheset'    => array(),
			'cachedelete' => array(),
		);
		/**
		 * The lists of $wpdb methods.
		 *
		 * @since 0.6.0
		 * @since 0.11.0 Changed from static to non-static.
		 *
		 * @var array[]
		 */
		protected $methods = array(
			'cachable'    => array(
				'delete'      => true,
				'get_var'     => true,
				'get_col'     => true,
				'get_row'     => true,
				'get_results' => true,
				'query'       => true,
				'replace'     => true,
				'update'      => true,
			),
			'noncachable' => array( 'insert' => true ),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Merge custom functions provided via a custom ruleset with the defaults, if we haven't already.
		 *
		 * @since 0.11.0 Split out from the `process()` method.
		 *
		 * @return void
		 */
		protected function mergeFunctionLists() {       }
	}
	/**
	 * Flag potentially slow queries.
	 *
	 * @link    https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/#uncached-pageload
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.3.0
	 * @since   0.12.0 Introduced new and more intuitively named 'slow query' whitelist
	 *                 comment, replacing the 'tax_query' whitelist comment which is now
	 *                 deprecated.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `VIP` category to the `DB` category.
	 */
	class SlowDBQuerySniff extends \WordPressCS\WordPress\AbstractArrayAssignmentRestrictionsSniff {

		/**
		 * Groups of variables to restrict.
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.10.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Callback to process each confirmed key, to check value.
		 * This must be extended to add the logic to check assignment value.
		 *
		 * @param  string $key   Array index / key.
		 * @param  mixed  $val   Assigned value.
		 * @param  int    $line  Token line.
		 * @param  array  $group Group definition.
		 * @return mixed         FALSE if no match, TRUE if matches, STRING if matches
		 *                       with custom error message passed to ->process().
		 */
		public function callback( $key, $val, $line, $group ) {         }
	}
	/**
	 * Verifies that no database related PHP classes are used.
	 *
	 * "Avoid touching the database directly. If there is a defined function that can get
	 *  the data you need, use it. Database abstraction (using functions instead of queries)
	 *  helps keep your code forward-compatible and, in cases where results are cached in memory,
	 *  it can be many times faster."
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#database-queries
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class RestrictedClassesSniff extends \WordPressCS\WordPress\AbstractClassRestrictionsSniff {

		/**
		 * Groups of classes to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'    => 'error' | 'warning',
		 *      'message' => 'Avoid direct calls to the database.',
		 *      'classes' => array( 'PDO', '\Namespace\Classname' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
	/**
	 * Check for incorrect use of the $wpdb->prepare method.
	 *
	 * Check the following issues:
	 * - The only placeholders supported are: %d, %f (%F) and %s and their variations.
	 * - Literal % signs need to be properly escaped as `%%`.
	 * - Simple placeholders (%d, %f, %F, %s) should be left unquoted in the query string.
	 * - Complex placeholders - numbered and formatted variants - will not be quoted
	 *   automagically by $wpdb->prepare(), so if used for values, should be quoted in
	 *   the query string.
	 * - Either an array of replacements should be passed matching the number of
	 *   placeholders found or individual parameters for each placeholder should
	 *   be passed.
	 * - Wildcards for LIKE compare values should be passed in via a replacement parameter.
	 *
	 * The sniff allows for a specific pattern with a variable number of placeholders
	 * created using code along the lines of:
	 * `sprintf( 'query .... IN (%s) ...', implode( ',', array_fill( 0, count( $something ), '%s' ) ) )`.
	 *
	 * A "PreparedSQLPlaceholders replacement count" whitelist comment is supported
	 * specifically to silence the `ReplacementsWrongNumber` and `UnfinishedPrepare`
	 * error codes. The other error codes are not affected by it.
	 *
	 * @link https://developer.wordpress.org/reference/classes/wpdb/prepare/
	 * @link https://core.trac.wordpress.org/changeset/41496
	 * @link https://core.trac.wordpress.org/changeset/41471
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.14.0
	 */
	class PreparedSQLPlaceholdersSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * These regexes copied from http://php.net/manual/en/function.sprintf.php#93552
		 * and adjusted for limitations in `$wpdb->prepare()`.
		 *
		 * Near duplicate of the one used in the WP.I18n sniff, but with fewer types allowed.
		 *
		 * Note: The regex delimiters and modifiers are not included to allow this regex to be
		 * concatenated together with other regex partials.
		 *
		 * @since 0.14.0
		 *
		 * @var string
		 */
		const PREPARE_PLACEHOLDER_REGEX = '(?:
		(?<![^%]%)                     # Don\'t match a literal % (%%), including when it could overlap with a placeholder.
		(?:
			%                          # Start of placeholder.
			(?:[0-9]+\\\\?\\$)?         # Optional ordering of the placeholders.
			[+-]?                      # Optional sign specifier.
			(?:
				(?:0|\'.)?                 # Optional padding specifier - excluding the space.
				-?                         # Optional alignment specifier.
				[0-9]*                     # Optional width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
				|                      # Only recognize the space as padding in combination with a width specifier.
				(?:[ ])?                   # Optional space padding specifier.
				-?                         # Optional alignment specifier.
				[0-9]+                     # Width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)? # Optional precision specifier with optional padding character.
			)
			[dfFs]                     # Type specifier.
		)
	)';
		/**
		 * Similar to above, but for the placeholder types *not* supported.
		 *
		 * Note: all optional parts are forced to be greedy to allow for the negative look ahead
		 * at the end to work.
		 *
		 * @since 0.14.0
		 *
		 * @var string
		 */
		const UNSUPPORTED_PLACEHOLDER_REGEX = '`(?:
		(?<!%)                     # Don\'t match a literal % (%%).
		(
			%                          # Start of placeholder.
			(?!                        # Negative look ahead.
				%[^%]                       # Not a correct literal % (%%).
				|
				%%[dfFs]                    # Nor a correct literal % (%%), followed by a simple placeholder.
			)
			(?:[0-9]+\\\\??\\$)?+       # Optional ordering of the placeholders.
			[+-]?+                     # Optional sign specifier.
			(?:
				(?:0|\'.)?+                 # Optional padding specifier - excluding the space.
				-?+                         # Optional alignment specifier.
				[0-9]*+                     # Optional width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)?+ # Optional precision specifier with optional padding character.
				|                      # Only recognize the space as padding in combination with a width specifier.
				(?:[ ])?+                   # Optional space padding specifier.
				-?+                         # Optional alignment specifier.
				[0-9]++                     # Width specifier.
				(?:\\.(?:[ 0]|\'.)?[0-9]+)?+ # Optional precision specifier with optional padding character.
			)
			(?![dfFs])                 # Negative look ahead: not one of the supported placeholders.
			(?:[^ \'"]*|$)             # but something else instead.
		)
	)`x';
		/**
		 * List of $wpdb methods we are interested in.
		 *
		 * @since 0.14.0
		 *
		 * @var array
		 */
		protected $target_methods = array( 'prepare' => true );
		/**
		 * Storage for the stack pointer to the method call token.
		 *
		 * @since 0.14.0
		 *
		 * @var int
		 */
		protected $methodPtr;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.14.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.14.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return void
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Retrieve a regex snippet to recognize and remember quotes based on the quote style
		 * used in the original string (if any).
		 *
		 * This allows for recognizing `"` and `\'` in single quoted strings,
		 * recognizing `'` and `\"` in double quotes strings and `'` and `"`when the quote
		 * style is unknown or it is a non-quoted string (heredoc/nowdoc and such).
		 *
		 * @since 0.14.0
		 *
		 * @param string $stripped_content Text string content without surrounding quotes.
		 * @param string $original_content Original content for the same text string.
		 *
		 * @return string
		 */
		protected function get_regex_quote_snippet( $stripped_content, $original_content ) {        }
		/**
		 * Analyse a sprintf() query wrapper to see if it contains a specific code pattern
		 * to deal correctly with `IN` queries.
		 *
		 * The pattern we are searching for is:
		 * `sprintf( 'query ....', implode( ',', array_fill( 0, count( $something ), '%s' ) ) )`
		 *
		 * @since 0.14.0
		 *
		 * @param array $sprintf_params Parameters details for the sprintf call.
		 *
		 * @return int The number of times the pattern was found in the replacements.
		 */
		protected function analyse_sprintf( $sprintf_params ) {         }
		/**
		 * Analyse an implode() function call to see if it contains a specific code pattern
		 * to dynamically create placeholders.
		 *
		 * The pattern we are searching for is:
		 * `implode( ',', array_fill( 0, count( $something ), '%s' ) )`
		 *
		 * This pattern presumes unquoted placeholders!
		 *
		 * @since 0.14.0
		 *
		 * @param int $implode_token The stackPtr to the implode function call.
		 *
		 * @return bool True if the pattern is found, false otherwise.
		 */
		protected function analyse_implode( $implode_token ) {      }
	}
	/**
	 * Sniff for prepared SQL.
	 *
	 * Makes sure that variables aren't directly interpolated into SQL statements.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#formatting-sql-statements
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.8.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.0.0  This sniff has been moved from the `WP` category to the `DB` category.
	 */
	class PreparedSQLSniff extends \WordPressCS\WordPress\Sniff {

		/**
		 * The lists of $wpdb methods.
		 *
		 * @since 0.8.0
		 * @since 0.11.0 Changed from static to non-static.
		 *
		 * @var array
		 */
		protected $methods = array(
			'get_var'     => true,
			'get_col'     => true,
			'get_row'     => true,
			'get_results' => true,
			'prepare'     => true,
			'query'       => true,
		);
		/**
		 * Tokens that we don't flag when they are found in a $wpdb method call.
		 *
		 * @since 0.9.0
		 *
		 * @var array
		 */
		protected $ignored_tokens = array(
			\T_OBJECT_OPERATOR          => true,
			\T_OPEN_PARENTHESIS         => true,
			\T_CLOSE_PARENTHESIS        => true,
			\T_STRING_CONCAT            => true,
			\T_CONSTANT_ENCAPSED_STRING => true,
			\T_OPEN_SQUARE_BRACKET      => true,
			\T_CLOSE_SQUARE_BRACKET     => true,
			\T_COMMA                    => true,
			\T_LNUMBER                  => true,
			\T_START_HEREDOC            => true,
			\T_END_HEREDOC              => true,
			\T_START_NOWDOC             => true,
			\T_NOWDOC                   => true,
			\T_END_NOWDOC               => true,
			\T_INT_CAST                 => true,
			\T_DOUBLE_CAST              => true,
			\T_BOOL_CAST                => true,
			\T_NS_SEPARATOR             => true,
		);
		/**
		 * A loop pointer.
		 *
		 * It is a property so that we can access it in all of our methods.
		 *
		 * @since 0.9.0
		 *
		 * @var int
		 */
		protected $i;
		/**
		 * The loop end marker.
		 *
		 * It is a property so that we can access it in all of our methods.
		 *
		 * @since 0.9.0
		 *
		 * @var int
		 */
		protected $end;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.8.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.8.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
	}
	/**
	 * Verifies that no database related PHP functions are used.
	 *
	 * "Avoid touching the database directly. If there is a defined function that can get
	 *  the data you need, use it. Database abstraction (using functions instead of queries)
	 *  helps keep your code forward-compatible and, in cases where results are cached in memory,
	 *  it can be many times faster."
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#database-queries
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class RestrictedFunctionsSniff extends \WordPressCS\WordPress\AbstractFunctionRestrictionsSniff {

		/**
		 * Groups of functions to restrict.
		 *
		 * Example: groups => array(
		 *  'lambda' => array(
		 *      'type'      => 'error' | 'warning',
		 *      'message'   => 'Use anonymous functions instead please!',
		 *      'functions' => array( 'file_get_contents', 'create_function' ),
		 *  )
		 * )
		 *
		 * @return array
		 */
		public function getGroups() {       }
	}
}

namespace PHP_CodeSniffer\Sniffs {
	abstract class AbstractScopeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Constructs a new AbstractScopeTest.
		 *
		 * @param array   $scopeTokens   The type of scope the test wishes to listen to.
		 * @param array   $tokens        The tokens that the test wishes to listen to
		 *                               within the scope.
		 * @param boolean $listenOutside If true this test will also alert the
		 *                               extending class when a token is found outside
		 *                               the scope, by calling the
		 *                               processTokenOutsideScope method.
		 *
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified tokens arrays are empty
		 *                                                      or invalid.
		 */
		public function __construct( array $scopeTokens, array $tokens, $listenOutside = false ) {      }//end __construct()
		/**
		 * The method that is called to register the tokens this test wishes to
		 * listen to.
		 *
		 * DO NOT OVERRIDE THIS METHOD. Use the constructor of this class to register
		 * for the desired tokens and scope.
		 *
		 * @return int[]
		 * @see    __constructor()
		 */
		final public function register() {      }//end register()
		/**
		 * Processes the tokens that this test is listening for.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 * @see    processTokenWithinScope()
		 */
		final public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }//end process()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 * @param int                         $currScope The position in the tokens array that
		 *                                               opened the scope that this test is
		 *                                               listening for.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		abstract protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope);
		/**
		 * Processes a token that is found outside the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return (count($tokens) + 1) to skip
		 *                  the rest of the file.
		 */
		abstract protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr);
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\NamingConventions {
	class ValidFunctionNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * A list of all PHP magic methods.
		 *
		 * @var array
		 */
		protected $magicMethods = array(
			'construct'   => true,
			'destruct'    => true,
			'call'        => true,
			'callstatic'  => true,
			'get'         => true,
			'set'         => true,
			'isset'       => true,
			'unset'       => true,
			'sleep'       => true,
			'wakeup'      => true,
			'serialize'   => true,
			'unserialize' => true,
			'tostring'    => true,
			'invoke'      => true,
			'set_state'   => true,
			'clone'       => true,
			'debuginfo'   => true,
		);
		/**
		 * A list of all PHP magic functions.
		 *
		 * @var array
		 */
		protected $magicFunctions = array( 'autoload' => true );
		/**
		 * Constructs a PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the tokens within the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 * @param int                         $currScope The position of the current scope.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes the tokens outside the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
}

namespace WordPressCS\WordPress\Sniffs\NamingConventions {
	/**
	 * Enforces WordPress function name and method name format, based upon Squiz code.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#naming-conventions
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.1.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   2.0.0  The `get_name_suggestion()` method has been moved to the
	 *                 WordPress native `Sniff` base class as `get_snake_case_name_suggestion()`.
	 * @since   2.2.0  Will now ignore functions and methods which are marked as @deprecated.
	 *
	 * Last synced with parent class December 2018 up to commit ee167761d7756273b8ad0ad68bf3db1f2c211bb8.
	 * @link    https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php
	 *
	 * {@internal While this class extends the PEAR parent, it does not actually use the checks
	 * contained in the parent. It only uses the properties and the token registration from the parent.}}
	 */
	class ValidFunctionNameSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\NamingConventions\ValidFunctionNameSniff {

		/**
		 * Processes the tokens outside the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		/**
		 * Processes the tokens within the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 * @param int                         $currScope The position of the current scope.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }
	}
}

namespace PHP_CodeSniffer\Sniffs {
	abstract class AbstractVariableSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * List of PHP Reserved variables.
		 *
		 * Used by various naming convention sniffs.
		 *
		 * @var array
		 */
		protected $phpReservedVars = array(
			'_SERVER'              => true,
			'_GET'                 => true,
			'_POST'                => true,
			'_REQUEST'             => true,
			'_SESSION'             => true,
			'_ENV'                 => true,
			'_COOKIE'              => true,
			'_FILES'               => true,
			'GLOBALS'              => true,
			'http_response_header' => true,
			'HTTP_RAW_POST_DATA'   => true,
			'php_errormsg'         => true,
		);
		/**
		 * Constructs an AbstractVariableTest.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the token in the specified PHP_CodeSniffer\Files\File.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this
		 *                                               token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 * @param int                         $currScope The current scope opener token.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		final protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {         }//end processTokenWithinScope()
		/**
		 * Processes the token outside the scope in the file.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this
		 *                                               token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		final protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }//end processTokenOutsideScope()
		/**
		 * Called to process class member vars.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this
		 *                                               token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		abstract protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr);
		/**
		 * Called to process normal member vars.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this
		 *                                               token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		abstract protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr);
		/**
		 * Called to process variables found in double quoted strings or heredocs.
		 *
		 * Note that there may be more than one variable in the string, which will
		 * result only in one call for the string or one call per line for heredocs.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this
		 *                                               token was found.
		 * @param int                         $stackPtr  The position where the double quoted
		 *                                               string was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached. Return ($phpcsFile->numTokens + 1) to skip
		 *                  the rest of the file.
		 */
		abstract protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr);
	}
}

namespace WordPressCS\WordPress\Sniffs\NamingConventions {
	/**
	 * Checks the naming of variables and member variables.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#naming-conventions
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.9.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   2.0.0  - Defers to the upstream `$phpReservedVars` property.
	 *                 - Now offers name suggestions for variables in violation.
	 *
	 * Last synced with base class June 2018 at commit 78ddbae97cac078f09928bf89e3ab9e53ad2ace0.
	 * @link    https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php
	 *
	 * @uses PHP_CodeSniffer\Sniffs\AbstractVariableSniff::$phpReservedVars
	 */
	class ValidVariableNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Mixed-case variables used by WordPress.
		 *
		 * @since 0.11.0
		 *
		 * @var array
		 */
		protected $wordpress_mixed_case_vars = array(
			'EZSQL_ERROR'       => true,
			'GETID3_ERRORARRAY' => true,
			'is_IE'             => true,
			'is_IIS'            => true,
			'is_macIE'          => true,
			'is_NS4'            => true,
			'is_winIE'          => true,
			'PHP_SELF'          => true,
			'post_ID'           => true,
			'tag_ID'            => true,
			'user_ID'           => true,
		);
		/**
		 * List of member variables that can have mixed case.
		 *
		 * @since 0.9.0
		 * @since 0.11.0 Changed from public to protected.
		 *
		 * @var array
		 */
		protected $whitelisted_mixed_case_member_var_names = array(
			'ID'                => true,
			'comment_ID'        => true,
			'comment_post_ID'   => true,
			'post_ID'           => true,
			'comment_author_IP' => true,
			'cat_ID'            => true,
		);
		/**
		 * Custom list of properties which can have mixed case.
		 *
		 * @since 0.11.0
		 *
		 * @var string|string[]
		 */
		public $customPropertiesWhitelist = array();
		/**
		 * Cache of previously added custom functions.
		 *
		 * Prevents having to do the same merges over and over again.
		 *
		 * @since 0.10.0
		 * @since 0.11.0 - Name changed from $addedCustomVariables.
		 *               - Changed the format from simple bool to array.
		 *
		 * @var array
		 */
		protected $addedCustomProperties = array( 'properties' => null );
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcs_file The file being scanned.
		 * @param int                         $stack_ptr  The position of the current token in the
		 *                                                stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcs_file, $stack_ptr ) {         }
		/**
		 * Processes class member variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcs_file The file being scanned.
		 * @param int                         $stack_ptr  The position of the current token in the
		 *                                                stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcs_file, $stack_ptr ) {        }
		/**
		 * Processes the variable found within a double quoted string.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcs_file The file being scanned.
		 * @param int                         $stack_ptr  The position of the double quoted
		 *                                                string.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcs_file, $stack_ptr ) {         }
		/**
		 * Return whether the variable is in snake_case.
		 *
		 * @param string $var_name Variable name.
		 * @return bool
		 */
		public static function isSnakeCase( $var_name ) {       }
		/**
		 * Merge a custom whitelist provided via a custom ruleset with the predefined whitelist,
		 * if we haven't already.
		 *
		 * @since 0.10.0
		 * @since 2.0.0  Removed unused $phpcs_file parameter.
		 *
		 * @return void
		 */
		protected function mergeWhiteList() {       }
	}
	/**
	 * Validates post type names.
	 *
	 * Checks the post type slug for invalid characters, long function names
	 * and reserved names.
	 *
	 * @link https://developer.wordpress.org/reference/functions/register_post_type/
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since 2.2.0
	 */
	class ValidPostTypeSlugSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * Max length of a post type name is limited by the SQL field.
		 *
		 * @since 2.2.0
		 *
		 * @var int
		 */
		const POST_TYPE_MAX_LENGTH = 20;
		/**
		 * Regex that whitelists characters that can be used as the post type slug.
		 *
		 * @link https://developer.wordpress.org/reference/functions/register_post_type/
		 * @since 2.2.0
		 *
		 * @var string
		 */
		const POST_TYPE_CHARACTER_WHITELIST = '/^[a-z0-9_-]+$/';
		/**
		 * Array of functions that must be checked.
		 *
		 * @since 2.2.0
		 *
		 * @var array List of function names as keys. Value irrelevant.
		 */
		protected $target_functions = array( 'register_post_type' => true );
		/**
		 * Array of reserved post type names which can not be used by themes and plugins.
		 *
		 * @since 2.2.0
		 *
		 * @var array
		 */
		protected $reserved_names = array(
			'post'                => true,
			'page'                => true,
			'attachment'          => true,
			'revision'            => true,
			'nav_menu_item'       => true,
			'custom_css'          => true,
			'customize_changeset' => true,
			'oembed_cache'        => true,
			'user_request'        => true,
			'wp_block'            => true,
			'action'              => true,
			'author'              => true,
			'order'               => true,
			'theme'               => true,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 2.2.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Process the parameter of a matched function.
		 *
		 * Errors on invalid post type names when reserved keywords are used,
		 * the post type is too long, or contains invalid characters.
		 *
		 * @since 2.2.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param array  $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
	/**
	 * Use lowercase letters in action and filter names. Separate words via underscores.
	 *
	 * This sniff is only testing the hook invoke functions as when using 'add_action'/'add_filter'
	 * you can't influence the hook name.
	 *
	 * Hook names invoked with `do_action_deprecated()` and `apply_filters_deprecated()` are ignored.
	 *
	 * @link    https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#naming-conventions
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.10.0
	 * @since   0.11.0 Extends the WordPressCS native `AbstractFunctionParameterSniff` class.
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 */
	class ValidHookNameSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * Additional word separators.
		 *
		 * This public variable allows providing additional word separators which
		 * will be allowed in hook names via a property in the phpcs.xml config file.
		 *
		 * Example usage:
		 * <rule ref="WordPress.NamingConventions.ValidHookName">
		 *   <properties>
		 *     <property name="additionalWordDelimiters" value="-"/>
		 *   </properties>
		 * </rule>
		 *
		 * Provide several extra delimiters as one string:
		 * <rule ref="WordPress.NamingConventions.ValidHookName">
		 *   <properties>
		 *     <property name="additionalWordDelimiters" value="-/."/>
		 *   </properties>
		 * </rule>
		 *
		 * @var string
		 */
		public $additionalWordDelimiters = '';
		/**
		 * Regular expression to test for correct punctuation of a hook name.
		 *
		 * The placeholder will be replaced by potentially provided additional
		 * word delimiters in the `prepare_regex()` method.
		 *
		 * @var string
		 */
		protected $punctuation_regex = '`[^\\w%s]`';
		/**
		 * Groups of functions to restrict.
		 *
		 * @since 0.11.0
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 0.11.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
		/**
		 * Prepare the punctuation regular expression.
		 *
		 * Merges the existing regular expression with potentially provided extra word delimiters to allow.
		 * This is done 'late' and for each found token as otherwise inline `phpcs:set` directives
		 * would be ignored.
		 *
		 * @return string
		 */
		protected function prepare_regex() {        }
		/**
		 * Transform an arbitrary string to lowercase and replace punctuation and spaces with underscores.
		 *
		 * @param string $string         The target string.
		 * @param string $regex          The punctuation regular expression to use.
		 * @param string $transform_type Whether to a partial or complete transform.
		 *                               Valid values are: 'full', 'case', 'punctuation'.
		 * @return string
		 */
		protected function transform( $string, $regex, $transform_type = 'full' ) {         }
		/**
		 * Transform a complex string which may contain variable extrapolation.
		 *
		 * @param string $string         The target string.
		 * @param string $regex          The punctuation regular expression to use.
		 * @param string $transform_type Whether to a partial or complete transform.
		 *                               Valid values are: 'full', 'case', 'punctuation'.
		 * @return string
		 */
		protected function transform_complex_string( $string, $regex, $transform_type = 'full' ) {      }
	}
	/**
	 * Verify that everything defined in the global namespace is prefixed with a theme/plugin specific prefix.
	 *
	 * @package WPCS\WordPressCodingStandards
	 *
	 * @since   0.12.0
	 * @since   0.13.0 Class name changed: this class is now namespaced.
	 * @since   1.2.0  Now also checks whether namespaces are prefixed.
	 * @since   2.2.0  - Now also checks variables assigned via the list() construct.
	 *                 - Now also ignores global functions which are marked as @deprecated.
	 *
	 * @uses    \WordPressCS\WordPress\Sniff::$custom_test_class_whitelist
	 */
	class PrefixAllGlobalsSniff extends \WordPressCS\WordPress\AbstractFunctionParameterSniff {

		/**
		 * Error message template.
		 *
		 * @var string
		 */
		const ERROR_MSG = '%s by a theme/plugin should start with the theme/plugin prefix. Found: "%s".';
		/**
		 * Minimal number of characters the prefix needs in order to be valid.
		 *
		 * @since 2.2.0
		 *
		 * @link https://github.com/WordPress/WordPress-Coding-Standards/issues/1733 Issue 1733.
		 *
		 * @var int
		 */
		const MIN_PREFIX_LENGTH = 3;
		/**
		 * Target prefixes.
		 *
		 * @since 0.12.0
		 *
		 * @var string[]|string
		 */
		public $prefixes = '';
		/**
		 * Prefix blacklist.
		 *
		 * @since 0.12.0
		 *
		 * @var string[]
		 */
		protected $prefix_blacklist = array(
			'wordpress' => true,
			'wp'        => true,
			'_'         => true,
			'php'       => true,
		);
		/**
		 * A list of all PHP superglobals with the exception of $GLOBALS which is handled separately.
		 *
		 * @since 0.12.0
		 *
		 * @var array
		 */
		protected $superglobals = array(
			'_COOKIE'  => true,
			'_ENV'     => true,
			'_GET'     => true,
			'_FILES'   => true,
			'_POST'    => true,
			'_REQUEST' => true,
			'_SERVER'  => true,
			'_SESSION' => true,
		);
		/**
		 * A list of core hooks that are allowed to be called by plugins and themes.
		 *
		 * @since 0.14.0
		 *
		 * @var array
		 */
		protected $whitelisted_core_hooks = array(
			'widget_title'   => true,
			'add_meta_boxes' => true,
		);
		/**
		 * A list of core constants that are allowed to be defined by plugins and themes.
		 *
		 * @since 1.0.0
		 *
		 * Source: {@link https://core.trac.wordpress.org/browser/trunk/src/wp-includes/default-constants.php#L0}
		 * The constants are listed in the order they are found in the source file
		 * to make life easier for future updates.
		 * Only overrulable constants are listed, i.e. those defined within core within
		 * a `if ( ! defined() ) {}` wrapper.
		 *
		 * @var array
		 */
		protected $whitelisted_core_constants = array(
			'WP_MEMORY_LIMIT'      => true,
			'WP_MAX_MEMORY_LIMIT'  => true,
			'WP_CONTENT_DIR'       => true,
			'WP_DEBUG'             => true,
			'WP_DEBUG_DISPLAY'     => true,
			'WP_DEBUG_LOG'         => true,
			'WP_CACHE'             => true,
			'SCRIPT_DEBUG'         => true,
			'MEDIA_TRASH'          => true,
			'SHORTINIT'            => true,
			'WP_CONTENT_URL'       => true,
			'WP_PLUGIN_DIR'        => true,
			'WP_PLUGIN_URL'        => true,
			'PLUGINDIR'            => true,
			'WPMU_PLUGIN_DIR'      => true,
			'WPMU_PLUGIN_URL'      => true,
			'MUPLUGINDIR'          => true,
			'COOKIEHASH'           => true,
			'USER_COOKIE'          => true,
			'PASS_COOKIE'          => true,
			'AUTH_COOKIE'          => true,
			'SECURE_AUTH_COOKIE'   => true,
			'LOGGED_IN_COOKIE'     => true,
			'TEST_COOKIE'          => true,
			'COOKIEPATH'           => true,
			'SITECOOKIEPATH'       => true,
			'ADMIN_COOKIE_PATH'    => true,
			'PLUGINS_COOKIE_PATH'  => true,
			'COOKIE_DOMAIN'        => true,
			'RECOVERY_MODE_COOKIE' => true,
			'FORCE_SSL_ADMIN'      => true,
			'FORCE_SSL_LOGIN'      => true,
			'AUTOSAVE_INTERVAL'    => true,
			'EMPTY_TRASH_DAYS'     => true,
			'WP_POST_REVISIONS'    => true,
			'WP_CRON_LOCK_TIMEOUT' => true,
			'WP_DEFAULT_THEME'     => true,
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @since 0.12.0
		 *
		 * @return array
		 */
		public function register() {        }
		/**
		 * Groups of functions to restrict.
		 *
		 * @since 0.12.0
		 *
		 * @return array
		 */
		public function getGroups() {       }
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @since 0.12.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process_token( $stackPtr ) {        }
		/**
		 * Handle variable variables defined in the global namespace.
		 *
		 * @since 0.12.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		protected function process_variable_variable( $stackPtr ) {         }
		/**
		 * Check that defined global variables are prefixed.
		 *
		 * @since 0.12.0
		 * @since 2.2.0  Added $in_list parameter.
		 *
		 * @param int  $stackPtr The position of the current token in the stack.
		 * @param bool $in_list  Whether or not this is a variable in a list assignment.
		 *                       Defaults to false.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		protected function process_variable_assignment( $stackPtr, $in_list = false ) {         }
		/**
		 * Check that global variables declared via a list construct are prefixed.
		 *
		 * @internal No need to take special measures for nested lists. Nested or not,
		 * each list part can only contain one variable being written to.
		 *
		 * @since 2.2.0
		 *
		 * @param int $stackPtr The position of the current token in the stack.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		protected function process_list_assignment( $stackPtr ) {       }
		/**
		 * Process the parameters of a matched function.
		 *
		 * @since 0.12.0
		 *
		 * @param int    $stackPtr        The position of the current token in the stack.
		 * @param string $group_name      The name of the group which was matched.
		 * @param string $matched_content The token content (function name) which was matched.
		 * @param array  $parameters      Array with information about the parameters.
		 *
		 * @return void
		 */
		public function process_parameters( $stackPtr, $group_name, $matched_content, $parameters ) {       }
	}
}

namespace eftec\bladeone {
	/**
	 * Trait BladeOneLang
	 * It adds the next tags
	 * <code>
	 * select:
	 * @ _e('hello')
	 * @ _n('Product','Products',$n)
	 * @ _ef('hello %s',$user)
	 * </code>
	 *
	 * @package    eftec\bladeone
	 * @version    1.1 2019-08-09
	 * @link       https://github.com/EFTEC/BladeOne
	 * @author     Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 * @copyright  2017 Jorge Patricio Castro Castillo MIT License. Don't delete this comment, its part of the license.
	 * @deprecated Note: It is not needing anymore (BladeOne already includes the same functionalities). It is keep for compatibility purpose.
	 */
	trait BladeOneLang {

		/** @var string The path to the missing translations log file. If empty then every missing key is not saved. */
		public $missingLog = '';
		/** @var array Hold dictionary of translations */
		public static $dictionary = array();
		/**
		 * Tries to translate the word if its in the array defined by BladeOneLang::$dictionary
		 * If the operation fails then, it returns the original expression without translation.
		 *
		 * @param $phrase
		 *
		 * @return string
		 */
		public function _e( $phrase ) {         }
		/**
		 * Its the same than @_e, however it parses the text (using sprintf).
		 * If the operation fails then, it returns the original expression without translation.
		 *
		 * @param $phrase
		 *
		 * @return string
		 */
		public function _ef( $phrase ) {        }
		/**
		 * if num is more than one then it returns the phrase in plural, otherwise the phrase in singular.
		 * Note: the translation should be as follow: $msg['Person']='Person' $msg=['Person']['p']='People'
		 *
		 * @param string $phrase
		 * @param string $phrases
		 * @param int    $num
		 *
		 * @return string
		 */
		public function _n( $phrase, $phrases, $num = 0 ) {         }
		// <editor-fold desc="compile">
		/**
		 * Used for @_e directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_e( $expression ) {       }
		/**
		 * Used for @_ef directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_ef( $expression ) {      }
		/**
		 * Used for @_n directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_n( $expression ) {       }
		// </editor-fold>
		/**
		 * Log a missing translation into the file $this->missingLog.<br>
		 * If the file is not defined, then it doesn't write the log.
		 *
		 * @param string $txt Message to write on.
		 */
		private function missingTranslation( $txt ) {       }
	}
	trait BladeOneCustom {

		private $customItem = array();
		// indicates the type of the current tag. such as select/selectgroup/etc.
		// <editor-fold desc="compile function">
		/**
		 * Usage @panel('title',true,true).....@endpanel()
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compilePanel( $expression ) {        }
		protected function compileEndPanel() {      }
		// </editor-fold>
		// <editor-fold desc="used function">
		protected function panel( $title = '', $toggle = true, $dismiss = true ) {      }
		// </editor-fold>
	}
	/**
	 * trait BladeOneHtml
	 * Copyright (c) 2016 Jorge Patricio Castro Castillo MIT License. Don't delete this comment, its part of the license.
	 * Extends the tags of the class BladeOne.  Its optional
	 * It adds the next tags
	 * <code>
	 * select:
	 * @ select('idCountry','value',[,$extra])
	 * @ item('0','--select a country'[,$extra])
	 * @ items($countries,'id','name',$currentCountry[,$extra])
	 * @ endselect()
	 * input:
	 * @ input('iduser',$currentUser,'text'[,$extra])
	 * button:
	 * @ commandbutton('idbutton','value','text'[,$extra])
	 *
	 * </code>
	 * Note. The names of the tags are based in Java Server Faces (JSF)
	 *
	 * @package  BladeOneHtml
	 * @version  1.9.2 2020-05-28 (1)
	 * @link     https://github.com/EFTEC/BladeOne
	 * @author   Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 * @deprecated use https://github.com/eftec/BladeOneHtml
	 */
	trait BladeOneHtml {

		protected $htmlItem = array();
		// indicates the type of the current tag. such as select/selectgroup/etc.
		protected $htmlCurrentId = array();
		// indicates the id of the current tag.
		// <editor-fold desc="compile function">
		protected function compileSelect( $expression ) {       }
		protected function compileListBoxes( $expression ) {        }
		protected function compileLink( $expression ) {         }
		protected function compileSelectGroup( $expression ) {      }
		protected function compileRadio( $expression ) {        }
		protected function compileCheckbox( $expression ) {         }
		protected function compileEndSelect() {         }
		protected function compileEndRadio() {      }
		protected function compileEndCheckbox() {       }
		protected function compileItem( $expression ) {         }
		protected function compileItems( $expression ) {        }
		protected function compileTrio( $expression ) {         }
		protected function compileTrios( $expression ) {        }
		protected function compileInput( $expression ) {        }
		protected function compileFile( $expression ) {         }
		protected function compileImage( $expression ) {        }
		protected function compileTextArea( $expression ) {         }
		protected function compileHidden( $expression ) {       }
		protected function compileLabel( $expression ) {        }
		protected function compileCommandButton( $expression ) {        }
		protected function compileForm( $expression ) {         }
		protected function compileEndForm() {       }
		// </editor-fold>
		// <editor-fold desc="used function">
		public function select( $name, $value, $extra = '' ) {      }
		public function link( $url, $label, $extra = '' ) {         }
		/**
		 * Find an element in a array of arrays
		 * If the element doesn't exist in the array then it returns false, otherwise returns true
		 *
		 * @param string $find
		 * @param array  $array array of primitives or objects
		 * @param string $field field to search
		 * @return bool
		 */
		private function listboxesFindArray( $find, $array, $field ) {      }
		public function listboxes( $name, $allvalues, $fieldId, $fieldText, $selectedId, $extra = '' ) {        }
		public function selectGroup( $name, $extra = '' ) {         }
		public function radio( $id, $value = '', $text = '', $valueSelected = '', $extra = '' ) {       }
		/**
		 * @param             $id
		 * @param string       $value
		 * @param string       $text
		 * @param string|null  $valueSelected
		 * @param string|array $extra
		 * @return string
		 */
		public function checkbox( $id, $value = '', $text = '', $valueSelected = '', $extra = '' ) {        }
		/**
		 * @param string       $type         type of the current open tag
		 * @param array|string $valueId      if is an array then the first value is used as value, the second is used as
		 *                                   extra
		 * @param              $valueText
		 * @param array|string $selectedItem Item selected (optional)
		 * @param string       $wrapper      Wrapper of the element.  For example, <li>%s</li>
		 * @param string       $extra
		 * @return string
		 * @internal param string $fieldId Field of the id
		 * @internal param string $fieldText Field of the value visible
		 */
		public function item( $type, $valueId, $valueText, $selectedItem = '', $wrapper = '', $extra = '' ) {       }
		/**
		 * @param string       $type            type of the current open tag
		 * @param array        $arrValues       Array of objects/arrays to show.
		 * @param string       $fieldId         Field of the id (for arrValues)
		 * @param string       $fieldText       Field of the id of selectedItem
		 * @param array|string $selectedItem    Item selected (optional)
		 * @param string       $selectedFieldId field of the selected item.
		 * @param string       $wrapper         Wrapper of the element.  For example, <li>%s</li>
		 * @param string       $extra           (optional) is used for add additional information for the html object (such
		 *                                      as class)
		 * @return string
		 * @version 1.1 2017
		 */
		public function items( $type, $arrValues, $fieldId, $fieldText, $selectedItem = '', $selectedFieldId = '', $wrapper = '', $extra = '' ) {       }
		/**
		 * @param string       $type         type of the current open tag
		 * @param string       $valueId      value of the trio
		 * @param string       $valueText    visible value of the trio.
		 * @param string       $value3       extra third value for select value or visual
		 * @param array|string $selectedItem Item selected (optional)
		 * @param string       $wrapper      Wrapper of the element.  For example, <li>%s</li>
		 * @param string       $extra
		 * @return string
		 * @internal param string $fieldId Field of the id
		 * @internal param string $fieldText Field of the value visible
		 */
		public function trio( $type, $valueId, $valueText, $value3 = '', $selectedItem = '', $wrapper = '', $extra = '' ) {         }
		/**
		 * @param string       $type         type of the current open tag
		 * @param array        $arrValues    Array of objects/arrays to show.
		 * @param string       $fieldId      Field of the id
		 * @param string       $fieldText    Field of the value visible
		 * @param string       $fieldThird
		 * @param array|string $selectedItem Item selected (optional)
		 * @param string       $wrapper      Wrapper of the element.  For example, <li>%s</li>
		 * @param string       $extra        (optional) is used for add additional information for the html object (such as
		 *                                   class)
		 * @return string
		 * @version 1.0
		 */
		public function trios( $type, $arrValues, $fieldId, $fieldText, $fieldThird, $selectedItem = '', $wrapper = '', $extra = '' ) {         }
		protected $paginationStructure = array(
			'selHtml' => '<li class="selected" %3s><a href="%1s">%2s</a></li>',
			'html'    => '<li %3s><a href="%1s">%2s</a></li>',
			'maxItem' => 5,
			'url'     => '',
		);
		public function pagination( $id, $curPage, $maxPage, $baseUrl, $extra = '' ) {      }
		public function input( $id, $value = '', $type = 'text', $extra = '' ) {        }
		public function file( $id, $fullfilepath = '', $file = '', $extra = '' ) {      }
		public function textArea( $id, $value = '', $extra = '' ) {         }
		public function hidden( $id, $value = '', $extra = '' ) {       }
		public function label( $id, $value = '', $extra = '' ) {        }
		public function commandButton( $id, $value = '', $text = 'Button', $type = 'submit', $extra = '' ) {        }
		public function form( $action, $method = 'post', $extra = '' ) {        }
		// </editor-fold>
	}
	/**
	 * trait BladeOneHtmlBootstrap
	 * Copyright (c) 2016 Jorge Patricio Castro Castillo MIT License. Don't delete this comment, its part of the license.
	 * Extends the tags of the class BladeOne.  Its optional
	 * It adds the next tags
	 * <code>
	 * select:
	 * @ select('idCountry','value',[,$extra])
	 * @ item('0','--select a country'[,$extra])
	 * @ items($countries,'id','name',$currentCountry[,$extra])
	 * @ endselect()
	 * input:
	 * @ input('iduser',$currentUser,'text'[,$extra])
	 * button:
	 * @ commandbutton('idbutton','value','text'[,$extra])
	 *
	 * </code>
	 * Note. The names of the tags are based in Java Server Faces (JSF)
	 *
	 * @package  BladeOneHtmlBootstrap
	 * @version  1.9.1 2018-06-11 (1)
	 * @link     https://github.com/EFTEC/BladeOne
	 * @author   Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 * @deprecated use https://github.com/eftec/BladeOneHtml
	 */
	trait BladeOneHtmlBootstrap {

		use \eftec\bladeone\BladeOneHtml {
			\eftec\bladeone\BladeOneHtml::select as selectParent;
			\eftec\bladeone\BladeOneHtml::input as inputParent;
			\eftec\bladeone\BladeOneHtml::commandButton as commandButtonParent;
			\eftec\bladeone\BladeOneHtml::textArea as textAreaParent;
			\eftec\bladeone\BladeOneHtml::item as itemParent;
			\eftec\bladeone\BladeOneHtml::checkbox as checkboxParent;
			\eftec\bladeone\BladeOneHtml::compileEndCheckbox as compileEndCheckboxParent;
			\eftec\bladeone\BladeOneHtml::radio as radioParent;
			\eftec\bladeone\BladeOneHtml::compileEndRadio as compileEndRadioParent;
		}
		// <editor-fold desc="Override methods">
		public function select( $name, $value, $extra = '' ) {      }
		public function input( $id, $value = '', $type = 'text', $extra = '' ) {        }
		public function commandButton( $id, $value = '', $text = 'Button', $type = 'submit', $extra = '' ) {        }
		public function textArea( $id, $value = '', $extra = '' ) {         }
		public function file( $id, $fullfilepath = '', $file = '', $extra = '' ) {      }
		/**
		 * @param string $id           of the field
		 * @param string $fullfilepath full file path of the image
		 * @param string $file         filename of the file
		 * @param string $extra        extra field of the input file
		 * @return string html
		 */
		public function image( $id, $fullfilepath = '', $file = '', $extra = '' ) {         }
		/**
		 * @param string       $type         type of the current open tag
		 * @param array|string $valueId      if is an array then the first value is used as value, the second is used as
		 *                                   extra
		 * @param              $valueText
		 * @param array|string $selectedItem Item selected (optional)
		 * @param string       $wrapper      Wrapper of the element.  For example, <li>%s</li>
		 * @param string       $extra
		 * @return string
		 * @internal param string $fieldId Field of the id
		 * @internal param string $fieldText Field of the value visible
		 */
		public function item( $type, $valueId, $valueText, $selectedItem = '', $wrapper = '', $extra = '' ) {       }
		public function checkbox( $id, $value = '', $text = '', $valueSelected = '', $extra = '' ) {        }
		public function radio( $id, $value = '', $text = '', $valueSelected = '', $extra = '' ) {       }
		public function compileEndCheckbox() {      }
		public function compileEndRadio() {         }
		// </editor-fold>
		// <editor-fold desc="Misc members">
		/**
		 * It adds a class to a html tag parameter
		 *
		 * @example addClass('type="text" class="btn","btn-standard")
		 * @param string|array $txt
		 * @param string       $newclass The class(es) to add, example "class1" or "class1 class"
		 * @return string|array
		 */
		protected function addClass( $txt, $newclass ) {        }
		protected function separatesParam( $txt ) {         }
		// </editor-fold>
	}
	trait BladeOneCacheRedis {

		protected $curCacheId       = 0;
		protected $curCacheDuration = '';
		protected $curCachePosition = 0;
		protected $cacheRunning     = false;
		/** @var \Redis $redis */
		protected $redis;
		protected $redisIP        = '127.0.0.1';
		protected $redisPort      = 6379;
		protected $redisTimeOut   = 2.5;
		protected $redisConnected = false;
		protected $redisNamespace = 'bladeonecache:';
		protected $redisBase      = 0;
		private $cacheExpired     = array();
		// avoids to compare the file different times.
		// <editor-fold desc="compile">
		public function compileCache( $expression ) {       }
		public function compileEndCache( $expression ) {        }
		// </editor-fold>
		public function connect( $redisIP = null, $redisPort = null, $redisTimeOut = null ) {       }
		/**
		 * Returns true if the cache expired (or doesn't exist), otherwise false.
		 *
		 * @param string $templateName  name of the template to use (such hello for template hello.blade.php)
		 * @param string $id            (id of cache, optional, if not id then it adds automatically a number)
		 * @param int    $scope         scope of the cache.
		 * @param int    $cacheDuration (duration of the cache in seconds)
		 * @return bool (return if the cache expired)
		 */
		public function cacheExpired( $templateName, $id, $scope, $cacheDuration ) {        }
		public function cacheStart( $id = '', $cacheDuration = 86400 ) {        }
		public function cacheEnd() {        }
		private function keyByScope( $scope ) {         }
	}
	/**
	 * trait BladeOneCache
	 * Copyright (c) 2016 Jorge Patricio Castro Castillo MIT License. Don't delete this comment, its part of the license.
	 * Extends the tags of the class BladeOne.  Its optional
	 * It adds the next tags to the template
	 * <code>
	 * @ cache([cacheid],[duration=86400]).  The id is optional. The duration of the cache is in seconds
	 * // content here
	 * @ endcache()
	 * </code>
	 * It also adds a new function (optional) to the business or logic layer
	 * <code>
	 * if ($blade->cacheExpired('hellocache',1,5)) {   //'helloonecache' =template, =1 id cache, 5=duration (seconds)
	 *    // cache expired, so we should do some stuff (such as read from the database)
	 * }
	 * </code>
	 *
	 * @package  BladeOneCache
	 * @version  3.42 2020-04-25
	 * @link     https://github.com/EFTEC/BladeOne
	 * @author   Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 */
	trait BladeOneCache {

		protected $curCacheId       = 0;
		protected $curCacheDuration = 0;
		protected $curCachePosition = 0;
		protected $cacheRunning     = false;
		protected $cachePageRunning = false;
		protected $cacheLog;
		/**
		 * @var array avoids to compare the file different times. It also avoids race conditions.
		 */
		private $cacheExpired = array();
		/**
		 * @var string=['get','post','getpost','request',null][$i]
		 */
		private $cacheStrategy;
		/** @var array|null  */
		private $cacheStrategyIndex;
		/**
		 * @return null|string $cacheStrategy=['get','post','getpost','request',null][$i]
		 */
		public function getCacheStrategy() {        }
		/**
		 * It sets the cache log. If not cache log then it does not generates a log file<br>
		 * The cache log stores each time a template is creates or expired.<br>
		 *
		 * @param string $file
		 */
		public function setCacheLog( $file ) {      }
		public function writeCacheLog( $txt, $nivel ) {         }
		/**
		 * It sets the strategy of the cache page.
		 *
		 * @param null|string $cacheStrategy =['get','post','getpost','request',null][$i]
		 * @param array|null  $index if null then it reads all indexes. If not, it reads a indexes.
		 */
		public function setCacheStrategy( $cacheStrategy, $index = null ) {         }
		/**
		 * It obtains an unique GUID based in:<br>
		 * <b>get</b>= parameters from the url<br>
		 * <b>post</b>= parameters sends via post<br>
		 * <b>getpost</b> = a mix between get and post<br>
		 * <b>request</b> = get, post and cookies (including sessions)<br>
		 * MD5 could generate colisions (2^64 = 18,446,744,073,709,551,616) but the end hash is the sum of the hash of
		 * the page + this GUID.
		 *
		 * @param bool $serialize if true then it serializes using md5
		 * @return string
		 */
		private function cacheUniqueGUID( $serialize = true ) {         }
		public function compileCache( $expression ) {       }
		public function compileEndCache( $expression ) {        }
		/**
		 * It get the filename of the compiled file (cached). If cache is not enabled, then it
		 * returns the regular file.
		 *
		 * @param string $view
		 * @return string The full filename
		 */
		private function getCompiledFileCache( $view ) {        }
		/**
		 * run the blade engine. It returns the result of the code.
		 *
		 * @param string $view The name of the cache. Ex: "folder.folder.view" ("/folder/folder/view.blade")
		 * @param array  $variables An associative arrays with the values to display.
		 * @param int    $ttl time to live (in second).
		 * @return string
		 */
		public function runCache( $view, $variables = array(), $ttl = 86400 ) {         }
		/**
		 * Returns true if the block cache expired (or doesn't exist), otherwise false.
		 *
		 * @param string $templateName name of the template to use (such hello for template hello.blade.php)
		 * @param string $id (id of cache, optional, if not id then it adds automatically a number)
		 * @param int    $cacheDuration (duration of the cache in seconds)
		 * @return int 0=cache exists, 1= cache expired, 2=not exists, string= the cache file (if any)
		 */
		public function cacheExpired( $templateName, $id, $cacheDuration ) {        }
		/**
		 * It returns true if the whole page expired.
		 *
		 * @param string $templateName
		 * @param int    $cacheDuration is seconds.
		 * @return int 0=cache exists, 1= cache expired, 2=not exists, string= the cache content (if any)
		 */
		public function cachePageExpired( $templateName, $cacheDuration ) {         }
		/**
		 * This method is used by cacheExpired() and cachePageExpired()
		 *
		 * @param string $compiledFile
		 * @param int    $cacheDuration is seconds.
		 * @return int|mixed 0=cache exists, 1= cache expired, 2=not exists, string= the cache content (if any)
		 */
		private function cacheExpiredInt( $compiledFile, $cacheDuration ) {         }
		public function cacheStart( $id = '', $cacheDuration = 86400 ) {        }
		public function cacheEnd( $txt = null ) {       }
	}
	/**
	 * BladeOne - A Blade Template implementation in a single file
	 *
	 * @package   BladeOne
	 * @author    Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 * @copyright Copyright (c) 2016-2021 Jorge Patricio Castro Castillo MIT License.
	 *            Don't delete this comment, its part of the license.
	 *            Part of this code is based in the work of Laravel PHP Components.
	 * @version   3.52
	 * @link      https://github.com/EFTEC/BladeOne
	 */
	class BladeOne {

		// <editor-fold desc="fields">
		/** @var int BladeOne reads if the compiled file has changed. If has changed,then the file is replaced. */
		const MODE_AUTO = 0;
		/** @var int Then compiled file is always replaced. It's slow and it's useful for development. */
		const MODE_SLOW = 1;
		/** @var int The compiled file is never replaced. It's fast and it's useful for production. */
		const MODE_FAST = 2;
		/** @var int DEBUG MODE, the file is always compiled and the filename is identifiable. */
		const MODE_DEBUG = 5;
		/** @var array Hold dictionary of translations */
		public static $dictionary = array();
		/** @var string PHP tag. You could use < ?php or < ? (if shorttag is active in php.ini) */
		public $phpTag = '<?php ';
		// hello hello hello.
		public $phpTagEcho = '<?php echo ';
		/** @var string $currentUser Current user. Example: john */
		public $currentUser;
		/** @var string $currentRole Current role. Example: admin */
		public $currentRole;
		/** @var string[] $currentPermission Current permission. Example ['edit','add'] */
		public $currentPermission = array();
		/** @var callable callback of validation. It is used for @can,@cannot */
		public $authCallBack;
		/** @var callable callback of validation. It is used for @canany */
		public $authAnyCallBack;
		/** @var callable callback of errors. It is used for @error */
		public $errorCallBack;
		/** @var bool if true then if the operation fails and it is critic, then it throws an error */
		public $throwOnError = false;
		/** @var string security token */
		public $csrf_token = '';
		/** @var string The path to the missing translations log file. If empty then every missing key is not saved. */
		public $missingLog = '';
		public $pipeEnable = false;
		/** @var array Alias (with or without namespace) of the classes) */
		public $aliasClasses = array();
		/**
		 * @var bool if true then the variables defined in the include as argumentsare scoped to work only
		 * inside the include.<br>
		 * If false (default value), then the variables defined in the include as arguments are defined globally.<br>
		 * <b>Example: (includeScope=false)</b><br>
		 * <pre>
		 * @include("template",['a1'=>'abc']) // a1 is equals to abc
		 * @include("template",[]) // a1 is equals to abc
		 * </pre>
		 * <b>Example: (includeScope=true)</b><br>
		 * <pre>
		 * @include("template",['a1'=>'abc']) // a1 is equals to abc
		 * @include("template",[]) // a1 is not defined
		 * </pre>
		 */
		public $includeScope = false;
		/**
		 * @var callable[] It allows to parse the compiled output using a function.
		 * This function doesn't require to return a value<br>
		 * <b>Example:</b> this converts all compiled result in uppercase (note, content is a ref)
		 * <pre>
		 * $this->compileCallbacks[]= static function (&$content, $templatename=null) {
		 *      $content=strtoupper($content);
		 * };
		 * </pre>
		 */
		public $compileCallbacks = array();
		/** @var array All of the registered extensions. */
		protected $extensions = array();
		/** @var array All of the finished, captured sections. */
		protected $sections = array();
		/** @var string The template currently being compiled. For example "folder.template" */
		protected $fileName;
		protected $currentView;
		protected $notFoundPath;
		/** @var string File extension for the template files. */
		protected $fileExtension = '.blade.php';
		/** @var array The stack of in-progress sections. */
		protected $sectionStack = array();
		/** @var array The stack of in-progress loops. */
		protected $loopsStack = array();
		/** @var array Dictionary of variables */
		protected $variables = array();
		/** @var null Dictionary of global variables */
		protected $variablesGlobal = array();
		/** @var array All of the available compiler functions. */
		protected $compilers = array( 'Extensions', 'Statements', 'Comments', 'Echos' );
		/** @var string|null it allows to sets the stack */
		protected $viewStack;
		/** @var array used by $this->composer() */
		protected $composerStack = array();
		/** @var array The stack of in-progress push sections. */
		protected $pushStack = array();
		/** @var array All of the finished, captured push sections. */
		protected $pushes = array();
		/** @var int The number of active rendering operations. */
		protected $renderCount = 0;
		/** @var string[] Get the template path for the compiled views. */
		protected $templatePath;
		/** @var string Get the compiled path for the compiled views. If null then it uses the default path */
		protected $compiledPath;
		/** @var string the extension of the compiled file. */
		protected $compileExtension = '.bladec';
		/** @var array Custom "directive" dictionary. Those directives run at compile time. */
		protected $customDirectives = array();
		/** @var bool[] Custom directive dictionary. Those directives run at runtime. */
		protected $customDirectivesRT = array();
		/** @var callable Function used for resolving injected classes. */
		protected $injectResolver;
		/** @var array Used for conditional if. */
		protected $conditions = array();
		/** @var int Unique counter. It's used for extends */
		protected $uidCounter = 0;
		/** @var string The main url of the system. Don't use raw $_SERVER values unless the value is sanitized */
		protected $baseUrl = '.';
		/** @var string|null The base domain of the system */
		protected $baseDomain;
		/** @var string|null It stores the current canonical url. */
		protected $canonicalUrl;
		/** @var string|null It stores the current url including arguments */
		protected $currentUrl;
		/** @var string it is a relative path calculated between baseUrl and the current url. Example ../../ */
		protected $relativePath = '';
		/** @var string[] Dictionary of assets */
		protected $assetDict;
		/** @var bool if true then it removes tabs and unneeded spaces */
		protected $optimize = true;
		/** @var bool if false, then the template is not compiled (but executed on memory). */
		protected $isCompiled = true;
		/** @var bool */
		protected $isRunFast = false;
		// stored for historical purpose.
		/** @var array Array of opening and closing tags for raw echos. */
		protected $rawTags = array( '{!!', '!!}' );
		/** @var array Array of opening and closing tags for regular echos. */
		protected $contentTags = array( '{{', '}}' );
		/** @var array Array of opening and closing tags for escaped echos. */
		protected $escapedTags = array( '{{{', '}}}' );
		/** @var string The "regular" / legacy echo string format. */
		protected $echoFormat    = '\\htmlentities(%s, ENT_QUOTES, \'UTF-8\', false)';
		protected $echoFormatOld = 'static::e(%s)';
		/** @var array Lines that will be added at the footer of the template */
		protected $footer = array();
		/** @var string Placeholder to temporary mark the position of verbatim blocks. */
		protected $verbatimPlaceholder = '$__verbatim__$';
		/** @var array Array to temporary store the verbatim blocks found in the template. */
		protected $verbatimBlocks = array();
		/** @var int Counter to keep track of nested forelse statements. */
		protected $forelseCounter = 0;
		/** @var array The components being rendered. */
		protected $componentStack = array();
		/** @var array The original data passed to the component. */
		protected $componentData = array();
		/** @var array The slot contents for the component. */
		protected $slots = array();
		/** @var array The names of the slots being rendered. */
		protected $slotStack = array();
		/** @var string tag unique */
		protected $PARENTKEY = '@parentXYZABC';
		/**
		 * Indicates the compile mode.
		 * if the constant BLADEONE_MODE is defined, then it is used instead of this field.
		 *
		 * @var int=[BladeOne::MODE_AUTO,BladeOne::MODE_DEBUG,BladeOne::MODE_SLOW,BladeOne::MODE_FAST][$i]
		 */
		protected $mode;
		// </editor-fold>
		// <editor-fold desc="constructor">
		/**
		 * Bob the constructor.
		 * The folder at $compiledPath is created in case it doesn't exist.
		 *
		 * @param string|array $templatePath If null then it uses (caller_folder)/views
		 * @param string       $compiledPath If null then it uses (caller_folder)/compiles
		 * @param int          $mode         =[BladeOne::MODE_AUTO,BladeOne::MODE_DEBUG,BladeOne::MODE_FAST,BladeOne::MODE_SLOW][$i]
		 */
		public function __construct( $templatePath = null, $compiledPath = null, $mode = 0 ) {      }
		// </editor-fold>
		// <editor-fold desc="common">
		/**
		 * Show an error in the web.
		 *
		 * @param string $id          Title of the error
		 * @param string $text        Message of the error
		 * @param bool   $critic      if true then the compilation is ended, otherwise it continues
		 * @param bool   $alwaysThrow if true then it always throw a runtime exception.
		 * @return string
		 * @throws \RuntimeException
		 */
		public function showError( $id, $text, $critic = false, $alwaysThrow = false ) {        }
		/**
		 * Escape HTML entities in a string.
		 *
		 * @param string $value
		 * @return string
		 */
		public static function e( $value ) {        }
		protected static function convertArgCallBack( $k, $v ) {        }
		/**
		 * @param mixed|\DateTime $variable
		 * @param string|null     $format
		 * @return string
		 */
		public function format( $variable, $format = null ) {       }
		/**
		 * It converts a text into a php code with echo<br>
		 * <b>Example:</b><br>
		 * <pre>
		 * $this->wrapPHP('$hello'); // "< ?php echo $this->e($hello); ? >"
		 * $this->wrapPHP('$hello',''); // < ?php echo $this->e($hello); ? >
		 * $this->wrapPHP('$hello','',false); // < ?php echo $hello; ? >
		 * $this->wrapPHP('"hello"'); // "< ?php echo $this->e("hello"); ? >"
		 * $this->wrapPHP('hello()'); // "< ?php echo $this->e(hello()); ? >"
		 * </pre>
		 *
		 * @param string $input The input value
		 * @param string $quote The quote used (to quote the result)
		 * @param bool   $parse If the result will be parsed or not. If false then it's returned without $this->e
		 * @return string
		 */
		public function wrapPHP( $input, $quote = '"', $parse = true ) {        }
		/**
		 * Returns true if the text is surrounded by quotes (double or single quote)
		 *
		 * @param string|null $text
		 * @return bool
		 */
		public function isQuoted( $text ) {         }
		/**
		 * Escape HTML entities in a string.
		 *
		 * @param string $value
		 * @return string
		 */
		public static function enq( $value ) {      }
		/**
		 * @param string      $view  example "folder.template"
		 * @param string|null $alias example "mynewop". If null then it uses the name of the template.
		 */
		public function addInclude( $view, $alias = null ) {        }
		/**
		 * Register a handler for custom directives.
		 *
		 * @param string   $name
		 * @param callable $handler
		 * @return void
		 */
		public function directive( $name, callable $handler ) {         }
		/**
		 * Strip the parentheses from the given expression.
		 *
		 * @param string $expression
		 * @return string
		 */
		public function stripParentheses( $expression ) {       }
		/**
		 * Determine if a given string starts with a given substring.
		 *
		 * @param string       $haystack
		 * @param string|array $needles
		 * @return bool
		 */
		public static function startsWith( $haystack, $needles ) {      }
		/**
		 * If false then the file is not compiled and it is executed directly from the memory.<br>
		 * By default the value is true<br>
		 * It also sets the mode to MODE_SLOW
		 *
		 * @param bool $bool
		 * @return BladeOne
		 * @see \eftec\bladeone\BladeOne::setMode
		 */
		public function setIsCompiled( $bool = false ) {        }
		/**
		 * It sets the template and compile path (without trailing slash).
		 * <p>Example:setPath("somefolder","otherfolder");
		 *
		 * @param null|string|string[] $templatePath If null then it uses the current path /views folder
		 * @param null|string          $compiledPath If null then it uses the current path /views folder
		 */
		public function setPath( $templatePath, $compiledPath ) {       }
		/**
		 * @return array
		 */
		public function getAliasClasses() {         }
		/**
		 * @param array $aliasClasses
		 */
		public function setAliasClasses( $aliasClasses ) {      }
		/**
		 * @param string $aliasName
		 * @param string $classWithNS
		 */
		public function addAliasClasses( $aliasName, $classWithNS ) {       }
		// </editor-fold>
		// <editor-fold desc="compile">
		/**
		 * Authentication. Sets with a user,role and permission
		 *
		 * @param string $user
		 * @param null   $role
		 * @param array  $permission
		 */
		public function setAuth( $user = '', $role = null, $permission = array() ) {        }
		/**
		 * run the blade engine. It returns the result of the code.
		 *
		 * @param string HTML to parse
		 * @param array                $data
		 * @return string
		 * @throws Exception
		 */
		public function runString( $string, $data = array() ) {         }
		/**
		 * Compile the given Blade template contents.
		 *
		 * @param string $value
		 * @return string
		 */
		public function compileString( $value ) {       }
		/**
		 * Store the verbatim blocks and replace them with a temporary placeholder.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function storeVerbatimBlocks( $value ) {      }
		/**
		 * Parse the tokens from the template.
		 *
		 * @param array $token
		 *
		 * @return string
		 *
		 * @see \eftec\bladeone\BladeOne::compileStatements
		 * @see \eftec\bladeone\BladeOne::compileExtends
		 * @see \eftec\bladeone\BladeOne::compileComments
		 * @see \eftec\bladeone\BladeOne::compileEchos
		 */
		protected function parseToken( $token ) {       }
		/**
		 * Replace the raw placeholders with the original code stored in the raw blocks.
		 *
		 * @param string $result
		 * @return string
		 */
		protected function restoreVerbatimBlocks( $result ) {       }
		/**
		 * it calculates the relative path of a web.<br>
		 * This function uses the current url and the baseurl
		 *
		 * @param string $relativeWeb . Example img/images.jpg
		 * @return string  Example ../../img/images.jpg
		 */
		public function relative( $relativeWeb ) {      }
		/**
		 * It add an alias to the link of the resources.<br>
		 * addAssetDict('name','url/res.jpg')<br>
		 * addAssetDict(['name'=>'url/res.jpg','name2'=>'url/res2.jpg');
		 *
		 * @param string|array $name example 'css/style.css', you could also add an array
		 * @param string       $url  example https://www.web.com/style.css'
		 */
		public function addAssetDict( $name, $url = '' ) {      }
		/**
		 * Compile the push statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		public function compilePush( $expression ) {        }
		/**
		 * Compile the push statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		public function compilePushOnce( $expression ) {        }
		/**
		 * Compile the push statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		public function compilePrepend( $expression ) {         }
		/**
		 * Start injecting content into a push section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		public function startPush( $section, $content = '' ) {      }
		/*
		 * endswitch tag
		 */
		/**
		 * Append content to a given push section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		protected function extendPush( $section, $content ) {       }
		/**
		 * Start injecting content into a push section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		public function startPrepend( $section, $content = '' ) {       }
		/**
		 * Stop injecting content into a push section.
		 *
		 * @return string
		 */
		public function stopPush() {        }
		/**
		 * Stop injecting content into a push section.
		 *
		 * @return string
		 */
		public function stopPrepend() {         }
		/**
		 * Append content to a given push section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		protected function extendStartPush( $section, $content ) {      }
		/**
		 * Get the string contents of a push section.
		 *
		 * @param string $section
		 * @param string $default
		 * @return string
		 */
		public function yieldPushContent( $section, $default = '' ) {       }
		/**
		 * Get the string contents of a push section.
		 *
		 * @param int|string $each if int, then it split the foreach every $each numbers.<br>
		 *                         if string, "c3" it means that it will split in 3 columns<br>
		 * @param string     $splitText
		 * @param string     $splitEnd
		 * @return string
		 */
		public function splitForeach( $each = 1, $splitText = ',', $splitEnd = '' ) {       }
		/**
		 * Return the last element in an array passing a given truth test.
		 *
		 * @param array         $array
		 * @param callable|null $callback
		 * @param mixed         $default
		 * @return mixed
		 */
		public static function last( $array, callable $callback = null, $default = null ) {         }
		/**
		 * Return the default value of the given value.
		 *
		 * @param mixed $value
		 * @return mixed
		 */
		public static function value( $value ) {        }
		/**
		 * Return the first element in an array passing a given truth test.
		 *
		 * @param array         $array
		 * @param callable|null $callback
		 * @param mixed         $default
		 * @return mixed
		 */
		public static function first( $array, callable $callback = null, $default = null ) {        }
		/**
		 * @param string  $name
		 * @param        $args []
		 * @return string
		 * @throws BadMethodCallException
		 */
		public function __call( $name, $args ) {        }
		/**
		 * Register an "if" statement directive.
		 *
		 * @param string   $name
		 * @param callable $callback
		 * @return string
		 */
		public function registerIfStatement( $name, callable $callback ) {      }
		/**
		 * Check the result of a condition.
		 *
		 * @param string $name
		 * @param array  $parameters
		 * @return bool
		 */
		public function check( $name, ...$parameters ) {        }
		/**
		 * @param bool   $bool
		 * @param string $view  name of the view
		 * @param array  $value arrays of values
		 * @return string
		 * @throws Exception
		 */
		public function includeWhen( $bool = false, $view = '', $value = array() ) {        }
		/**
		 * Macro of function run
		 *
		 * @param       $view
		 * @param array $variables
		 * @return string
		 * @throws Exception
		 */
		public function runChild( $view, $variables = array() ) {       }
		protected function evalComposer( $view ) {      }
		/**
		 * It compares with wildcards (*) and returns true if both strings are equals<br>
		 * The wildcards only works at the beginning and/or at the end of the string.<br>
		 * <b>Example:<b><br>
		 * <pre>
		 * Text::wildCardComparison('abcdef','abc*'); // true
		 * Text::wildCardComparison('abcdef','*def'); // true
		 * Text::wildCardComparison('abcdef','*abc*'); // true
		 * Text::wildCardComparison('abcdef','*cde*'); // true
		 * Text::wildCardComparison('abcdef','*cde'); // false
		 *
		 * </pre>
		 *
		 * @param string      $text
		 * @param string|null $textWithWildcard
		 *
		 * @return bool
		 */
		protected function wildCardComparison( $text, $textWithWildcard ) {         }
		protected function methodExistsStatic( $class, $method ) {      }
		/**
		 * Compile the view at the given path.
		 *
		 * @param string $templateName The name of the template. Example folder.template
		 * @param bool   $forced       If the compilation will be forced (always compile) or not.
		 * @return boolean|string True if the operation was correct, or false (if not exception)
		 *                             if it fails. It returns a string (the content compiled) if isCompiled=false
		 * @throws Exception
		 */
		public function compile( $templateName = null, $forced = false ) {      }
		/**
		 * Get the full path of the compiled file.
		 *
		 * @param string $templateName
		 * @return string
		 */
		public function getCompiledFile( $templateName = '' ) {         }
		/**
		 * Get the mode of the engine.See BladeOne::MODE_* constants
		 *
		 * @return int=[self::MODE_AUTO,self::MODE_DEBUG,self::MODE_FAST,self::MODE_SLOW][$i]
		 */
		public function getMode() {         }
		/**
		 * Set the compile mode
		 *
		 * @param mode int=[self::MODE_AUTO,self::MODE_DEBUG,self::MODE_FAST,self::MODE_SLOW][ $i]
		 * @return void
		 */
		public function setMode( $mode ) {      }
		/**
		 * Get the full path of the template file.
		 * <p>Example: getTemplateFile('.abc.def')</p>
		 *
		 * @param string $templateName template name. If not template is set then it uses the base template.
		 * @return string
		 */
		public function getTemplateFile( $templateName = '' ) {         }
		/**
		 * Get the contents of a file.
		 *
		 * @param string $fullFileName It gets the content of a filename or returns ''.
		 *
		 * @return string
		 */
		public function getFile( $fullFileName ) {      }
		protected function compileCallBacks( &$contents, $templateName ) {      }
		/**
		 * Determine if the view has expired.
		 *
		 * @param string|null $fileName
		 * @return bool
		 */
		public function isExpired( $fileName ) {        }
		/**
		 * Evaluates a text (string) using the current variables
		 *
		 * @param string $content
		 * @param array  $variables
		 * @return string
		 * @throws Exception
		 */
		protected function evaluateText( $content, $variables ) {       }
		/**
		 * Handle a view exception.
		 *
		 * @param Exception $e
		 * @return void
		 * @throws $e
		 */
		protected function handleViewException( $e ) {      }
		/**
		 * Evaluates a compiled file using the current variables
		 *
		 * @param string $compiledFile full path of the compile file.
		 * @param array  $variables
		 * @return string
		 * @throws Exception
		 */
		protected function evaluatePath( $compiledFile, $variables ) {      }
		/**
		 * @param array $views array of views
		 * @param array $value
		 * @return string
		 * @throws Exception
		 */
		public function includeFirst( $views = array(), $value = array() ) {        }
		/**
		 * Convert an array such as ["class1"=>"myclass","style="mystyle"] to class1='myclass' style='mystyle' string
		 *
		 * @param array|string $array array to convert
		 * @return string
		 */
		public function convertArg( $array ) {      }
		/**
		 * Returns the current token. if there is not a token then it generates a new one.
		 * It could require an open session.
		 *
		 * @param bool   $fullToken It returns a token with the current ip.
		 * @param string $tokenId   [optional] Name of the token.
		 *
		 * @return string
		 */
		public function getCsrfToken( $fullToken = false, $tokenId = '_token' ) {       }
		/**
		 * Regenerates the csrf token and stores in the session.
		 * It requires an open session.
		 *
		 * @param string $tokenId [optional] Name of the token.
		 */
		public function regenerateToken( $tokenId = '_token' ) {        }
		public function ipClient() {        }
		/**
		 * Validates if the csrf token is valid or not.<br>
		 * It requires an open session.
		 *
		 * @param bool   $alwaysRegenerate [optional] Default is false.<br>
		 *                                 If <b>true</b> then it will generate a new token regardless
		 *                                 of the method.<br>
		 *                                 If <b>false</b>, then it will generate only if the method is POST.<br>
		 *                                 Note: You must not use true if you want to use csrf with AJAX.
		 *
		 * @param string $tokenId          [optional] Name of the token.
		 *
		 * @return bool It returns true if the token is valid or it is generated. Otherwise, false.
		 */
		public function csrfIsValid( $alwaysRegenerate = false, $tokenId = '_token' ) {         }
		/**
		 * Stop injecting content into a section and return its contents.
		 *
		 * @return string
		 */
		public function yieldSection() {        }
		/**
		 * Stop injecting content into a section.
		 *
		 * @param bool $overwrite
		 * @return string
		 */
		public function stopSection( $overwrite = false ) {         }
		/**
		 * Append content to a given section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		protected function extendSection( $section, $content ) {        }
		public function dump( $object, $jsconsole = false ) {       }
		/**
		 * Start injecting content into a section.
		 *
		 * @param string $section
		 * @param string $content
		 * @return void
		 */
		public function startSection( $section, $content = '' ) {       }
		/**
		 * Stop injecting content into a section and append it.
		 *
		 * @return string
		 * @throws InvalidArgumentException
		 */
		public function appendSection() {       }
		/**
		 * Adds a global variable. If <b>$varname</b> is an array then it merges all the values.
		 * <b>Example:</b>
		 * <pre>
		 * $this->share('variable',10.5);
		 * $this->share('variable2','hello');
		 * // or we could add the two variables as:
		 * $this->share(['variable'=>10.5,'variable2'=>'hello']);
		 * </pre>
		 *
		 * @param string|array $varname It is the name of the variable or it is an associative array
		 * @param mixed        $value
		 * @return $this
		 * @see \eftec\bladeone\BladeOne::share
		 */
		public function with( $varname, $value = null ) {       }
		/**
		 * Adds a global variable. If <b>$varname</b> is an array then it merges all the values.
		 * <b>Example:</b>
		 * <pre>
		 * $this->share('variable',10.5);
		 * $this->share('variable2','hello');
		 * // or we could add the two variables as:
		 * $this->share(['variable'=>10.5,'variable2'=>'hello']);
		 * </pre>
		 *
		 * @param string|array $varname It is the name of the variable or it is an associative array
		 * @param mixed        $value
		 * @return $this
		 */
		public function share( $varname, $value = null ) {      }
		/**
		 * Get the string contents of a section.
		 *
		 * @param string $section
		 * @param string $default
		 * @return string
		 */
		public function yieldContent( $section, $default = '' ) {       }
		/**
		 * Register a custom Blade compiler.
		 *
		 * @param callable $compiler
		 * @return void
		 */
		public function extend( callable $compiler ) {      }
		/**
		 * Register a handler for custom directives for run at runtime
		 *
		 * @param string   $name
		 * @param callable $handler
		 * @return void
		 */
		public function directiveRT( $name, callable $handler ) {       }
		/**
		 * Sets the escaped content tags used for the compiler.
		 *
		 * @param string $openTag
		 * @param string $closeTag
		 * @return void
		 */
		public function setEscapedContentTags( $openTag, $closeTag ) {      }
		/**
		 * Gets the content tags used for the compiler.
		 *
		 * @return array
		 */
		public function getContentTags() {      }
		/**
		 * Sets the content tags used for the compiler.
		 *
		 * @param string $openTag
		 * @param string $closeTag
		 * @param bool   $escaped
		 * @return void
		 */
		public function setContentTags( $openTag, $closeTag, $escaped = false ) {       }
		/**
		 * Gets the tags used for the compiler.
		 *
		 * @param bool $escaped
		 * @return array
		 */
		protected function getTags( $escaped = false ) {        }
		/**
		 * Gets the escaped content tags used for the compiler.
		 *
		 * @return array
		 */
		public function getEscapedContentTags() {       }
		/**
		 * Sets the function used for resolving classes with inject.
		 *
		 * @param callable $function
		 */
		public function setInjectResolver( callable $function ) {       }
		/**
		 * Get the file extension for template files.
		 *
		 * @return string
		 */
		public function getFileExtension() {        }
		/**
		 * Set the file extension for the template files.
		 * It must includes the leading dot e.g. .blade.php
		 *
		 * @param string $fileExtension Example: .prefix.ext
		 */
		public function setFileExtension( $fileExtension ) {        }
		/**
		 * Get the file extension for template files.
		 *
		 * @return string
		 */
		public function getCompiledExtension() {        }
		/**
		 * Set the file extension for the compiled files.
		 * Including the leading dot for the extension is required, e.g. .bladec
		 *
		 * @param $fileExtension
		 */
		public function setCompiledExtension( $fileExtension ) {        }
		/**
		 * Add new loop to the stack.
		 *
		 * @param array|Countable $data
		 * @return void
		 */
		public function addLoop( $data ) {      }
		/**
		 * Increment the top loop's indices.
		 *
		 * @return object
		 */
		public function incrementLoopIndices() {        }
		/**
		 * Pop a loop from the top of the loop stack.
		 *
		 * @return void
		 */
		public function popLoop() {         }
		/**
		 * Get an instance of the first loop in the stack.
		 *
		 * @return object
		 */
		public function getFirstLoop() {        }
		/**
		 * Get the rendered contents of a partial from a loop.
		 *
		 * @param string $view
		 * @param array  $data
		 * @param string $iterator
		 * @param string $empty
		 * @return string
		 * @throws Exception
		 */
		public function renderEach( $view, $data, $iterator, $empty = 'raw|' ) {        }
		/**
		 * Run the blade engine. It returns the result of the code.
		 *
		 * @param string|null $view      The name of the cache. Ex: "folder.folder.view" ("/folder/folder/view.blade")
		 * @param array       $variables An associative arrays with the values to display.
		 * @return string
		 * @throws Exception
		 */
		public function run( $view = null, $variables = array() ) {         }
		/**
		 * It sets the current view<br>
		 * This value is cleared when it is used (method run).<br>
		 * <b>Example:<b><br>
		 * <pre>
		 * $this->setView('folder.view')->share(['var1'=>20])->run(); // or $this->run('folder.view',['var1'=>20]);
		 * </pre>
		 *
		 * @param string $view
		 * @return BladeOne
		 */
		public function setView( $view ) {      }
		/**
		 * It injects a function, an instance, or a method class when a view is called.<br>
		 * It could be stacked.   If it sets null then it clears all definitions.
		 * <b>Example:<b><br>
		 * <pre>
		 * $this->composer('folder.view',function($bladeOne) { $bladeOne->share('newvalue','hi there'); });
		 * $this->composer('folder.view','namespace1\namespace2\SomeClass'); // SomeClass must exists and it must has the
		 *                                                                   // method 'composer'
		 * $this->composer('folder.*',$instance); // $instance must has the method called 'composer'
		 * $this->composer(); // clear all composer.
		 * </pre>
		 *
		 * @param string|array|null    $view It could contains wildcards (*). Example: 'aa.bb.cc','*.bb.cc','aa.bb.*','*.bb.*'
		 *
		 * @param callable|string|null $functionOrClass
		 * @return BladeOne
		 */
		public function composer( $view = null, $functionOrClass = null ) {         }
		/**
		 * Start a component rendering process.
		 *
		 * @param string $name
		 * @param array  $data
		 * @return void
		 */
		public function startComponent( $name, array $data = array() ) {        }
		/**
		 * Get the index for the current component.
		 *
		 * @return int
		 */
		protected function currentComponent() {         }
		/**
		 * Render the current component.
		 *
		 * @return string
		 * @throws Exception
		 */
		public function renderComponent() {         }
		/**
		 * Get the data for the given component.
		 *
		 * @return array
		 */
		protected function componentData() {        }
		/**
		 * Start the slot rendering process.
		 *
		 * @param string      $name
		 * @param string|null $content
		 * @return void
		 */
		public function slot( $name, $content = null ) {        }
		/**
		 * Save the slot content for rendering.
		 *
		 * @return void
		 */
		public function endSlot() {         }
		/**
		 * @return string
		 */
		public function getPhpTag() {       }
		/**
		 * @param string $phpTag
		 */
		public function setPhpTag( $phpTag ) {      }
		/**
		 * @return string
		 */
		public function getCurrentUser() {      }
		/**
		 * @param string $currentUser
		 */
		public function setCurrentUser( $currentUser ) {        }
		/**
		 * @return string
		 */
		public function getCurrentRole() {      }
		/**
		 * @param string $currentRole
		 */
		public function setCurrentRole( $currentRole ) {        }
		/**
		 * @return string[]
		 */
		public function getCurrentPermission() {        }
		/**
		 * @param string[] $currentPermission
		 */
		public function setCurrentPermission( $currentPermission ) {        }
		/**
		 * Returns the current base url without trailing slash.
		 *
		 * @return string
		 */
		public function getBaseUrl() {      }
		/**
		 * It sets the base url and it also calculates the relative path.<br>
		 * The base url defines the "root" of the project, not always the level of the domain but it could be
		 * any folder.<br>
		 * This value is used to calculate the relativity of the resources but it is also used to set the domain.<br>
		 * <b>Note:</b> The trailing slash is removed automatically if it's present.<br>
		 * <b>Note:</b> We should not use arguments or name of the script.<br>
		 * <b>Examples:</b><br>
		 * <pre>
		 * $this->setBaseUrl('http://domain.dom/myblog');
		 * $this->setBaseUrl('http://domain.dom/corporate/erp');
		 * $this->setBaseUrl('http://domain.dom/blog.php?args=20'); // avoid this one.
		 * $this->setBaseUrl('http://another.dom');
		 * </pre>
		 *
		 * @param string $baseUrl Example http://www.web.com/folder  https://www.web.com/folder/anotherfolder
		 * @return BladeOne
		 */
		public function setBaseUrl( $baseUrl ) {        }
		/**
		 * It gets the full current url calculated with the information sends by the user.<br>
		 * <b>Note:</b> If we set baseurl, then it always uses the baseurl as domain (it's safe).<br>
		 * <b>Note:</b> This information could be forged/faked by the end-user.<br>
		 * <b>Note:</b> It returns empty '' if it is called in a command line interface / non-web.<br>
		 * <b>Note:</b> It doesn't returns the user and password.<br>
		 *
		 * @param bool $noArgs if true then it excludes the arguments.
		 * @return string
		 */
		public function getCurrentUrlCalculated( $noArgs = false ) {        }
		/**
		 * It returns the relative path to the base url or empty if not set<br>
		 * <b>Example:</b><br>
		 * <pre>
		 * // current url='http://domain.dom/page/subpage/web.php?aaa=2
		 * $this->setBaseUrl('http://domain.dom/');
		 * $this->getRelativePath(); // '../../'
		 * $this->setBaseUrl('http://domain.dom/');
		 * $this->getRelativePath(); // '../../'
		 * </pre>
		 * <b>Note:</b>The relative path is calculated when we set the base url.
		 *
		 * @return string
		 * @see \eftec\bladeone\BladeOne::setBaseUrl
		 */
		public function getRelativePath() {         }
		/**
		 * It gets the full current canonical url.<br>
		 * <b>Example:</b> https://www.mysite.com/aaa/bb/php.php?aa=bb
		 * <ul>
		 * <li>It returns the $this->canonicalUrl value if is not null</li>
		 * <li>Otherwise, it returns the $this->currentUrl if not null</li>
		 * <li>Otherwise, the url is calculated with the information sends by the user</li>
		 * </ul>
		 *
		 * @return string|null
		 */
		public function getCanonicalUrl() {         }
		/**
		 * It sets the full canonical url.<br>
		 * <b>Example:</b> https://www.mysite.com/aaa/bb/php.php?aa=bb
		 *
		 * @param string|null $canonUrl
		 * @return BladeOne
		 */
		public function setCanonicalUrl( $canonUrl = null ) {       }
		/**
		 * It gets the full current url<br>
		 * <b>Example:</b> https://www.mysite.com/aaa/bb/php.php?aa=bb
		 * <ul>
		 * <li>It returns the $this->currentUrl if not null</li>
		 * <li>Otherwise, the url is calculated with the information sends by the user</li>
		 * </ul>
		 *
		 * @param bool $noArgs if true then it ignore the arguments.
		 * @return string|null
		 */
		public function getCurrentUrl( $noArgs = false ) {      }
		/**
		 * It sets the full current url.<br>
		 * <b>Example:</b> https://www.mysite.com/aaa/bb/php.php?aa=bb
		 * <b>Note:</b> If the current url is not set, then the system could calculate the current url.
		 *
		 * @param string|null $currentUrl
		 * @return BladeOne
		 */
		public function setCurrentUrl( $currentUrl = null ) {       }
		/**
		 * If true then it optimizes the result (it removes tab and extra spaces).
		 *
		 * @param bool $bool
		 * @return BladeOne
		 */
		public function setOptimize( $bool = false ) {      }
		/**
		 * It sets the callback function for authentication. It is used by @can and @cannot
		 *
		 * @param callable $fn
		 */
		public function setCanFunction( callable $fn ) {        }
		/**
		 * It sets the callback function for authentication. It is used by @canany
		 *
		 * @param callable $fn
		 */
		public function setAnyFunction( callable $fn ) {        }
		/**
		 * It sets the callback function for errors. It is used by @error
		 *
		 * @param callable $fn
		 */
		public function setErrorFunction( callable $fn ) {      }
		// </editor-fold>
		// <editor-fold desc="push">
		/**
		 * Get the entire loop stack.
		 *
		 * @return array
		 */
		public function getLoopStack() {        }
		/**
		 * It adds a string inside a quoted string<br>
		 * <b>example:</b><br>
		 * <pre>
		 * $this->addInsideQuote("'hello'"," world"); // 'hello world'
		 * $this->addInsideQuote("hello"," world"); // hello world
		 * </pre>
		 *
		 * @param $quoted
		 * @param $newFragment
		 * @return string
		 */
		public function addInsideQuote( $quoted, $newFragment ) {       }
		/**
		 * Return true if the string is a php variable (it starts with $)
		 *
		 * @param string|null $text
		 * @return bool
		 */
		public function isVariablePHP( $text ) {        }
		/**
		 * Its the same than @_e, however it parses the text (using sprintf).
		 * If the operation fails then, it returns the original expression without translation.
		 *
		 * @param $phrase
		 *
		 * @return string
		 */
		public function _ef( $phrase ) {        }
		/**
		 * Tries to translate the word if its in the array defined by BladeOneLang::$dictionary
		 * If the operation fails then, it returns the original expression without translation.
		 *
		 * @param $phrase
		 *
		 * @return string
		 */
		public function _e( $phrase ) {         }
		/**
		 * if num is more than one then it returns the phrase in plural, otherwise the phrase in singular.
		 * Note: the translation should be as follow: $msg['Person']='Person' $msg=['Person']['p']='People'
		 *
		 * @param string $phrase
		 * @param string $phrases
		 * @param int    $num
		 *
		 * @return string
		 */
		public function _n( $phrase, $phrases, $num = 0 ) {         }
		/**
		 * @param $expression
		 * @return string
		 * @see \eftec\bladeone\BladeOne::getCanonicalUrl
		 */
		public function compileCanonical( $expression = null ) {        }
		/**
		 * @param $expression
		 * @return string
		 * @see \eftec\bladeone\BladeOne::getBaseUrl()
		 */
		public function compileBase( $expression = null ) {         }
		protected function compileUse( $expression ) {      }
		protected function compileSwitch( $expression ) {       }
		// </editor-fold>
		// <editor-fold desc="compile extras">
		protected function compileDump( $expression ) {         }
		protected function compileRelative( $expression ) {         }
		protected function compileMethod( $expression ) {       }
		protected function compilecsrf( $expression = null ) {      }
		protected function compileDd( $expression ) {       }
		/**
		 * Execute the case tag.
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compileCase( $expression ) {         }
		/**
		 * Compile the while statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileWhile( $expression ) {        }
		/**
		 * default tag used for switch/case
		 *
		 * @return string
		 */
		protected function compileDefault() {       }
		protected function compileEndSwitch() {         }
		/**
		 * Compile while statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileInject( $expression ) {       }
		/**
		 * Remove first and end quote from a quoted string of text
		 *
		 * @param mixed $text
		 * @return null|string|string[]
		 */
		public function stripQuotes( $text ) {      }
		/**
		 * Execute the user defined extensions.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileExtensions( $value ) {        }
		/**
		 * Compile Blade comments into valid PHP.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileComments( $value ) {      }
		/**
		 * Compile Blade echos into valid PHP.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileEchos( $value ) {         }
		/**
		 * Get the echo methods in the proper order for compilation.
		 *
		 * @return array
		 */
		protected function getEchoMethods() {       }
		/**
		 * Compile Blade statements that start with "@".
		 *
		 * @param string $value
		 *
		 * @return array|string|string[]|null
		 */
		protected function compileStatements( $value ) {        }
		/**
		 * Determine if a given string contains a given substring.
		 *
		 * @param string       $haystack
		 * @param string|array $needles
		 * @return bool
		 */
		public static function contains( $haystack, $needles ) {        }
		/**
		 * For compile custom directive at runtime.
		 *
		 * @param $match
		 * @return string
		 */
		protected function compileStatementCustom( $match ) {       }
		/**
		 * Get an item from an array using "dot" notation.
		 *
		 * @param ArrayAccess|array $array
		 * @param string            $key
		 * @param mixed             $default
		 * @return mixed
		 */
		public static function get( $array, $key, $default = null ) {       }
		/**
		 * Determine if the given key exists in the provided array.
		 *
		 * @param ArrayAccess|array $array
		 * @param string|int        $key
		 * @return bool
		 */
		public static function exists( $array, $key ) {         }
		/**
		 * This method removes the parenthesis of the expression and parse the arguments.
		 *
		 * @param string $expression
		 * @return array
		 */
		protected function getArgs( $expression ) {         }
		/**
		 * It separates a string using a separator and excluding quotes and double quotes.
		 *
		 * @param string $text
		 * @param string $separator
		 * @return array
		 */
		public function parseArgs( $text, $separator = ',' ) {      }
		/**
		 * Compile the "raw" echo statements.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileRawEchos( $value ) {      }
		/**
		 * Compile the default values for the echo statement.
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileEchoDefaults( $value ) {      }
		/**
		 * It converts a string separated by pipes | into an filtered expression.<br>
		 * If the method exists (as directive), then it is used<br>
		 * If the method exists (in this class) then it is used<br>
		 * Otherwise, it uses a global function.<br>
		 * If you want to escape the "|", then you could use "/|"<br>
		 * <b>Note:</b> It only works if $this->pipeEnable=true and by default it is false<br>
		 * <b>Example:</b><br>
		 * <pre>
		 * $this->pipeDream('$name | strtolower | substr:0,4'); // strtolower(substr($name ,0,4)
		 * $this->pipeDream('$name| getMode') // $this->getMode($name)
		 * </pre>
		 *
		 * @param string $result
		 * @return string
		 * @\eftec\bladeone\BladeOne::$pipeEnable
		 */
		protected function pipeDream( $result ) {       }
		/**
		 * Compile the "regular" echo statements. {{ }}
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileRegularEchos( $value ) {      }
		/**
		 * Compile the escaped echo statements. {!! !!}
		 *
		 * @param string $value
		 * @return string
		 */
		protected function compileEscapedEchos( $value ) {      }
		/**
		 * Compile the each statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileEach( $expression ) {         }
		protected function compileSet( $expression ) {      }
		/**
		 * Compile the yield statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileYield( $expression ) {        }
		/**
		 * Compile the show statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileShow() {      }
		/**
		 * Compile the section statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileSection( $expression ) {      }
		/**
		 * Compile the append statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileAppend() {        }
		/**
		 * Compile the auth statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileAuth( $expression = '' ) {        }
		/**
		 * Compile the elseauth statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileElseAuth( $expression = '' ) {        }
		/**
		 * Compile the end-auth statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndAuth() {       }
		protected function compileCan( $expression ) {      }
		/**
		 * Compile the else statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileElseCan( $expression = '' ) {         }
		// </editor-fold>
		// <editor-fold desc="file members">
		protected function compileCannot( $expression ) {       }
		/**
		 * Compile the elsecannot statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileElseCannot( $expression = '' ) {      }
		/**
		 * Compile the canany statements into valid PHP.
		 * canany(['edit','write'])
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compileCanAny( $expression ) {       }
		/**
		 * Compile the else statements into valid PHP.
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compileElseCanAny( $expression ) {       }
		/**
		 * Compile the guest statements into valid PHP.
		 *
		 * @param null $expression
		 * @return string
		 */
		protected function compileGuest( $expression = null ) {         }
		/**
		 * Compile the else statements into valid PHP.
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compileElseGuest( $expression ) {        }
		/**
		 * /**
		 * Compile the end-auth statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndGuest() {      }
		/**
		 * Compile the end-section statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndsection() {        }
		/**
		 * Compile the stop statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileStop() {      }
		/**
		 * Compile the overwrite statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileOverwrite() {         }
		/**
		 * Compile the unless statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileUnless( $expression ) {       }
		/**
		 * Compile the User statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileUser() {      }
		/**
		 * Compile the endunless statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndunless() {         }
		// </editor-fold>
		// <editor-fold desc="Array Functions">
		/**
		 * @error('key')
		 *
		 * @param $expression
		 * @return string
		 */
		protected function compileError( $expression ) {        }
		/**
		 * Compile the end-error statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndError() {      }
		/**
		 * Compile the else statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileElse() {      }
		/**
		 * Compile the for statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileFor( $expression ) {      }
		// </editor-fold>
		// <editor-fold desc="string functions">
		/**
		 * Compile the foreach statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileForeach( $expression ) {      }
		/**
		 * Compile a split of a foreach cycle. Used for example when we want to separate limites each "n" elements.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileSplitForeach( $expression ) {         }
		/**
		 * Compile the break statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileBreak( $expression ) {        }
		/**
		 * Compile the continue statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileContinue( $expression ) {         }
		/**
		 * Compile the forelse statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileForelse( $expression ) {      }
		/**
		 * Compile the if statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileIf( $expression ) {       }
		// </editor-fold>
		// <editor-fold desc="loop functions">
		/**
		 * Compile the else-if statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileElseif( $expression ) {       }
		/**
		 * Compile the forelse statements into valid PHP.
		 *
		 * @param string $expression empty if it's inside a for loop.
		 * @return string
		 */
		protected function compileEmpty( $expression = '' ) {       }
		/**
		 * Compile the has section statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileHasSection( $expression ) {       }
		/**
		 * Compile the end-while statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndwhile() {      }
		/**
		 * Compile the end-for statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndfor() {        }
		/**
		 * Compile the end-for-each statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndforeach() {        }
		/**
		 * Compile the end-can statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndcan() {        }
		/**
		 * Compile the end-can statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndcanany() {         }
		/**
		 * Compile the end-cannot statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndcannot() {         }
		/**
		 * Compile the end-if statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndif() {         }
		/**
		 * Compile the end-for-else statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndforelse() {        }
		/**
		 * Compile the raw PHP statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compilePhp( $expression ) {      }
		// <editor-fold desc="setter and getters">
		/**
		 * Compile end-php statement into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndphp() {        }
		/**
		 * Compile the unset statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileUnset( $expression ) {        }
		/**
		 * Compile the extends statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileExtends( $expression ) {      }
		/**
		 * Execute the @parent command. This operation works in tandem with extendSection
		 *
		 * @return string
		 * @see extendSection
		 */
		protected function compileParent() {        }
		/**
		 * Compile the include statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileInclude( $expression ) {      }
		/**
		 * It loads an compiled template and paste inside the code.<br>
		 * It uses more disk space but it decreases the number of includes<br>
		 *
		 * @param $expression
		 * @return string
		 * @throws Exception
		 */
		protected function compileIncludeFast( $expression ) {      }
		/**
		 * Compile the include statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileIncludeIf( $expression ) {        }
		/**
		 * Compile the include statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileIncludeWhen( $expression ) {      }
		/**
		 * Compile the includefirst statement
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileIncludeFirst( $expression ) {         }
		/**
		 * Compile the {@}compilestamp statement.
		 *
		 * @param string $expression
		 *
		 * @return false|string
		 */
		protected function compileCompileStamp( $expression ) {         }
		/**
		 * compile the {@}viewname statement<br>
		 * {@}viewname('compiled') returns the full compiled path
		 * {@}viewname('template') returns the full template path
		 * {@}viewname('') returns the view name.
		 *
		 * @param mixed $expression
		 *
		 * @return string
		 */
		protected function compileViewName( $expression ) {         }
		/**
		 * Compile the stack statements into the content.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileStack( $expression ) {        }
		/**
		 * Compile the endpush statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndpush() {       }
		/**
		 * Compile the endpushonce statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndpushOnce() {       }
		/**
		 * Compile the endpush statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndPrepend() {        }
		/**
		 * Compile the component statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileComponent( $expression ) {        }
		/**
		 * Compile the end-component statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndComponent() {      }
		/**
		 * Compile the slot statements into valid PHP.
		 *
		 * @param string $expression
		 * @return string
		 */
		protected function compileSlot( $expression ) {         }
		/**
		 * Compile the end-slot statements into valid PHP.
		 *
		 * @return string
		 */
		protected function compileEndSlot() {       }
		protected function compileAsset( $expression ) {        }
		protected function compileJSon( $expression ) {         }
		// </editor-fold>
		// <editor-fold desc='language'>
		protected function compileIsset( $expression ) {        }
		protected function compileEndIsset() {      }
		protected function compileEndEmpty() {      }
		// <editor-fold desc="compile">
		/**
		 * Resolve a given class using the injectResolver callable.
		 *
		 * @param string      $className
		 * @param string|null $variableName
		 * @return mixed
		 */
		protected function injectClass( $className, $variableName = null ) {        }
		/**
		 * Used for @_e directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_e( $expression ) {       }
		/**
		 * Used for @_ef directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_ef( $expression ) {      }
		// </editor-fold>
		/**
		 * Used for @_n directive.
		 *
		 * @param $expression
		 *
		 * @return string
		 */
		protected function compile_n( $expression ) {       }
		// </editor-fold>
	}
}

namespace {
	/**
	 * SymfonyClassCollectionLoader.
	 *
	 * Based heavily on the Symfony ClassCollectionLoader component, with all
	 * the unnecessary bits removed.
	 *
	 * @license http://www.opensource.org/licenses/MIT
	 * @author Fabien Potencier <fabien@symfony.com>
	 */
	class SymfonyClassCollectionLoader {

		const HEADER = <<<'EOS'
<?php

/*
 * This file is part of Mustache.php.
 *
 * (c) 2010-%d Justin Hileman
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
EOS;
		/**
		 * Loads a list of classes and caches them in one big file.
		 *
		 * @param array  $classes   An array of classes to load
		 * @param string $cacheDir  A cache directory
		 * @param string $name      The cache name prefix
		 * @param string $extension File extension of the resulting file
		 *
		 * @throws InvalidArgumentException When class can't be loaded
		 */
		public static function load( array $classes, $cacheDir, $name, $extension = '.php' ) {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template Loader interface.
	 */
	interface Mustache_Loader {

		/**
		 * Load a Template by name.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found
		 *
		 * @param string $name
		 *
		 * @return string|Mustache_Source Mustache Template source
		 */
		public function load( $name);
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Describes a Mustache logger instance.
	 *
	 * This is identical to the Psr\Log\LoggerInterface.
	 *
	 * The message MUST be a string or object implementing __toString().
	 *
	 * The message MAY contain placeholders in the form: {foo} where foo
	 * will be replaced by the context data in key "foo".
	 *
	 * The context array can contain arbitrary data, the only assumption that
	 * can be made by implementors is that if an Exception instance is given
	 * to produce a stack trace, it MUST be in a key named "exception".
	 *
	 * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md
	 * for the full interface specification.
	 */
	interface Mustache_Logger {

		/**
		 * Psr\Log compatible log levels.
		 */
		const EMERGENCY = 'emergency';
		const ALERT     = 'alert';
		const CRITICAL  = 'critical';
		const ERROR     = 'error';
		const WARNING   = 'warning';
		const NOTICE    = 'notice';
		const INFO      = 'info';
		const DEBUG     = 'debug';
		/**
		 * System is unusable.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function emergency( $message, array $context = array());
		/**
		 * Action must be taken immediately.
		 *
		 * Example: Entire website down, database unavailable, etc. This should
		 * trigger the SMS alerts and wake you up.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function alert( $message, array $context = array());
		/**
		 * Critical conditions.
		 *
		 * Example: Application component unavailable, unexpected exception.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function critical( $message, array $context = array());
		/**
		 * Runtime errors that do not require immediate action but should typically
		 * be logged and monitored.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function error( $message, array $context = array());
		/**
		 * Exceptional occurrences that are not errors.
		 *
		 * Example: Use of deprecated APIs, poor use of an API, undesirable things
		 * that are not necessarily wrong.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function warning( $message, array $context = array());
		/**
		 * Normal but significant events.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function notice( $message, array $context = array());
		/**
		 * Interesting events.
		 *
		 * Example: User logs in, SQL logs.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function info( $message, array $context = array());
		/**
		 * Detailed debug information.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function debug( $message, array $context = array());
		/**
		 * Logs with an arbitrary level.
		 *
		 * @param mixed  $level
		 * @param string $message
		 * @param array  $context
		 */
		public function log( $level, $message, array $context = array());
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A Mustache implementation in PHP.
	 *
	 * {@link http://defunkt.github.com/mustache}
	 *
	 * Mustache is a framework-agnostic logic-less templating language. It enforces separation of view
	 * logic from template files. In fact, it is not even possible to embed logic in the template.
	 *
	 * This is very, very rad.
	 *
	 * @author Justin Hileman {@link http://justinhileman.com}
	 */
	class Mustache_Engine {

		const VERSION             = '2.14.2';
		const SPEC_VERSION        = '1.2.2';
		const PRAGMA_FILTERS      = 'FILTERS';
		const PRAGMA_BLOCKS       = 'BLOCKS';
		const PRAGMA_ANCHORED_DOT = 'ANCHORED-DOT';
		/**
		 * Mustache class constructor.
		 *
		 * Passing an $options array allows overriding certain Mustache options during instantiation:
		 *
		 *     $options = array(
		 *         // The class prefix for compiled templates. Defaults to '__Mustache_'.
		 *         'template_class_prefix' => '__MyTemplates_',
		 *
		 *         // A Mustache cache instance or a cache directory string for compiled templates.
		 *         // Mustache will not cache templates unless this is set.
		 *         'cache' => dirname(__FILE__).'/tmp/cache/mustache',
		 *
		 *         // Override default permissions for cache files. Defaults to using the system-defined umask. It is
		 *         // *strongly* recommended that you configure your umask properly rather than overriding permissions here.
		 *         'cache_file_mode' => 0666,
		 *
		 *         // Optionally, enable caching for lambda section templates. This is generally not recommended, as lambda
		 *         // sections are often too dynamic to benefit from caching.
		 *         'cache_lambda_templates' => true,
		 *
		 *         // Customize the tag delimiters used by this engine instance. Note that overriding here changes the
		 *         // delimiters used to parse all templates and partials loaded by this instance. To override just for a
		 *         // single template, use an inline "change delimiters" tag at the start of the template file:
		 *         //
		 *         //     {{=<% %>=}}
		 *         //
		 *         'delimiters' => '<% %>',
		 *
		 *         // A Mustache template loader instance. Uses a StringLoader if not specified.
		 *         'loader' => new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views'),
		 *
		 *         // A Mustache loader instance for partials.
		 *         'partials_loader' => new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views/partials'),
		 *
		 *         // An array of Mustache partials. Useful for quick-and-dirty string template loading, but not as
		 *         // efficient or lazy as a Filesystem (or database) loader.
		 *         'partials' => array('foo' => file_get_contents(dirname(__FILE__).'/views/partials/foo.mustache')),
		 *
		 *         // An array of 'helpers'. Helpers can be global variables or objects, closures (e.g. for higher order
		 *         // sections), or any other valid Mustache context value. They will be prepended to the context stack,
		 *         // so they will be available in any template loaded by this Mustache instance.
		 *         'helpers' => array('i18n' => function ($text) {
		 *             // do something translatey here...
		 *         }),
		 *
		 *         // An 'escape' callback, responsible for escaping double-mustache variables.
		 *         'escape' => function ($value) {
		 *             return htmlspecialchars($buffer, ENT_COMPAT, 'UTF-8');
		 *         },
		 *
		 *         // Type argument for `htmlspecialchars`.  Defaults to ENT_COMPAT.  You may prefer ENT_QUOTES.
		 *         'entity_flags' => ENT_QUOTES,
		 *
		 *         // Character set for `htmlspecialchars`. Defaults to 'UTF-8'. Use 'UTF-8'.
		 *         'charset' => 'ISO-8859-1',
		 *
		 *         // A Mustache Logger instance. No logging will occur unless this is set. Using a PSR-3 compatible
		 *         // logging library -- such as Monolog -- is highly recommended. A simple stream logger implementation is
		 *         // available as well:
		 *         'logger' => new Mustache_Logger_StreamLogger('php://stderr'),
		 *
		 *         // Only treat Closure instances and invokable classes as callable. If true, values like
		 *         // `array('ClassName', 'methodName')` and `array($classInstance, 'methodName')`, which are traditionally
		 *         // "callable" in PHP, are not called to resolve variables for interpolation or section contexts. This
		 *         // helps protect against arbitrary code execution when user input is passed directly into the template.
		 *         // This currently defaults to false, but will default to true in v3.0.
		 *         'strict_callables' => true,
		 *
		 *         // Enable pragmas across all templates, regardless of the presence of pragma tags in the individual
		 *         // templates.
		 *         'pragmas' => [Mustache_Engine::PRAGMA_FILTERS],
		 *     );
		 *
		 * @throws Mustache_Exception_InvalidArgumentException If `escape` option is not callable
		 *
		 * @param array $options (default: array())
		 */
		public function __construct( array $options = array() ) {       }
		/**
		 * Shortcut 'render' invocation.
		 *
		 * Equivalent to calling `$mustache->loadTemplate($template)->render($context);`
		 *
		 * @see Mustache_Engine::loadTemplate
		 * @see Mustache_Template::render
		 *
		 * @param string $template
		 * @param mixed  $context  (default: array())
		 *
		 * @return string Rendered template
		 */
		public function render( $template, $context = array() ) {       }
		/**
		 * Get the current Mustache escape callback.
		 *
		 * @return callable|null
		 */
		public function getEscape() {       }
		/**
		 * Get the current Mustache entitity type to escape.
		 *
		 * @return int
		 */
		public function getEntityFlags() {      }
		/**
		 * Get the current Mustache character set.
		 *
		 * @return string
		 */
		public function getCharset() {      }
		/**
		 * Get the current globally enabled pragmas.
		 *
		 * @return array
		 */
		public function getPragmas() {      }
		/**
		 * Set the Mustache template Loader instance.
		 *
		 * @param Mustache_Loader $loader
		 */
		public function setLoader( \Mustache_Loader $loader ) {         }
		/**
		 * Get the current Mustache template Loader instance.
		 *
		 * If no Loader instance has been explicitly specified, this method will instantiate and return
		 * a StringLoader instance.
		 *
		 * @return Mustache_Loader
		 */
		public function getLoader() {       }
		/**
		 * Set the Mustache partials Loader instance.
		 *
		 * @param Mustache_Loader $partialsLoader
		 */
		public function setPartialsLoader( \Mustache_Loader $partialsLoader ) {         }
		/**
		 * Get the current Mustache partials Loader instance.
		 *
		 * If no Loader instance has been explicitly specified, this method will instantiate and return
		 * an ArrayLoader instance.
		 *
		 * @return Mustache_Loader
		 */
		public function getPartialsLoader() {       }
		/**
		 * Set partials for the current partials Loader instance.
		 *
		 * @throws Mustache_Exception_RuntimeException If the current Loader instance is immutable
		 *
		 * @param array $partials (default: array())
		 */
		public function setPartials( array $partials = array() ) {      }
		/**
		 * Set an array of Mustache helpers.
		 *
		 * An array of 'helpers'. Helpers can be global variables or objects, closures (e.g. for higher order sections), or
		 * any other valid Mustache context value. They will be prepended to the context stack, so they will be available in
		 * any template loaded by this Mustache instance.
		 *
		 * @throws Mustache_Exception_InvalidArgumentException if $helpers is not an array or Traversable
		 *
		 * @param array|Traversable $helpers
		 */
		public function setHelpers( $helpers ) {        }
		/**
		 * Get the current set of Mustache helpers.
		 *
		 * @see Mustache_Engine::setHelpers
		 *
		 * @return Mustache_HelperCollection
		 */
		public function getHelpers() {      }
		/**
		 * Add a new Mustache helper.
		 *
		 * @see Mustache_Engine::setHelpers
		 *
		 * @param string $name
		 * @param mixed  $helper
		 */
		public function addHelper( $name, $helper ) {       }
		/**
		 * Get a Mustache helper by name.
		 *
		 * @see Mustache_Engine::setHelpers
		 *
		 * @param string $name
		 *
		 * @return mixed Helper
		 */
		public function getHelper( $name ) {        }
		/**
		 * Check whether this Mustache instance has a helper.
		 *
		 * @see Mustache_Engine::setHelpers
		 *
		 * @param string $name
		 *
		 * @return bool True if the helper is present
		 */
		public function hasHelper( $name ) {        }
		/**
		 * Remove a helper by name.
		 *
		 * @see Mustache_Engine::setHelpers
		 *
		 * @param string $name
		 */
		public function removeHelper( $name ) {         }
		/**
		 * Set the Mustache Logger instance.
		 *
		 * @throws Mustache_Exception_InvalidArgumentException If logger is not an instance of Mustache_Logger or Psr\Log\LoggerInterface
		 *
		 * @param Mustache_Logger|Psr\Log\LoggerInterface $logger
		 */
		public function setLogger( $logger = \null ) {      }
		/**
		 * Get the current Mustache Logger instance.
		 *
		 * @return Mustache_Logger|Psr\Log\LoggerInterface
		 */
		public function getLogger() {       }
		/**
		 * Set the Mustache Tokenizer instance.
		 *
		 * @param Mustache_Tokenizer $tokenizer
		 */
		public function setTokenizer( \Mustache_Tokenizer $tokenizer ) {        }
		/**
		 * Get the current Mustache Tokenizer instance.
		 *
		 * If no Tokenizer instance has been explicitly specified, this method will instantiate and return a new one.
		 *
		 * @return Mustache_Tokenizer
		 */
		public function getTokenizer() {        }
		/**
		 * Set the Mustache Parser instance.
		 *
		 * @param Mustache_Parser $parser
		 */
		public function setParser( \Mustache_Parser $parser ) {         }
		/**
		 * Get the current Mustache Parser instance.
		 *
		 * If no Parser instance has been explicitly specified, this method will instantiate and return a new one.
		 *
		 * @return Mustache_Parser
		 */
		public function getParser() {       }
		/**
		 * Set the Mustache Compiler instance.
		 *
		 * @param Mustache_Compiler $compiler
		 */
		public function setCompiler( \Mustache_Compiler $compiler ) {       }
		/**
		 * Get the current Mustache Compiler instance.
		 *
		 * If no Compiler instance has been explicitly specified, this method will instantiate and return a new one.
		 *
		 * @return Mustache_Compiler
		 */
		public function getCompiler() {         }
		/**
		 * Set the Mustache Cache instance.
		 *
		 * @param Mustache_Cache $cache
		 */
		public function setCache( \Mustache_Cache $cache ) {        }
		/**
		 * Get the current Mustache Cache instance.
		 *
		 * If no Cache instance has been explicitly specified, this method will instantiate and return a new one.
		 *
		 * @return Mustache_Cache
		 */
		public function getCache() {        }
		/**
		 * Get the current Lambda Cache instance.
		 *
		 * If 'cache_lambda_templates' is enabled, this is the default cache instance. Otherwise, it is a NoopCache.
		 *
		 * @see Mustache_Engine::getCache
		 *
		 * @return Mustache_Cache
		 */
		protected function getLambdaCache() {       }
		/**
		 * Helper method to generate a Mustache template class.
		 *
		 * This method must be updated any time options are added which make it so
		 * the same template could be parsed and compiled multiple different ways.
		 *
		 * @param string|Mustache_Source $source
		 *
		 * @return string Mustache Template class name
		 */
		public function getTemplateClassName( $source ) {       }
		/**
		 * Load a Mustache Template by name.
		 *
		 * @param string $name
		 *
		 * @return Mustache_Template
		 */
		public function loadTemplate( $name ) {         }
		/**
		 * Load a Mustache partial Template by name.
		 *
		 * This is a helper method used internally by Template instances for loading partial templates. You can most likely
		 * ignore it completely.
		 *
		 * @param string $name
		 *
		 * @return Mustache_Template
		 */
		public function loadPartial( $name ) {      }
		/**
		 * Load a Mustache lambda Template by source.
		 *
		 * This is a helper method used by Template instances to generate subtemplates for Lambda sections. You can most
		 * likely ignore it completely.
		 *
		 * @param string $source
		 * @param string $delims (default: null)
		 *
		 * @return Mustache_Template
		 */
		public function loadLambda( $source, $delims = \null ) {        }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * This is a simple Logger implementation that other Loggers can inherit from.
	 *
	 * This is identical to the Psr\Log\AbstractLogger.
	 *
	 * It simply delegates all log-level-specific methods to the `log` method to
	 * reduce boilerplate code that a simple Logger that does the same thing with
	 * messages regardless of the error level has to implement.
	 */
	abstract class Mustache_Logger_AbstractLogger implements \Mustache_Logger {

		/**
		 * System is unusable.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function emergency( $message, array $context = array() ) {       }
		/**
		 * Action must be taken immediately.
		 *
		 * Example: Entire website down, database unavailable, etc. This should
		 * trigger the SMS alerts and wake you up.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function alert( $message, array $context = array() ) {       }
		/**
		 * Critical conditions.
		 *
		 * Example: Application component unavailable, unexpected exception.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function critical( $message, array $context = array() ) {        }
		/**
		 * Runtime errors that do not require immediate action but should typically
		 * be logged and monitored.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function error( $message, array $context = array() ) {       }
		/**
		 * Exceptional occurrences that are not errors.
		 *
		 * Example: Use of deprecated APIs, poor use of an API, undesirable things
		 * that are not necessarily wrong.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function warning( $message, array $context = array() ) {         }
		/**
		 * Normal but significant events.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function notice( $message, array $context = array() ) {      }
		/**
		 * Interesting events.
		 *
		 * Example: User logs in, SQL logs.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function info( $message, array $context = array() ) {        }
		/**
		 * Detailed debug information.
		 *
		 * @param string $message
		 * @param array  $context
		 */
		public function debug( $message, array $context = array() ) {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A Mustache Stream Logger.
	 *
	 * The Stream Logger wraps a file resource instance (such as a stream) or a
	 * stream URL. All log messages over the threshold level will be appended to
	 * this stream.
	 *
	 * Hint: Try `php://stderr` for your stream URL.
	 */
	class Mustache_Logger_StreamLogger extends \Mustache_Logger_AbstractLogger {

		protected static $levels = array(
			self::DEBUG     => 100,
			self::INFO      => 200,
			self::NOTICE    => 250,
			self::WARNING   => 300,
			self::ERROR     => 400,
			self::CRITICAL  => 500,
			self::ALERT     => 550,
			self::EMERGENCY => 600,
		);
		protected $level;
		protected $stream = \null;
		protected $url    = \null;
		/**
		 * @throws InvalidArgumentException if the logging level is unknown
		 *
		 * @param resource|string $stream Resource instance or URL
		 * @param int             $level  The minimum logging level at which this handler will be triggered
		 */
		public function __construct( $stream, $level = \Mustache_Logger::ERROR ) {      }
		/**
		 * Close stream resources.
		 */
		public function __destruct() {      }
		/**
		 * Set the minimum logging level.
		 *
		 * @throws Mustache_Exception_InvalidArgumentException if the logging level is unknown
		 *
		 * @param int $level The minimum logging level which will be written
		 */
		public function setLevel( $level ) {        }
		/**
		 * Get the current minimum logging level.
		 *
		 * @return int
		 */
		public function getLevel() {        }
		/**
		 * Logs with an arbitrary level.
		 *
		 * @throws Mustache_Exception_InvalidArgumentException if the logging level is unknown
		 *
		 * @param mixed  $level
		 * @param string $message
		 * @param array  $context
		 */
		public function log( $level, $message, array $context = array() ) {         }
		/**
		 * Write a record to the log.
		 *
		 * @throws Mustache_Exception_LogicException   If neither a stream resource nor url is present
		 * @throws Mustache_Exception_RuntimeException If the stream url cannot be opened
		 *
		 * @param int    $level   The logging level
		 * @param string $message The log message
		 * @param array  $context The log context
		 */
		protected function writeLog( $level, $message, array $context = array() ) {         }
		/**
		 * Gets the name of the logging level.
		 *
		 * @throws InvalidArgumentException if the logging level is unknown
		 *
		 * @param int $level
		 *
		 * @return string
		 */
		protected static function getLevelName( $level ) {      }
		/**
		 * Format a log line for output.
		 *
		 * @param int    $level   The logging level
		 * @param string $message The log message
		 * @param array  $context The log context
		 *
		 * @return string
		 */
		protected static function formatLine( $level, $message, array $context = array() ) {        }
		/**
		 * Interpolate context values into the message placeholders.
		 *
		 * @param string $message
		 * @param array  $context
		 *
		 * @return string
		 */
		protected static function interpolateMessage( $message, array $context = array() ) {        }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Cache interface.
	 *
	 * Interface for caching and loading Mustache_Template classes
	 * generated by the Mustache_Compiler.
	 */
	interface Mustache_Cache {

		/**
		 * Load a compiled Mustache_Template class from cache.
		 *
		 * @param string $key
		 *
		 * @return bool indicates successfully class load
		 */
		public function load( $key);
		/**
		 * Cache and load a compiled Mustache_Template class.
		 *
		 * @param string $key
		 * @param string $value
		 */
		public function cache( $key, $value);
		/**
		 * Set a logger instance.
		 *
		 * @param Mustache_Logger|Psr\Log\LoggerInterface $logger
		 */
		public function setLogger( $logger = \null);
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Abstract Mustache Cache class.
	 *
	 * Provides logging support to child implementations.
	 *
	 * @abstract
	 */
	abstract class Mustache_Cache_AbstractCache implements \Mustache_Cache {

		/**
		 * Get the current logger instance.
		 *
		 * @return Mustache_Logger|Psr\Log\LoggerInterface
		 */
		public function getLogger() {       }
		/**
		 * Set a logger instance.
		 *
		 * @param Mustache_Logger|Psr\Log\LoggerInterface $logger
		 */
		public function setLogger( $logger = \null ) {      }
		/**
		 * Add a log record if logging is enabled.
		 *
		 * @param string $level   The logging level
		 * @param string $message The log message
		 * @param array  $context The log context
		 */
		protected function log( $level, $message, array $context = array() ) {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Cache filesystem implementation.
	 *
	 * A FilesystemCache instance caches Mustache Template classes from the filesystem by name:
	 *
	 *     $cache = new Mustache_Cache_FilesystemCache(dirname(__FILE__).'/cache');
	 *     $cache->cache($className, $compiledSource);
	 *
	 * The FilesystemCache benefits from any opcode caching that may be setup in your environment. So do that, k?
	 */
	class Mustache_Cache_FilesystemCache extends \Mustache_Cache_AbstractCache {

		/**
		 * Filesystem cache constructor.
		 *
		 * @param string $baseDir  Directory for compiled templates
		 * @param int    $fileMode Override default permissions for cache files. Defaults to using the system-defined umask
		 */
		public function __construct( $baseDir, $fileMode = \null ) {        }
		/**
		 * Load the class from cache using `require_once`.
		 *
		 * @param string $key
		 *
		 * @return bool
		 */
		public function load( $key ) {      }
		/**
		 * Cache and load the compiled class.
		 *
		 * @param string $key
		 * @param string $value
		 */
		public function cache( $key, $value ) {         }
		/**
		 * Build the cache filename.
		 * Subclasses should override for custom cache directory structures.
		 *
		 * @param string $name
		 *
		 * @return string
		 */
		protected function getCacheFilename( $name ) {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Cache in-memory implementation.
	 *
	 * The in-memory cache is used for uncached lambda section templates. It's also useful during development, but is not
	 * recommended for production use.
	 */
	class Mustache_Cache_NoopCache extends \Mustache_Cache_AbstractCache {

		/**
		 * Loads nothing. Move along.
		 *
		 * @param string $key
		 *
		 * @return bool
		 */
		public function load( $key ) {      }
		/**
		 * Loads the compiled Mustache Template class without caching.
		 *
		 * @param string $key
		 * @param string $value
		 */
		public function cache( $key, $value ) {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Parser class.
	 *
	 * This class is responsible for turning a set of Mustache tokens into a parse tree.
	 */
	class Mustache_Parser {

		/**
		 * Process an array of Mustache tokens and convert them into a parse tree.
		 *
		 * @param array $tokens Set of Mustache tokens
		 *
		 * @return array Mustache token parse tree
		 */
		public function parse( array $tokens = array() ) {      }
		/**
		 * Enable pragmas across all templates, regardless of the presence of pragma
		 * tags in the individual templates.
		 *
		 * @internal Users should set global pragmas in Mustache_Engine, not here :)
		 *
		 * @param string[] $pragmas
		 */
		public function setPragmas( array $pragmas ) {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache template Source interface.
	 */
	interface Mustache_Source {

		/**
		 * Get the Source key (used to generate the compiled class name).
		 *
		 * This must return a distinct key for each template source. For example, an
		 * MD5 hash of the template contents would probably do the trick. The
		 * ProductionFilesystemLoader uses mtime and file path. If your production
		 * source directory is under version control, you could use the current Git
		 * rev and the file path...
		 *
		 * @throws RuntimeException when a source file cannot be read
		 *
		 * @return string
		 */
		public function getKey();
		/**
		 * Get the template Source.
		 *
		 * @throws RuntimeException when a source file cannot be read
		 *
		 * @return string
		 */
		public function getSource();
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache template Filesystem Source.
	 *
	 * This template Source uses stat() to generate the Source key, so that using
	 * pre-compiled templates doesn't require hitting the disk to read the source.
	 * It is more suitable for production use, and is used by default in the
	 * ProductionFilesystemLoader.
	 */
	class Mustache_Source_FilesystemSource implements \Mustache_Source {

		/**
		 * Filesystem Source constructor.
		 *
		 * @param string $fileName
		 * @param array  $statProps
		 */
		public function __construct( $fileName, array $statProps ) {        }
		/**
		 * Get the Source key (used to generate the compiled class name).
		 *
		 * @throws Mustache_Exception_RuntimeException when a source file cannot be read
		 *
		 * @return string
		 */
		public function getKey() {      }
		/**
		 * Get the template Source.
		 *
		 * @return string
		 */
		public function getSource() {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template rendering Context.
	 */
	class Mustache_Context {

		/**
		 * Mustache rendering Context constructor.
		 *
		 * @param mixed $context Default rendering context (default: null)
		 */
		public function __construct( $context = \null ) {       }
		/**
		 * Push a new Context frame onto the stack.
		 *
		 * @param mixed $value Object or array to use for context
		 */
		public function push( $value ) {        }
		/**
		 * Push a new Context frame onto the block context stack.
		 *
		 * @param mixed $value Object or array to use for block context
		 */
		public function pushBlockContext( $value ) {        }
		/**
		 * Pop the last Context frame from the stack.
		 *
		 * @return mixed Last Context frame (object or array)
		 */
		public function pop() {         }
		/**
		 * Pop the last block Context frame from the stack.
		 *
		 * @return mixed Last block Context frame (object or array)
		 */
		public function popBlockContext() {         }
		/**
		 * Get the last Context frame.
		 *
		 * @return mixed Last Context frame (object or array)
		 */
		public function last() {        }
		/**
		 * Find a variable in the Context stack.
		 *
		 * Starting with the last Context frame (the context of the innermost section), and working back to the top-level
		 * rendering context, look for a variable with the given name:
		 *
		 *  * If the Context frame is an associative array which contains the key $id, returns the value of that element.
		 *  * If the Context frame is an object, this will check first for a public method, then a public property named
		 *    $id. Failing both of these, it will try `__isset` and `__get` magic methods.
		 *  * If a value named $id is not found in any Context frame, returns an empty string.
		 *
		 * @param string $id Variable name
		 *
		 * @return mixed Variable value, or '' if not found
		 */
		public function find( $id ) {       }
		/**
		 * Find a 'dot notation' variable in the Context stack.
		 *
		 * Note that dot notation traversal bubbles through scope differently than the regular find method. After finding
		 * the initial chunk of the dotted name, each subsequent chunk is searched for only within the value of the previous
		 * result. For example, given the following context stack:
		 *
		 *     $data = array(
		 *         'name' => 'Fred',
		 *         'child' => array(
		 *             'name' => 'Bob'
		 *         ),
		 *     );
		 *
		 * ... and the Mustache following template:
		 *
		 *     {{ child.name }}
		 *
		 * ... the `name` value is only searched for within the `child` value of the global Context, not within parent
		 * Context frames.
		 *
		 * @param string $id Dotted variable selector
		 *
		 * @return mixed Variable value, or '' if not found
		 */
		public function findDot( $id ) {        }
		/**
		 * Find an 'anchored dot notation' variable in the Context stack.
		 *
		 * This is the same as findDot(), except it looks in the top of the context
		 * stack for the first value, rather than searching the whole context stack
		 * and starting from there.
		 *
		 * @see Mustache_Context::findDot
		 *
		 * @throws Mustache_Exception_InvalidArgumentException if given an invalid anchored dot $id
		 *
		 * @param string $id Dotted variable selector
		 *
		 * @return mixed Variable value, or '' if not found
		 */
		public function findAnchoredDot( $id ) {        }
		/**
		 * Find an argument in the block context stack.
		 *
		 * @param string $id
		 *
		 * @return mixed Variable value, or '' if not found
		 */
		public function findInBlock( $id ) {        }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template filesystem Loader implementation.
	 *
	 * A FilesystemLoader instance loads Mustache Template source from the filesystem by name:
	 *
	 *     $loader = new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views');
	 *     $tpl = $loader->load('foo'); // equivalent to `file_get_contents(dirname(__FILE__).'/views/foo.mustache');
	 *
	 * This is probably the most useful Mustache Loader implementation. It can be used for partials and normal Templates:
	 *
	 *     $m = new Mustache(array(
	 *          'loader'          => new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views'),
	 *          'partials_loader' => new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views/partials'),
	 *     ));
	 */
	class Mustache_Loader_FilesystemLoader implements \Mustache_Loader {

		/**
		 * Mustache filesystem Loader constructor.
		 *
		 * Passing an $options array allows overriding certain Loader options during instantiation:
		 *
		 *     $options = array(
		 *         // The filename extension used for Mustache templates. Defaults to '.mustache'
		 *         'extension' => '.ms',
		 *     );
		 *
		 * @throws Mustache_Exception_RuntimeException if $baseDir does not exist
		 *
		 * @param string $baseDir Base directory containing Mustache template files
		 * @param array  $options Array of Loader options (default: array())
		 */
		public function __construct( $baseDir, array $options = array() ) {         }
		/**
		 * Load a Template by name.
		 *
		 *     $loader = new Mustache_Loader_FilesystemLoader(dirname(__FILE__).'/views');
		 *     $loader->load('admin/dashboard'); // loads "./views/admin/dashboard.mustache";
		 *
		 * @param string $name
		 *
		 * @return string Mustache Template source
		 */
		public function load( $name ) {         }
		/**
		 * Helper function for loading a Mustache file by name.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found
		 *
		 * @param string $name
		 *
		 * @return string Mustache Template source
		 */
		protected function loadFile( $name ) {      }
		/**
		 * Helper function for getting a Mustache template file name.
		 *
		 * @param string $name
		 *
		 * @return string Template file name
		 */
		protected function getFileName( $name ) {       }
		/**
		 * Only check if baseDir is a directory and requested templates are files if
		 * baseDir is using the filesystem stream wrapper.
		 *
		 * @return bool Whether to check `is_dir` and `file_exists`
		 */
		protected function shouldCheckPath() {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template mutable Loader interface.
	 */
	interface Mustache_Loader_MutableLoader {

		/**
		 * Set an associative array of Template sources for this loader.
		 *
		 * @param array $templates
		 */
		public function setTemplates( array $templates);
		/**
		 * Set a Template source by name.
		 *
		 * @param string $name
		 * @param string $template Mustache Template source
		 */
		public function setTemplate( $name, $template);
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template array Loader implementation.
	 *
	 * An ArrayLoader instance loads Mustache Template source by name from an initial array:
	 *
	 *     $loader = new ArrayLoader(
	 *         'foo' => '{{ bar }}',
	 *         'baz' => 'Hey {{ qux }}!'
	 *     );
	 *
	 *     $tpl = $loader->load('foo'); // '{{ bar }}'
	 *
	 * The ArrayLoader is used internally as a partials loader by Mustache_Engine instance when an array of partials
	 * is set. It can also be used as a quick-and-dirty Template loader.
	 */
	class Mustache_Loader_ArrayLoader implements \Mustache_Loader, \Mustache_Loader_MutableLoader {

		/**
		 * ArrayLoader constructor.
		 *
		 * @param array $templates Associative array of Template source (default: array())
		 */
		public function __construct( array $templates = array() ) {         }
		/**
		 * Load a Template.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found
		 *
		 * @param string $name
		 *
		 * @return string Mustache Template source
		 */
		public function load( $name ) {         }
		/**
		 * Set an associative array of Template sources for this loader.
		 *
		 * @param array $templates
		 */
		public function setTemplates( array $templates ) {      }
		/**
		 * Set a Template source by name.
		 *
		 * @param string $name
		 * @param string $template Mustache Template source
		 */
		public function setTemplate( $name, $template ) {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A Mustache Template cascading loader implementation, which delegates to other
	 * Loader instances.
	 */
	class Mustache_Loader_CascadingLoader implements \Mustache_Loader {

		/**
		 * Construct a CascadingLoader with an array of loaders.
		 *
		 *     $loader = new Mustache_Loader_CascadingLoader(array(
		 *         new Mustache_Loader_InlineLoader(__FILE__, __COMPILER_HALT_OFFSET__),
		 *         new Mustache_Loader_FilesystemLoader(__DIR__.'/templates')
		 *     ));
		 *
		 * @param Mustache_Loader[] $loaders
		 */
		public function __construct( array $loaders = array() ) {       }
		/**
		 * Add a Loader instance.
		 *
		 * @param Mustache_Loader $loader
		 */
		public function addLoader( \Mustache_Loader $loader ) {         }
		/**
		 * Load a Template by name.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found
		 *
		 * @param string $name
		 *
		 * @return string Mustache Template source
		 */
		public function load( $name ) {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template string Loader implementation.
	 *
	 * A StringLoader instance is essentially a noop. It simply passes the 'name' argument straight through:
	 *
	 *     $loader = new StringLoader;
	 *     $tpl = $loader->load('{{ foo }}'); // '{{ foo }}'
	 *
	 * This is the default Template Loader instance used by Mustache:
	 *
	 *     $m = new Mustache;
	 *     $tpl = $m->loadTemplate('{{ foo }}');
	 *     echo $tpl->render(array('foo' => 'bar')); // "bar"
	 */
	class Mustache_Loader_StringLoader implements \Mustache_Loader {

		/**
		 * Load a Template by source.
		 *
		 * @param string $name Mustache Template source
		 *
		 * @return string Mustache Template source
		 */
		public function load( $name ) {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Template production filesystem Loader implementation.
	 *
	 * A production-ready FilesystemLoader, which doesn't require reading a file if it already exists in the template cache.
	 *
	 * {@inheritdoc}
	 */
	class Mustache_Loader_ProductionFilesystemLoader extends \Mustache_Loader_FilesystemLoader {

		/**
		 * Mustache production filesystem Loader constructor.
		 *
		 * Passing an $options array allows overriding certain Loader options during instantiation:
		 *
		 *     $options = array(
		 *         // The filename extension used for Mustache templates. Defaults to '.mustache'
		 *         'extension' => '.ms',
		 *         'stat_props' => array('size', 'mtime'),
		 *     );
		 *
		 * Specifying 'stat_props' overrides the stat properties used to invalidate the template cache. By default, this
		 * uses 'mtime' and 'size', but this can be set to any of the properties supported by stat():
		 *
		 *     http://php.net/manual/en/function.stat.php
		 *
		 * You can also disable filesystem stat entirely:
		 *
		 *     $options = array('stat_props' => null);
		 *
		 * But with great power comes great responsibility. Namely, if you disable stat-based cache invalidation,
		 * YOU MUST CLEAR THE TEMPLATE CACHE YOURSELF when your templates change. Make it part of your build or deploy
		 * process so you don't forget!
		 *
		 * @throws Mustache_Exception_RuntimeException if $baseDir does not exist.
		 *
		 * @param string $baseDir Base directory containing Mustache template files.
		 * @param array  $options Array of Loader options (default: array())
		 */
		public function __construct( $baseDir, array $options = array() ) {         }
		/**
		 * Helper function for loading a Mustache file by name.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found.
		 *
		 * @param string $name
		 *
		 * @return Mustache_Source Mustache Template source
		 */
		protected function loadFile( $name ) {      }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A Mustache Template loader for inline templates.
	 *
	 * With the InlineLoader, templates can be defined at the end of any PHP source
	 * file:
	 *
	 *     $loader  = new Mustache_Loader_InlineLoader(__FILE__, __COMPILER_HALT_OFFSET__);
	 *     $hello   = $loader->load('hello');
	 *     $goodbye = $loader->load('goodbye');
	 *
	 *     __halt_compiler();
	 *
	 *     @@ hello
	 *     Hello, {{ planet }}!
	 *
	 *     @@ goodbye
	 *     Goodbye, cruel {{ planet }}
	 *
	 * Templates are deliniated by lines containing only `@@ name`.
	 *
	 * The InlineLoader is well-suited to micro-frameworks such as Silex:
	 *
	 *     $app->register(new MustacheServiceProvider, array(
	 *         'mustache.loader' => new Mustache_Loader_InlineLoader(__FILE__, __COMPILER_HALT_OFFSET__)
	 *     ));
	 *
	 *     $app->get('/{name}', function ($name) use ($app) {
	 *         return $app['mustache']->render('hello', compact('name'));
	 *     })
	 *     ->value('name', 'world');
	 *
	 *     // ...
	 *
	 *     __halt_compiler();
	 *
	 *     @@ hello
	 *     Hello, {{ name }}!
	 */
	class Mustache_Loader_InlineLoader implements \Mustache_Loader {

		protected $fileName;
		protected $offset;
		protected $templates;
		/**
		 * The InlineLoader requires a filename and offset to process templates.
		 *
		 * The magic constants `__FILE__` and `__COMPILER_HALT_OFFSET__` are usually
		 * perfectly suited to the job:
		 *
		 *     $loader = new Mustache_Loader_InlineLoader(__FILE__, __COMPILER_HALT_OFFSET__);
		 *
		 * Note that this only works if the loader is instantiated inside the same
		 * file as the inline templates. If the templates are located in another
		 * file, it would be necessary to manually specify the filename and offset.
		 *
		 * @param string $fileName The file to parse for inline templates
		 * @param int    $offset   A string offset for the start of the templates.
		 *                         This usually coincides with the `__halt_compiler`
		 *                         call, and the `__COMPILER_HALT_OFFSET__`
		 */
		public function __construct( $fileName, $offset ) {         }
		/**
		 * Load a Template by name.
		 *
		 * @throws Mustache_Exception_UnknownTemplateException If a template file is not found
		 *
		 * @param string $name
		 *
		 * @return string Mustache Template source
		 */
		public function load( $name ) {         }
		/**
		 * Parse and load templates from the end of a source file.
		 */
		protected function loadTemplates() {        }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Tokenizer class.
	 *
	 * This class is responsible for turning raw template source into a set of Mustache tokens.
	 */
	class Mustache_Tokenizer {

		// Finite state machine states
		const IN_TEXT     = 0;
		const IN_TAG_TYPE = 1;
		const IN_TAG      = 2;
		// Token types
		const T_SECTION      = '#';
		const T_INVERTED     = '^';
		const T_END_SECTION  = '/';
		const T_COMMENT      = '!';
		const T_PARTIAL      = '>';
		const T_PARENT       = '<';
		const T_DELIM_CHANGE = '=';
		const T_ESCAPED      = '_v';
		const T_UNESCAPED    = '{';
		const T_UNESCAPED_2  = '&';
		const T_TEXT         = '_t';
		const T_PRAGMA       = '%';
		const T_BLOCK_VAR    = '$';
		const T_BLOCK_ARG    = '$arg';
		// Token properties
		const TYPE    = 'type';
		const NAME    = 'name';
		const OTAG    = 'otag';
		const CTAG    = 'ctag';
		const LINE    = 'line';
		const INDEX   = 'index';
		const END     = 'end';
		const INDENT  = 'indent';
		const NODES   = 'nodes';
		const VALUE   = 'value';
		const FILTERS = 'filters';
		/**
		 * Scan and tokenize template source.
		 *
		 * @throws Mustache_Exception_SyntaxException when mismatched section tags are encountered
		 * @throws Mustache_Exception_InvalidArgumentException when $delimiters string is invalid
		 *
		 * @param string $text       Mustache template source to tokenize
		 * @param string $delimiters Optionally, pass initial opening and closing delimiters (default: empty string)
		 *
		 * @return array Set of Mustache tokens
		 */
		public function scan( $text, $delimiters = '' ) {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A collection of helpers for a Mustache instance.
	 */
	class Mustache_HelperCollection {

		/**
		 * Helper Collection constructor.
		 *
		 * Optionally accepts an array (or Traversable) of `$name => $helper` pairs.
		 *
		 * @throws Mustache_Exception_InvalidArgumentException if the $helpers argument isn't an array or Traversable
		 *
		 * @param array|Traversable $helpers (default: null)
		 */
		public function __construct( $helpers = \null ) {       }
		/**
		 * Magic mutator.
		 *
		 * @see Mustache_HelperCollection::add
		 *
		 * @param string $name
		 * @param mixed  $helper
		 */
		public function __set( $name, $helper ) {       }
		/**
		 * Add a helper to this collection.
		 *
		 * @param string $name
		 * @param mixed  $helper
		 */
		public function add( $name, $helper ) {         }
		/**
		 * Magic accessor.
		 *
		 * @see Mustache_HelperCollection::get
		 *
		 * @param string $name
		 *
		 * @return mixed Helper
		 */
		public function __get( $name ) {        }
		/**
		 * Get a helper by name.
		 *
		 * @throws Mustache_Exception_UnknownHelperException If helper does not exist
		 *
		 * @param string $name
		 *
		 * @return mixed Helper
		 */
		public function get( $name ) {      }
		/**
		 * Magic isset().
		 *
		 * @see Mustache_HelperCollection::has
		 *
		 * @param string $name
		 *
		 * @return bool True if helper is present
		 */
		public function __isset( $name ) {      }
		/**
		 * Check whether a given helper is present in the collection.
		 *
		 * @param string $name
		 *
		 * @return bool True if helper is present
		 */
		public function has( $name ) {      }
		/**
		 * Magic unset().
		 *
		 * @see Mustache_HelperCollection::remove
		 *
		 * @param string $name
		 */
		public function __unset( $name ) {      }
		/**
		 * Check whether a given helper is present in the collection.
		 *
		 * @throws Mustache_Exception_UnknownHelperException if the requested helper is not present
		 *
		 * @param string $name
		 */
		public function remove( $name ) {       }
		/**
		 * Clear the helper collection.
		 *
		 * Removes all helpers from this collection
		 */
		public function clear() {       }
		/**
		 * Check whether the helper collection is empty.
		 *
		 * @return bool True if the collection is empty
		 */
		public function isEmpty() {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Abstract Mustache Template class.
	 *
	 * @abstract
	 */
	abstract class Mustache_Template {

		/**
		 * @var Mustache_Engine
		 */
		protected $mustache;
		/**
		 * @var bool
		 */
		protected $strictCallables = \false;
		/**
		 * Mustache Template constructor.
		 *
		 * @param Mustache_Engine $mustache
		 */
		public function __construct( \Mustache_Engine $mustache ) {         }
		/**
		 * Mustache Template instances can be treated as a function and rendered by simply calling them.
		 *
		 *     $m = new Mustache_Engine;
		 *     $tpl = $m->loadTemplate('Hello, {{ name }}!');
		 *     echo $tpl(array('name' => 'World')); // "Hello, World!"
		 *
		 * @see Mustache_Template::render
		 *
		 * @param mixed $context Array or object rendering context (default: array())
		 *
		 * @return string Rendered template
		 */
		public function __invoke( $context = array() ) {        }
		/**
		 * Render this template given the rendering context.
		 *
		 * @param mixed $context Array or object rendering context (default: array())
		 *
		 * @return string Rendered template
		 */
		public function render( $context = array() ) {      }
		/**
		 * Internal rendering method implemented by Mustache Template concrete subclasses.
		 *
		 * This is where the magic happens :)
		 *
		 * NOTE: This method is not part of the Mustache.php public API.
		 *
		 * @param Mustache_Context $context
		 * @param string           $indent  (default: '')
		 *
		 * @return string Rendered template
		 */
		abstract public function renderInternal( \Mustache_Context $context, $indent = '');
		/**
		 * Tests whether a value should be iterated over (e.g. in a section context).
		 *
		 * In most languages there are two distinct array types: list and hash (or whatever you want to call them). Lists
		 * should be iterated, hashes should be treated as objects. Mustache follows this paradigm for Ruby, Javascript,
		 * Java, Python, etc.
		 *
		 * PHP, however, treats lists and hashes as one primitive type: array. So Mustache.php needs a way to distinguish
		 * between between a list of things (numeric, normalized array) and a set of variables to be used as section context
		 * (associative array). In other words, this will be iterated over:
		 *
		 *     $items = array(
		 *         array('name' => 'foo'),
		 *         array('name' => 'bar'),
		 *         array('name' => 'baz'),
		 *     );
		 *
		 * ... but this will be used as a section context block:
		 *
		 *     $items = array(
		 *         1        => array('name' => 'foo'),
		 *         'banana' => array('name' => 'bar'),
		 *         42       => array('name' => 'baz'),
		 *     );
		 *
		 * @param mixed $value
		 *
		 * @return bool True if the value is 'iterable'
		 */
		protected function isIterable( $value ) {       }
		/**
		 * Helper method to prepare the Context stack.
		 *
		 * Adds the Mustache HelperCollection to the stack's top context frame if helpers are present.
		 *
		 * @param mixed $context Optional first context frame (default: null)
		 *
		 * @return Mustache_Context
		 */
		protected function prepareContextStack( $context = \null ) {        }
		/**
		 * Resolve a context value.
		 *
		 * Invoke the value if it is callable, otherwise return the value.
		 *
		 * @param mixed            $value
		 * @param Mustache_Context $context
		 *
		 * @return string
		 */
		protected function resolveValue( $value, \Mustache_Context $context ) {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A Mustache Exception interface.
	 */
	interface Mustache_Exception {

		// This space intentionally left blank.
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Lambda Helper.
	 *
	 * Passed as the second argument to section lambdas (higher order sections),
	 * giving them access to a `render` method for rendering a string with the
	 * current context.
	 */
	class Mustache_LambdaHelper {

		/**
		 * Mustache Lambda Helper constructor.
		 *
		 * @param Mustache_Engine  $mustache Mustache engine instance
		 * @param Mustache_Context $context  Rendering context
		 * @param string           $delims   Optional custom delimiters, in the format `{{= <% %> =}}`. (default: null)
		 */
		public function __construct( \Mustache_Engine $mustache, \Mustache_Context $context, $delims = \null ) {        }
		/**
		 * Render a string as a Mustache template with the current rendering context.
		 *
		 * @param string $string
		 *
		 * @return string Rendered template
		 */
		public function render( $string ) {         }
		/**
		 * Render a string as a Mustache template with the current rendering context.
		 *
		 * @param string $string
		 *
		 * @return string Rendered template
		 */
		public function __invoke( $string ) {       }
		/**
		 * Get a Lambda Helper with custom delimiters.
		 *
		 * @param string $delims Custom delimiters, in the format `{{= <% %> =}}`
		 *
		 * @return Mustache_LambdaHelper
		 */
		public function withDelimiters( $delims ) {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Unknown template exception.
	 */
	class Mustache_Exception_UnknownTemplateException extends \InvalidArgumentException implements \Mustache_Exception {

		protected $templateName;
		/**
		 * @param string    $templateName
		 * @param Exception $previous
		 */
		public function __construct( $templateName, \Exception $previous = \null ) {        }
		public function getTemplateName() {         }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Logic exception.
	 */
	class Mustache_Exception_LogicException extends \LogicException implements \Mustache_Exception {

		// This space intentionally left blank.
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Runtime exception.
	 */
	class Mustache_Exception_RuntimeException extends \RuntimeException implements \Mustache_Exception {

		// This space intentionally left blank.
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Invalid argument exception.
	 */
	class Mustache_Exception_InvalidArgumentException extends \InvalidArgumentException implements \Mustache_Exception {

		// This space intentionally left blank.
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Unknown helper exception.
	 */
	class Mustache_Exception_UnknownHelperException extends \InvalidArgumentException implements \Mustache_Exception {

		protected $helperName;
		/**
		 * @param string    $helperName
		 * @param Exception $previous
		 */
		public function __construct( $helperName, \Exception $previous = \null ) {      }
		public function getHelperName() {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Unknown filter exception.
	 */
	class Mustache_Exception_UnknownFilterException extends \UnexpectedValueException implements \Mustache_Exception {

		protected $filterName;
		/**
		 * @param string    $filterName
		 * @param Exception $previous
		 */
		public function __construct( $filterName, \Exception $previous = \null ) {      }
		public function getFilterName() {       }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache syntax exception.
	 */
	class Mustache_Exception_SyntaxException extends \LogicException implements \Mustache_Exception {

		protected $token;
		/**
		 * @param string    $msg
		 * @param array     $token
		 * @param Exception $previous
		 */
		public function __construct( $msg, array $token, \Exception $previous = \null ) {       }
		/**
		 * @return array
		 */
		public function getToken() {        }
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache Compiler class.
	 *
	 * This class is responsible for turning a Mustache token parse tree into normal PHP source code.
	 */
	class Mustache_Compiler {

		/**
		 * Compile a Mustache token parse tree into PHP source code.
		 *
		 * @param string $source          Mustache Template source code
		 * @param string $tree            Parse tree of Mustache tokens
		 * @param string $name            Mustache Template class name
		 * @param bool   $customEscape    (default: false)
		 * @param string $charset         (default: 'UTF-8')
		 * @param bool   $strictCallables (default: false)
		 * @param int    $entityFlags     (default: ENT_COMPAT)
		 *
		 * @return string Generated PHP source code
		 */
		public function compile( $source, array $tree, $name, $customEscape = \false, $charset = 'UTF-8', $strictCallables = \false, $entityFlags = \ENT_COMPAT ) {         }
		/**
		 * Enable pragmas across all templates, regardless of the presence of pragma
		 * tags in the individual templates.
		 *
		 * @internal Users should set global pragmas in Mustache_Engine, not here :)
		 *
		 * @param string[] $pragmas
		 */
		public function setPragmas( array $pragmas ) {      }
		const KLASS              = '<?php

        class %s extends Mustache_Template
        {
            private $lambdaHelper;%s

            public function renderInternal(Mustache_Context $context, $indent = \'\')
            {
                $this->lambdaHelper = new Mustache_LambdaHelper($this->mustache, $context);
                $buffer = \'\';
        %s

                return $buffer;
            }
        %s
        %s
        }';
		const KLASS_NO_LAMBDAS   = '<?php

        class %s extends Mustache_Template
        {%s
            public function renderInternal(Mustache_Context $context, $indent = \'\')
            {
                $buffer = \'\';
        %s

                return $buffer;
            }
        }';
		const STRICT_CALLABLE    = 'protected $strictCallables = true;';
		const BLOCK_VAR          = '
        $blockFunction = $context->findInBlock(%s);
        if (is_callable($blockFunction)) {
            $buffer .= call_user_func($blockFunction, $context);
        %s}
    ';
		const BLOCK_VAR_ELSE     = '} else {%s';
		const BLOCK_ARG          = '%s => array($this, \'block%s\'),';
		const BLOCK_FUNCTION     = '
        public function block%s($context)
        {
            $indent = $buffer = \'\';%s

            return $buffer;
        }
    ';
		const SECTION_CALL       = '
        $value = $context->%s(%s);%s
        $buffer .= $this->section%s($context, $indent, $value);
    ';
		const SECTION            = '
        private function section%s(Mustache_Context $context, $indent, $value)
        {
            $buffer = \'\';

            if (%s) {
                $source = %s;
                $result = (string) call_user_func($value, $source, %s);
                if (strpos($result, \'{{\') === false) {
                    $buffer .= $result;
                } else {
                    $buffer .= $this->mustache
                        ->loadLambda($result%s)
                        ->renderInternal($context);
                }
            } elseif (!empty($value)) {
                $values = $this->isIterable($value) ? $value : array($value);
                foreach ($values as $value) {
                    $context->push($value);
                    %s
                    $context->pop();
                }
            }

            return $buffer;
        }
    ';
		const INVERTED_SECTION   = '
        $value = $context->%s(%s);%s
        if (empty($value)) {
            %s
        }
    ';
		const PARTIAL_INDENT     = ', $indent . %s';
		const PARTIAL            = '
        if ($partial = $this->mustache->loadPartial(%s)) {
            $buffer .= $partial->renderInternal($context%s);
        }
    ';
		const PARENT             = '
        if ($parent = $this->mustache->loadPartial(%s)) {
            $context->pushBlockContext(array(%s
            ));
            $buffer .= $parent->renderInternal($context, $indent);
            $context->popBlockContext();
        }
    ';
		const PARENT_NO_CONTEXT  = '
        if ($parent = $this->mustache->loadPartial(%s)) {
            $buffer .= $parent->renderInternal($context, $indent);
        }
    ';
		const VARIABLE           = '
        $value = $this->resolveValue($context->%s(%s), $context);%s
        $buffer .= %s($value === null ? \'\' : %s);
    ';
		const FILTER             = '
        $filter = $context->%s(%s);
        if (!(%s)) {
            throw new Mustache_Exception_UnknownFilterException(%s);
        }
        $value = call_user_func($filter, $value);%s
    ';
		const LINE               = '$buffer .= "\\n";';
		const TEXT               = '$buffer .= %s%s;';
		const DEFAULT_ESCAPE     = 'htmlspecialchars(%s, %s, %s)';
		const CUSTOM_ESCAPE      = 'call_user_func($this->mustache->getEscape(), %s)';
		const IS_CALLABLE        = '!is_string(%s) && is_callable(%s)';
		const STRICT_IS_CALLABLE = 'is_object(%s) && is_callable(%s)';
		const LINE_INDENT        = '$indent . ';
	}
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2017 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * Mustache class autoloader.
	 */
	class Mustache_Autoloader {

		/**
		 * Autoloader constructor.
		 *
		 * @param string $baseDir Mustache library base directory (default: dirname(__FILE__).'/..')
		 */
		public function __construct( $baseDir = \null ) {       }
		/**
		 * Register a new instance as an SPL autoloader.
		 *
		 * @param string $baseDir Mustache library base directory (default: dirname(__FILE__).'/..')
		 *
		 * @return Mustache_Autoloader Registered Autoloader instance
		 */
		public static function register( $baseDir = \null ) {       }
		/**
		 * Autoload Mustache classes.
		 *
		 * @param string $class
		 */
		public function autoload( $class ) {        }
	}
}

namespace PHPCompatibility {
	/**
	 * Base class from which all PHPCompatibility sniffs extend.
	 *
	 * @since 5.6
	 */

	/**
	 * Complex Version Interface.
	 *
	 * Interface to be implemented by sniffs using a multi-dimensional array of
	 * PHP features (functions, classes etc) being sniffed for with version
	 * information in sub-arrays.
	 *
	 * @since 7.1.0
	 */
	interface ComplexVersionInterface {

		/**
		 * Handle the retrieval of relevant information and - if necessary - throwing of an
		 * error/warning for an item.
		 *
		 * @since 7.1.0
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
		 * @param int                   $stackPtr  The position of the relevant token in
		 *                                         the stack.
		 * @param array                 $itemInfo  Base information about the item.
		 *
		 * @return void
		 */
		public function handleFeature( \PHP_CodeSniffer_File $phpcsFile, $stackPtr, array $itemInfo);
		/**
		 * Get the relevant sub-array for a specific item from a multi-dimensional array.
		 *
		 * @since 7.1.0
		 *
		 * @param array $itemInfo Base information about the item.
		 *
		 * @return array Version and other information about the item.
		 */
		public function getItemArray( array $itemInfo);
		/**
		 * Retrieve the relevant detail (version) information for use in an error message.
		 *
		 * @since 7.1.0
		 *
		 * @param array $itemArray Version and other information about the item.
		 * @param array $itemInfo  Base information about the item.
		 *
		 * @return array
		 */
		public function getErrorInfo( array $itemArray, array $itemInfo);
		/**
		 * Generates the error or warning for this item.
		 *
		 * @since 7.1.0
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
		 * @param int                   $stackPtr  The position of the relevant token in
		 *                                         the stack.
		 * @param array                 $itemInfo  Base information about the item.
		 * @param array                 $errorInfo Array with detail (version) information
		 *                                         relevant to the item.
		 *
		 * @return void
		 */
		public function addError( \PHP_CodeSniffer_File $phpcsFile, $stackPtr, array $itemInfo, array $errorInfo);
	}
	/**
	 * Abstract base class for sniffs based on complex arrays with PHP version information.
	 *
	 * @since 7.1.0
	 */

	/**
	 * PHPCS cross-version compatibility helper class.
	 *
	 * A number of PHPCS classes were split up into several classes in PHPCS 3.x
	 * Those classes cannot be aliased as they don't represent the same object.
	 * This class provides helper methods for functions which were contained in
	 * one of these classes and which are used within the PHPCompatibility library.
	 *
	 * Additionally, this class contains some duplicates of PHPCS native methods.
	 * These methods have received bug fixes or improved functionality between the
	 * lowest supported PHPCS version and the latest PHPCS stable version and
	 * to provide the same results cross-version, PHPCompatibility needs to use
	 * the up-to-date versions of these methods.
	 *
	 * @since 8.0.0
	 * @since 8.2.0 The duplicate PHPCS methods have been moved from the `Sniff`
	 *              base class to this class.
	 */
	class PHPCSHelper {

		/**
		 * Get the PHPCS version number.
		 *
		 * @since 8.0.0
		 *
		 * @return string
		 */
		public static function getVersion() {       }
		/**
		 * Pass config data to PHPCS.
		 *
		 * PHPCS cross-version compatibility helper.
		 *
		 * @since 8.0.0
		 *
		 * @param string      $key   The name of the config value.
		 * @param string|null $value The value to set. If null, the config entry
		 *                           is deleted, reverting it to the default value.
		 * @param boolean     $temp  Set this config data temporarily for this script run.
		 *                           This will not write the config data to the config file.
		 *
		 * @return void
		 */
		public static function setConfigData( $key, $value, $temp = false ) {       }
		/**
		 * Get the value of a single PHPCS config key.
		 *
		 * @since 8.0.0
		 *
		 * @param string $key The name of the config value.
		 *
		 * @return string|null
		 */
		public static function getConfigData( $key ) {      }
		/**
		 * Get the value of a single PHPCS config key.
		 *
		 * This config key can be set in the `CodeSniffer.conf` file, on the
		 * command-line or in a ruleset.
		 *
		 * @since 8.2.0
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
		 * @param string                $key       The name of the config value.
		 *
		 * @return string|null
		 */
		public static function getCommandLineData( \PHP_CodeSniffer_File $phpcsFile, $key ) {       }
		/**
		 * Returns the position of the first non-whitespace token in a statement.
		 *
		 * {@internal Duplicate of same method as contained in the `\PHP_CodeSniffer_File`
		 * class and introduced in PHPCS 2.1.0 and improved in PHPCS 2.7.1.
		 *
		 * Once the minimum supported PHPCS version for this standard goes beyond
		 * that, this method can be removed and calls to it replaced with
		 * `$phpcsFile->findStartOfStatement($start, $ignore)` calls.
		 *
		 * Last synced with PHPCS version: PHPCS 3.3.2 at commit 6ad28354c04b364c3c71a34e4a18b629cc3b231e}
		 *
		 * @since 9.1.0
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile Instance of phpcsFile.
		 * @param int                   $start     The position to start searching from in the token stack.
		 * @param int|array             $ignore    Token types that should not be considered stop points.
		 *
		 * @return int
		 */
		public static function findStartOfStatement( \PHP_CodeSniffer_File $phpcsFile, $start, $ignore = null ) {       }
		/**
		 * Returns the position of the last non-whitespace token in a statement.
		 *
		 * {@internal Duplicate of same method as contained in the `\PHP_CodeSniffer_File`
		 * class and introduced in PHPCS 2.1.0 and improved in PHPCS 2.7.1 and 3.3.0.
		 *
		 * Once the minimum supported PHPCS version for this standard goes beyond
		 * that, this method can be removed and calls to it replaced with
		 * `$phpcsFile->findEndOfStatement($start, $ignore)` calls.
		 *
		 * Last synced with PHPCS version: PHPCS 3.3.0-alpha at commit f5d899dcb5c534a1c3cca34668624517856ba823}
		 *
		 * @since 8.2.0
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile Instance of phpcsFile.
		 * @param int                   $start     The position to start searching from in the token stack.
		 * @param int|array             $ignore    Token types that should not be considered stop points.
		 *
		 * @return int
		 */
		public static function findEndOfStatement( \PHP_CodeSniffer_File $phpcsFile, $start, $ignore = null ) {         }
		/**
		 * Returns the name of the class that the specified class extends
		 * (works for classes, anonymous classes and interfaces).
		 *
		 * Returns FALSE on error or if there is no extended class name.
		 *
		 * {@internal Duplicate of same method as contained in the `\PHP_CodeSniffer_File`
		 * class, but with some improvements which have been introduced in
		 * PHPCS 2.8.0.
		 * {@link https://github.com/squizlabs/PHP_CodeSniffer/commit/0011d448119d4c568e3ac1f825ae78815bf2cc34}.
		 *
		 * Once the minimum supported PHPCS version for this standard goes beyond
		 * that, this method can be removed and calls to it replaced with
		 * `$phpcsFile->findExtendedClassName($stackPtr)` calls.
		 *
		 * Last synced with PHPCS version: PHPCS 3.1.0-alpha at commit a9efcc9b0703f3f9f4a900623d4e97128a6aafc6}
		 *
		 * @since 7.1.4
		 * @since 8.2.0 Moved from the `Sniff` class to this class.
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile Instance of phpcsFile.
		 * @param int                   $stackPtr  The position of the class token in the stack.
		 *
		 * @return string|false
		 */
		public static function findExtendedClassName( \PHP_CodeSniffer_File $phpcsFile, $stackPtr ) {       }
		/**
		 * Returns the name(s) of the interface(s) that the specified class implements.
		 *
		 * Returns FALSE on error or if there are no implemented interface names.
		 *
		 * {@internal Duplicate of same method as introduced in PHPCS 2.7.
		 * This method also includes an improvement we use which was only introduced
		 * in PHPCS 2.8.0, so only defer to upstream for higher versions.
		 * Once the minimum supported PHPCS version for this sniff library goes beyond
		 * that, this method can be removed and calls to it replaced with
		 * `$phpcsFile->findImplementedInterfaceNames($stackPtr)` calls.}
		 *
		 * @since 7.0.3
		 * @since 8.2.0 Moved from the `Sniff` class to this class.
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile The file being scanned.
		 * @param int                   $stackPtr  The position of the class token.
		 *
		 * @return array|false
		 */
		public static function findImplementedInterfaceNames( \PHP_CodeSniffer_File $phpcsFile, $stackPtr ) {       }
		/**
		 * Returns the method parameters for the specified function token.
		 *
		 * Each parameter is in the following format:
		 *
		 * <code>
		 *   0 => array(
		 *         'name'              => '$var',  // The variable name.
		 *         'token'             => integer, // The stack pointer to the variable name.
		 *         'content'           => string,  // The full content of the variable definition.
		 *         'pass_by_reference' => boolean, // Is the variable passed by reference?
		 *         'variable_length'   => boolean, // Is the param of variable length through use of `...` ?
		 *         'type_hint'         => string,  // The type hint for the variable.
		 *         'type_hint_token'   => integer, // The stack pointer to the type hint
		 *                                         // or false if there is no type hint.
		 *         'nullable_type'     => boolean, // Is the variable using a nullable type?
		 *        )
		 * </code>
		 *
		 * Parameters with default values have an additional array index of
		 * 'default' with the value of the default as a string.
		 *
		 * {@internal Duplicate of same method as contained in the `\PHP_CodeSniffer_File`
		 * class.
		 *
		 * Last synced with PHPCS version: PHPCS 3.3.0-alpha at commit 53a28408d345044c0360c2c1b4a2aaebf4a3b8c9}
		 *
		 * @since 7.0.3
		 * @since 8.2.0 Moved from the `Sniff` class to this class.
		 *
		 * @param \PHP_CodeSniffer_File $phpcsFile Instance of phpcsFile.
		 * @param int                   $stackPtr  The position in the stack of the
		 *                                         function token to acquire the
		 *                                         parameters for.
		 *
		 * @return array|false
		 * @throws \PHP_CodeSniffer_Exception If the specified $stackPtr is not of
		 *                                    type T_FUNCTION or T_CLOSURE.
		 */
		public static function getMethodParameters( \PHP_CodeSniffer_File $phpcsFile, $stackPtr ) {         }
	}
	/**
	 * Base class for new feature sniffs.
	 *
	 * @since 7.1.0
	 */

	/**
	 * Abstract class to use as a base for examining the parameter values passed to function calls.
	 *
	 * @since 8.2.0
	 */

	/**
	 * Base class for removed feature sniffs.
	 *
	 * @since 7.1.0
	 */

}

namespace PHPCompatibility\Sniffs\FunctionUse {
	/**
	 * Functions inspecting function arguments report the current parameter value
	 * instead of the original since PHP 7.0.
	 *
	 * `func_get_arg()`, `func_get_args()`, `debug_backtrace()` and exception backtraces
	 * will no longer report the original parameter value as was passed to the function,
	 * but will instead provide the current value (which might have been modified).
	 *
	 * PHP version 7.0
	 *
	 * @link https://www.php.net/manual/en/migration70.incompatible.php#migration70.incompatible.other.func-parameter-modified
	 *
	 * @since 9.1.0
	 */

	/**
	 * Detect use of new function parameters in calls to native PHP functions.
	 *
	 * PHP version All
	 *
	 * @link https://www.php.net/manual/en/doc.changelog.php
	 *
	 * @since 7.0.0
	 * @since 7.1.0 Now extends the `AbstractNewFeatureSniff` instead of the base `Sniff` class..
	 */

	/**
	 * Detect use of deprecated/removed function parameters in calls to native PHP functions.
	 *
	 * PHP version All
	 *
	 * @link https://www.php.net/manual/en/doc.changelog.php
	 *
	 * @since 7.0.0
	 * @since 7.1.0 Now extends the `AbstractRemovedFeatureSniff` instead of the base `Sniff` class.
	 */

	/**
	 * Detect usage of `func_get_args()`, `func_get_arg()` and `func_num_args()` in invalid context.
	 *
	 * Checks for:
	 * - Prior to PHP 5.3, these functions could not be used as a function call parameter.
	 * - Calling these functions from the outermost scope of a file which has been included by
	 *   calling `include` or `require` from within a function in the calling file, worked
	 *   prior to PHP 5.3. As of PHP 5.3, this will generate a warning and will always return false/-1.
	 *   If the file was called directly or included in the global scope, calls to these
	 *   functions would already generate a warning prior to PHP 5.3.
	 *
	 * PHP version 5.3
	 *
	 * @link https://www.php.net/manual/en/migration53.incompatible.php
	 *
	 * @since 8.2.0
	 */

	/**
	 * Detect missing required function parameters in calls to native PHP functions.
	 *
	 * Specifically when those function parameters are no longer required in more recent PHP versions.
	 *
	 * PHP version All
	 *
	 * @link https://www.php.net/manual/en/doc.changelog.php
	 *
	 * @since 7.0.3
	 * @since 7.1.0 Now extends the `AbstractComplexVersionSniff` instead of the base `Sniff` class.
	 * @since 9.0.0 Renamed from `RequiredOptionalFunctionParametersSniff` to `RequiredToOptionalFunctionParametersSniff`.
	 */

	/**
	 * Detect missing required function parameters in calls to native PHP functions.
	 *
	 * Specifically when those function parameters used to be optional in older PHP versions.
	 *
	 * PHP version All
	 *
	 * @link https://www.php.net/manual/en/doc.changelog.php
	 *
	 * @since 8.1.0
	 * @since 9.0.0 Renamed from `OptionalRequiredFunctionParametersSniff` to `OptionalToRequiredFunctionParametersSniff`.
	 */

	/**
	 * Detect calls to new native PHP functions.
	 *
	 * PHP version All
	 *
	 * @since 5.5
	 * @since 5.6   Now extends the base `Sniff` class instead of the upstream
	 *              `Generic.PHP.ForbiddenFunctions` sniff.
	 * @since 7.1.0 Now extends the `AbstractNewFeatureSniff` instead of the base `Sniff` class..
	 */

	/**
	 * Detect calls to deprecated/removed native PHP functions.
	 *
	 * Suggests alternative if available.
	 *
	 * PHP version All
	 *
	 * @since 5.5
	 * @since 5.6   Now extends the base `Sniff` class instead of the upstream
	 *              `Generic.PHP.ForbiddenFunctions` sniff.
	 * @since 7.1.0 Now extends the `AbstractRemovedFeatureSniff` instead of the base `Sniff` class.
	 * @since 9.0.0 Renamed from `DeprecatedFunctionsSniff` to `RemovedFunctionsSniff`.
	 */

}

namespace PHPCompatibility\Sniffs\Upgrade {
	/**
	 * Add a notification for users of low PHP versions.
	 *
	 * Originally PHPCompatibility supported PHP 5.1 and higher.
	 * As of PHPCompatibility 8.0.0, support for PHP < 5.3 has been dropped.
	 *
	 * The intention is to drop support for PHP 5.3 in the (near) future.
	 *
	 * This sniff adds an explicit error/warning for users of the standard
	 * using a PHP version below the recommended version.
	 *
	 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/835
	 *
	 * @since 9.3.0
	 */

	/**
	 * Add a notification for users of low PHPCS versions.
	 *
	 * Originally PHPCompatibility supported PHPCS 1.5.x, 2.x and since PHPCompatibility 8.0.0, 3.x.
	 * Support for PHPCS < 2.3.0 has been dropped in PHPCompatibility 9.0.0.
	 *
	 * The standard will - up to a point - still work for users of lower
	 * PHPCS versions, but will give less accurate results and may throw
	 * notices and warnings (or even fatal out).
	 *
	 * This sniff adds an explicit error/warning for users of the standard
	 * using a PHPCS version below the recommended version.
	 *
	 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/688
	 * @link https://github.com/PHPCompatibility/PHPCompatibility/issues/835
	 *
	 * @since 8.2.0
	 */

}

namespace PHPCompatibility\Sniffs\ParameterValues {
	/**
	 * Detect passing `$encoding` to `mb_strrpos()` as 3rd argument.
	 *
	 * The `$encoding` parameter was moved from the third position to the fourth in PHP 5.2.0.
	 * For backward compatibility, `$encoding` could be specified as the third parameter, but doing
	 * so is deprecated and will be removed in the future.
	 *
	 * Between PHP 5.2 and PHP 7.3, this was a deprecation in documentation only.
	 * As of PHP 7.4, a deprecation warning will be thrown if an encoding is passed as the 3rd
	 * argument.
	 * As of PHP 8, the argument is expected to change to accept an integer only.
	 *
	 * PHP version 5.2
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.mbstring
	 * @link https://wiki.php.net/rfc/deprecations_php_7_4#mb_strrpos_with_encoding_as_3rd_argument
	 * @link https://www.php.net/manual/en/function.mb-strrpos.php
	 *
	 * @since 9.3.0
	 */

	/**
	 * Check for use of deprecated and removed regex modifiers for MbString regex functions.
	 *
	 * Initially just checks for the PHP 7.1 deprecated `e` modifier.
	 *
	 * PHP version 7.1
	 *
	 * @link https://wiki.php.net/rfc/deprecate_mb_ereg_replace_eval_option
	 * @link https://www.php.net/manual/en/function.mb-regex-set-options.php
	 *
	 * @since 7.0.5
	 * @since 7.0.8 This sniff now throws a warning instead of an error as the functionality is
	 *              only deprecated (for now).
	 * @since 8.2.0 Now extends the `AbstractFunctionCallParameterSniff` instead of the base `Sniff` class.
	 * @since 9.0.0 Renamed from `MbstringReplaceEModifierSniff` to `RemovedMbstringModifiersSniff`.
	 */

	/**
	 * The constant value of the password hash algorithm constants has changed in PHP 7.4.
	 *
	 * Applications using the constants `PASSWORD_DEFAULT`, `PASSWORD_BCRYPT`,
	 * `PASSWORD_ARGON2I`, and `PASSWORD_ARGON2ID` will continue to function correctly.
	 * Using an integer will still work, but will produce a deprecation warning.
	 *
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.incompatible.php#migration74.incompatible.core.password-algorithm-constants
	 * @link https://wiki.php.net/rfc/password_registry
	 *
	 * @since 9.3.0
	 */

	/**
	 * Detect negative string offsets as parameters passed to functions where this
	 * was not allowed prior to PHP 7.1.
	 *
	 * PHP version 7.1
	 *
	 * @link https://wiki.php.net/rfc/negative-string-offsets
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect the use of deprecated and removed hash algorithms.
	 *
	 * PHP version 5.4
	 *
	 * @link https://www.php.net/manual/en/function.hash-algos.php#refsect1-function.hash-algos-changelog
	 *
	 * @since 5.5
	 * @since 7.1.0 Now extends the `AbstractRemovedFeatureSniff` instead of the base `Sniff` class.
	 */

	/**
	 * As of PHP 5.4, the default character set for `htmlspecialchars()`, `htmlentities()`
	 * and `html_entity_decode()` is now `UTF-8`, instead of `ISO-8859-1`.
	 *
	 * PHP version 5.4
	 *
	 * @link https://www.php.net/manual/en/migration54.other.php
	 * @link https://www.php.net/manual/en/function.html-entity-decode.php#refsect1-function.html-entity-decode-changelog
	 * @link https://www.php.net/manual/en/function.htmlentities.php#refsect1-function.htmlentities-changelog
	 * @link https://www.php.net/manual/en/function.htmlspecialchars.php#refsect1-function.htmlspecialchars-changelog
	 *
	 * @since 9.3.0
	 */

	/**
	 * Detect usage of non-cryptographic hashes.
	 *
	 * "The `hash_hmac()`, `hash_hmac_file()`, `hash_pbkdf2()`, and `hash_init()`
	 * (with `HASH_HMAC`) functions no longer accept non-cryptographic hashes."
	 *
	 * PHP version 7.2
	 *
	 * @link https://www.php.net/manual/en/migration72.incompatible.php#migration72.incompatible.hash-functions
	 *
	 * @since 9.0.0
	 */

	/**
	 * Passing the `$glue` and `$pieces` parameters to `implode()` in reverse order has
	 * been deprecated in PHP 7.4.
	 *
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.implode-reverse-parameters
	 * @link https://wiki.php.net/rfc/deprecations_php_7_4#implode_parameter_order_mix
	 * @link https://php.net/manual/en/function.implode.php
	 *
	 * @since 9.3.0
	 */

	/**
	 * Check for the use of deprecated and removed regex modifiers for PCRE regex functions.
	 *
	 * Initially just checks for the `e` modifier, which was deprecated since PHP 5.5
	 * and removed as of PHP 7.0.
	 *
	 * {@internal If and when this sniff would need to start checking for other modifiers, a minor
	 * refactor will be needed as all references to the `e` modifier are currently hard-coded.}
	 *
	 * PHP version 5.5
	 * PHP version 7.0
	 *
	 * @link https://wiki.php.net/rfc/remove_preg_replace_eval_modifier
	 * @link https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
	 * @link https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
	 *
	 * @since 5.6
	 * @since 7.0.8 This sniff now throws a warning (deprecated) or an error (removed) depending
	 *              on the `testVersion` set. Previously it would always throw an error.
	 * @since 8.2.0 Now extends the `AbstractFunctionCallParameterSniff` instead of the base `Sniff` class.
	 * @since 9.0.0 Renamed from `PregReplaceEModifierSniff` to `RemovedPCREModifiersSniff`.
	 */

	/**
	 * Check for the use of newly added regex modifiers for PCRE functions.
	 *
	 * Initially just checks for the PHP 7.2 new `J` modifier.
	 *
	 * PHP version 7.2+
	 *
	 * @link https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
	 * @link https://www.php.net/manual/en/migration72.new-features.php#migration72.new-features.pcre
	 *
	 * @since 8.2.0
	 * @since 9.0.0 Renamed from `PCRENewModifiersSniff` to `NewPCREModifiersSniff`.
	 */

	/**
	 * As of PHP 7.4, `proc_open()` now also accepts an array instead of a string for the command.
	 *
	 * In that case, the process will be opened directly (without going through a shell) and
	 * PHP will take care of any necessary argument escaping.
	 *
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.standard.proc-open
	 * @link https://www.php.net/manual/en/function.proc-open.php
	 *
	 * @since 9.3.0
	 */

	/**
	 * Check for valid values for the `$format` passed to `pack()`.
	 *
	 * PHP version 5.4+
	 *
	 * @link https://www.php.net/manual/en/function.pack.php#refsect1-function.pack-changelog
	 *
	 * @since 9.0.0
	 */

	/**
	 * Check for valid values for the `fopen()` `$mode` parameter.
	 *
	 * PHP version 5.2+
	 *
	 * @link https://www.php.net/manual/en/function.fopen.php#refsect1-function.fopen-changelog
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect passing deprecated `$type` values to `iconv_get_encoding()`.
	 *
	 * "The iconv and mbstring configuration options related to encoding have been
	 * deprecated in favour of default_charset."
	 *
	 * {@internal It is unclear which mbstring functions should be targetted, so for now,
	 * only the iconv function is handled.}
	 *
	 * PHP version 5.6
	 *
	 * @link https://www.php.net/manual/en/migration56.deprecated.php#migration56.deprecated.iconv-mbstring-encoding
	 * @link https://wiki.php.net/rfc/default_encoding
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect passing a string literal as `$category` to `setlocale()`.
	 *
	 * Support for the category parameter passed as a string has been removed.
	 * Only `LC_*` constants can be used as of PHP 7.0.0.
	 *
	 * PHP version 4.2
	 * PHP version 7.0
	 *
	 * @link https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
	 * @link https://www.php.net/manual/en/function.setlocale.php#refsect1-function.setlocale-changelog
	 *
	 * @since 9.0.0
	 */

	/**
	 * In PHP 5.2 and lower, the `$initial` parameter for `array_reduce()` had to be an integer.
	 *
	 * PHP version 5.3
	 *
	 * @link https://www.php.net/manual/en/migration53.other.php#migration53.other
	 * @link https://www.php.net/manual/en/function.array-reduce.php#refsect1-function.array-reduce-changelog
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect calls to Iconv and Mbstring functions with the optional `$charset`/`$encoding` parameter not set.
	 *
	 * The default value for the iconv `$charset` and the MbString  $encoding` parameters was changed
	 * in PHP 5.6 to the value of `default_charset`, which defaults to `UTF-8`.
	 *
	 * Previously, the iconv functions would default to the value of `iconv.internal_encoding`;
	 * The Mbstring functions would default to the return value of `mb_internal_encoding()`.
	 * In both case, this would normally come down to `ISO-8859-1`.
	 *
	 * PHP version 5.6
	 *
	 * @link https://www.php.net/manual/en/migration56.new-features.php#migration56.new-features.default-encoding
	 * @link https://www.php.net/manual/en/migration56.deprecated.php#migration56.deprecated.iconv-mbstring-encoding
	 * @link https://wiki.php.net/rfc/default_encoding
	 *
	 * @since 9.3.0
	 */

	/**
	 * Detect the use of newly introduced hash algorithms.
	 *
	 * PHP version 5.2+
	 *
	 * @link https://www.php.net/manual/en/function.hash-algos.php#refsect1-function.hash-algos-changelog
	 *
	 * @since 7.0.7
	 * @since 7.1.0 Now extends the `AbstractNewFeatureSniff` instead of the base `Sniff` class..
	 */

	/**
	 * As of PHP 7.4, `strip_tags()` now also accepts an array of `$allowable_tags`.
	 *
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.standard.strip-tags
	 * @link https://www.php.net/manual/en/function.strip-tags.php
	 *
	 * @since 9.3.0
	 */

	/**
	 * Detect: Passing `null` to `get_class()` is no longer allowed as of PHP 7.2.
	 * This will now result in an `E_WARNING` being thrown.
	 *
	 * PHP version 7.2
	 *
	 * @link https://wiki.php.net/rfc/get_class_disallow_null_parameter
	 * @link https://www.php.net/manual/en/function.get-class.php#refsect1-function.get-class-changelog
	 *
	 * @since 9.0.0
	 */

	/**
	 * The default value for the `$variant` parameter has changed from `INTL_IDNA_VARIANT_2003`
	 * to `INTL_IDNA_VARIANT_UTS46` in PHP 7.4.
	 *
	 * PHP version 7.4
	 *
	 * @link https://www.php.net/manual/en/migration74.incompatible.php#migration74.incompatible.intl
	 * @link https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003
	 * @link https://www.php.net/manual/en/function.idn-to-ascii.php
	 * @link https://www.php.net/manual/en/function.idn-to-utf8.php
	 *
	 * @since 9.3.0
	 */

	/**
	 * Since PHP 5.3.4, `strip_tags()` ignores self-closing XHTML tags in allowable_tags
	 *
	 * PHP version 5.3.4
	 *
	 * @link https://www.php.net/manual/en/function.strip-tags.php#refsect1-function.strip-tags-changelog
	 *
	 * @since 9.3.0
	 */

}

namespace PHPCompatibility\Sniffs\Operators {
	/**
	 * Detect code affected by the change in operator precedence of concatenation in PHP 8.0.
	 *
	 * In PHP < 8.0 the operator precedence of `.`, `+` and `-` are the same.
	 * As of PHP 8.0, the operator precedence of the concatenation operator will be
	 * lowered to be right below the `<<` and `>>` operators.
	 *
	 * As of PHP 7.4, a deprecation warning will be thrown upon encountering an
	 * unparenthesized expression containing an `.` before a `+` or `-`.
	 *
	 * PHP version 7.4
	 * PHP version 8.0
	 *
	 * @link https://wiki.php.net/rfc/concatenation_precedence
	 * @link https://www.php.net/manual/en/language.operators.precedence.php
	 *
	 * @since 9.2.0
	 */

	/**
	 * Detect usage of the short ternary (elvis) operator as introduced in PHP 5.3.
	 *
	 * Performs checks on ternary operators, specifically that the middle expression
	 * is not omitted for versions that don't support this.
	 *
	 * PHP version 5.3
	 *
	 * @link https://www.php.net/manual/en/migration53.new-features.php
	 * @link https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary
	 *
	 * @since 7.0.0
	 * @since 7.0.8 This sniff now throws an error instead of a warning.
	 * @since 9.0.0 Renamed from `TernaryOperatorsSniff` to `NewShortTernarySniff`.
	 */

	/**
	 * Bitwise shifts by negative number will throw an ArithmeticError since PHP 7.0.
	 *
	 * PHP version 7.0
	 *
	 * @link https://wiki.php.net/rfc/integer_semantics
	 * @link https://www.php.net/manual/en/migration70.incompatible.php#migration70.incompatible.integers.negative-bitshift
	 *
	 * @since 7.0.0
	 */

	/**
	 * Detect use of new PHP operators.
	 *
	 * PHP version All
	 *
	 * @link https://wiki.php.net/rfc/pow-operator
	 * @link https://wiki.php.net/rfc/combined-comparison-operator
	 * @link https://wiki.php.net/rfc/isset_ternary
	 * @link https://wiki.php.net/rfc/null_coalesce_equal_operator
	 *
	 * @since 9.0.0 Detection of new operators was originally included in the
	 *              `NewLanguageConstruct` sniff (since 5.6).
	 */

	/**
	 * The left-associativity of the ternary operator is deprecated in PHP 7.4 and
	 * removed in PHP 8.0.
	 *
	 * PHP version 7.4
	 * PHP version 8.0
	 *
	 * @link https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.core.nested-ternary
	 * @link https://wiki.php.net/rfc/ternary_associativity
	 * @link https://github.com/php/php-src/pull/4017
	 *
	 * @since 9.2.0
	 */

}

namespace PHPCompatibility\Sniffs\Lists {
	/**
	 * Since PHP 7.1, you can specify keys in `list()`, or its new shorthand `[]` syntax.
	 *
	 * PHP version 7.1
	 *
	 * @link https://wiki.php.net/rfc/list_keys
	 * @link https://www.php.net/manual/en/function.list.php
	 *
	 * @since 9.0.0
	 */

	/**
	 * Support for empty `list()` expressions has been removed in PHP 7.0.
	 *
	 * PHP version 7.0
	 *
	 * @link https://www.php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.list.empty
	 * @link https://wiki.php.net/rfc/abstract_syntax_tree#changes_to_list
	 * @link https://www.php.net/manual/en/function.list.php
	 *
	 * @since 7.0.0
	 */

	/**
	 * Detect code affected by the changed list assignment order in PHP 7.0+.
	 *
	 * The `list()` construct no longer assigns variables in reverse order.
	 * This affects all list constructs where non-unique variables are used.
	 *
	 * PHP version 7.0
	 *
	 * @link https://www.php.net/manual/en/migration70.incompatible.php#migration70.incompatible.variable-handling.list.order
	 * @link https://wiki.php.net/rfc/abstract_syntax_tree#changes_to_list
	 * @link https://www.php.net/manual/en/function.list.php
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect reference assignments in array destructuring using (short) list.
	 *
	 * PHP version 7.3
	 *
	 * @link https://www.php.net/manual/en/migration73.new-features.php#migration73.new-features.core.destruct-reference
	 * @link https://wiki.php.net/rfc/list_reference_assignment
	 * @link https://www.php.net/manual/en/function.list.php
	 *
	 * @since 9.0.0
	 */

	/**
	 * Detect short list syntax for symmetric array destructuring.
	 *
	 * "The shorthand array syntax (`[]`) may now be used to destructure arrays for
	 * assignments (including within `foreach`), as an alternative to the existing
	 * `list()` syntax, which is still supported."
	 *
	 * PHP version 7.1
	 *
	 * @link https://www.php.net/manual/en/migration71.new-features.php#migration71.new-features.symmetric-array-destructuring
	 * @link https://wiki.php.net/rfc/short_list_syntax
	 *
	 * @since 9.0.0
	 */

}

namespace Gettext\Languages {
	/**
	 * A helper class that handles a single category rules (eg 'zero', 'one', ...) and its formula and examples.
	 */
	class Category {

		/**
		 * The category identifier (eg 'zero', 'one', ..., 'other').
		 *
		 * @var string
		 */
		public $id;
		/**
		 * The gettext formula that identifies this category (null if and only if the category is 'other').
		 *
		 * @var string|null
		 */
		public $formula;
		/**
		 * The CLDR representation of some exemplar numeric ranges that satisfy this category.
		 *
		 * @var string|null
		 */
		public $examples;
		/**
		 * Initialize the instance and parse the formula.
		 *
		 * @param string $cldrCategoryId the CLDR category identifier (eg 'pluralRule-count-one')
		 * @param string $cldrFormulaAndExamples the CLDR formula and examples (eg 'i = 1 and v = 0 @integer 1')
		 *
		 * @throws \Exception
		 */
		public function __construct( $cldrCategoryId, $cldrFormulaAndExamples ) {       }
		/**
		 * Return a list of numbers corresponding to the $examples value.
		 *
		 * @throws \Exception throws an Exception if we weren't able to expand the examples
		 *
		 * @return int[]
		 */
		public function getExampleIntegers() {      }
		/**
		 * Expand a list of examples as defined by CLDR.
		 *
		 * @param string $examples A string like '1, 2, 5...7, …'.
		 *
		 * @throws \Exception throws an Exception if we weren't able to expand $examples
		 *
		 * @return int[]
		 */
		public static function expandExamples( $examples ) {        }
	}
	/**
	 * Holds the CLDR data.
	 */
	class CldrData {

		/**
		 * Super-special plural category: this should always be present for any language.
		 *
		 * @var string
		 */
		const OTHER_CATEGORY = 'other';
		/**
		 * The list of the plural categories, sorted from 'zero' to 'other'.
		 *
		 * @var string[]
		 */
		public static $categories = array( 'zero', 'one', 'two', 'few', 'many', self::OTHER_CATEGORY );
		/**
		 * Returns a dictionary containing the language names.
		 * The keys are the language identifiers.
		 * The values are the language names in US English.
		 *
		 * @return string[]
		 */
		public static function getLanguageNames() {         }
		/**
		 * Return a dictionary containing the territory names (in US English).
		 * The keys are the territory identifiers.
		 * The values are the territory names in US English.
		 *
		 * @return string[]
		 */
		public static function getTerritoryNames() {        }
		/**
		 * Return a dictionary containing the script names (in US English).
		 * The keys are the script identifiers.
		 * The values are the script names in US English.
		 *
		 * @param bool $standAlone set to true to retrieve the stand-alone script names, false otherwise
		 *
		 * @return string[]
		 */
		public static function getScriptNames( $standAlone ) {      }
		/**
		 * A dictionary containing the plural rules.
		 * The keys are the language identifiers.
		 * The values are arrays whose keys are the CLDR category names and the values are the CLDR category definition.
		 *
		 * @example The English key-value pair is somethink like this:
		 * <code><pre>
		 * "en": {
		 *     "pluralRule-count-one": "i = 1 and v = 0 @integer 1",
		 *     "pluralRule-count-other": " @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …"
		 * }
		 * </pre></code>
		 *
		 * @return array
		 */
		public static function getPlurals() {       }
		/**
		 * Return a list of superseded language codes.
		 *
		 * @return array keys are the former language codes, values are the new language/locale codes
		 */
		public static function getSupersededLanguages() {       }
		/**
		 * Retrieve the name of a language, as well as if a language code is deprecated in favor of another language code.
		 *
		 * @param string $id the language identifier
		 *
		 * @return array|null Returns an array with the keys 'id' (normalized), 'name', 'supersededBy' (optional), 'territory' (optional), 'script' (optional), 'baseLanguage' (optional), 'categories'. If $id is not valid returns null.
		 */
		public static function getLanguageInfo( $id ) {         }
	}
	/**
	 * A helper class to convert a CLDR formula to a gettext formula.
	 */
	class FormulaConverter {

		/**
		 * Converts a formula from the CLDR representation to the gettext representation.
		 *
		 * @param string $cldrFormula the CLDR formula to convert
		 *
		 * @throws \Exception
		 *
		 * @return bool|string returns true if the gettext will always evaluate to true, false if gettext will always evaluate to false, return the gettext formula otherwise
		 */
		public static function convertFormula( $cldrFormula ) {         }
	}
	/**
	 * Main class to convert the plural rules of a language from CLDR to gettext.
	 */
	class Language {

		/**
		 * The language ID.
		 *
		 * @var string
		 */
		public $id;
		/**
		 * The language name.
		 *
		 * @var string
		 */
		public $name;
		/**
		 * If this language is deprecated: the gettext code of the new language.
		 *
		 * @var string|null
		 */
		public $supersededBy;
		/**
		 * The script name.
		 *
		 * @var string|null
		 */
		public $script;
		/**
		 * The territory name.
		 *
		 * @var string|null
		 */
		public $territory;
		/**
		 * The name of the base language.
		 *
		 * @var string|null
		 */
		public $baseLanguage;
		/**
		 * The list of categories.
		 *
		 * @var \Gettext\Languages\Category[]
		 */
		public $categories;
		/**
		 * The gettext formula to decide which category should be applied.
		 *
		 * @var string
		 */
		public $formula;
		/**
		 * Return a list of all languages available.
		 *
		 * @throws \Exception
		 *
		 * @return \Gettext\Languages\Language[]
		 */
		public static function getAll() {       }
		/**
		 * Return a Language instance given the language id.
		 *
		 * @param string $id
		 *
		 * @return \Gettext\Languages\Language|null
		 */
		public static function getById( $id ) {         }
		/**
		 * Returns a clone of this instance with all the strings to US-ASCII.
		 *
		 * @return \Gettext\Languages\Language
		 */
		public function getUSAsciiClone() {         }
		/**
		 * Build the formula starting from the currently defined categories.
		 *
		 * @param bool $withoutParenthesis TRUE to build a formula in standard gettext format, FALSE (default) to build a PHP-compatible formula
		 *
		 * @return string
		 */
		public function buildFormula( $withoutParenthesis = false ) {       }
	}
}

namespace Gettext\Languages\Exporter {
	/**
	 * Base class for all the exporters.
	 */
	abstract class Exporter {

		/**
		 * Return the list of all the available exporters. Keys are the exporter handles, values are the exporter class names.
		 *
		 * @param bool $onlyForPublicUse if true, internal exporters will be omitted
		 *
		 * @return string[]
		 */
		final public static function getExporters( $onlyForPublicUse = false ) {        }
		/**
		 * Return the description of a specific exporter.
		 *
		 * @param string $exporterHandle the handle of the exporter
		 *
		 * @throws \Exception throws an Exception if $exporterHandle is not valid
		 *
		 * @return string
		 */
		final public static function getExporterDescription( $exporterHandle ) {        }
		/**
		 * Returns the fully qualified class name of a exporter given its handle.
		 *
		 * @param string $exporterHandle the exporter class handle
		 *
		 * @return string
		 */
		final public static function getExporterClassName( $exporterHandle ) {      }
		/**
		 * Convert a list of Language instances to string.
		 *
		 * @param \Gettext\Languages\Language[] $languages the Language instances to convert
		 * @param array|null                    $options
		 *
		 * @return string
		 */
		final public static function toString( $languages, $options = null ) {      }
		/**
		 * Save the Language instances to a file.
		 *
		 * @param \Gettext\Languages\Language[] $languages the Language instances to convert
		 * @param array|null                    $options
		 *
		 * @throws \Exception
		 */
		final public static function toFile( $languages, $filename, $options = null ) {         }
		/**
		 * Is this exporter for public use?
		 *
		 * @return bool
		 */
		public static function isForPublicUse() {       }
		/**
		 * Return a short description of the exporter.
		 *
		 * @return string
		 */
		public static function getDescription() {       }
		/**
		 * Convert a list of Language instances to string.
		 *
		 * @param \Gettext\Languages\Language[] $languages the Language instances to convert
		 *
		 * @return string
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Json extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * Return the options for json_encode.
		 *
		 * @return int
		 */
		protected static function getEncodeOptions() {      }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Ruby extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Po extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Xml extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Prettyjson extends \Gettext\Languages\Exporter\Json {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Json::getEncodeOptions()
		 */
		protected static function getEncodeOptions() {      }
	}
	class Html extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
		protected static function h( $str ) {       }
		protected static function buildTable( $languages, $forDocs ) {      }
	}
	class Docs extends \Gettext\Languages\Exporter\Html {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::isForPublicUse()
		 */
		public static function isForPublicUse() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
	class Php extends \Gettext\Languages\Exporter\Exporter {

		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::getDescription()
		 */
		public static function getDescription() {       }
		/**
		 * {@inheritdoc}
		 *
		 * @see \Gettext\Languages\Exporter\Exporter::toStringDo()
		 */
		protected static function toStringDo( $languages ) {        }
	}
}

namespace Gettext {
	/**
	 * Class to manage a translation string.
	 */
	class Translation {

		protected $id;
		protected $context;
		protected $original;
		protected $translation = '';
		protected $plural;
		protected $pluralTranslation = array();
		protected $references        = array();
		protected $comments          = array();
		protected $extractedComments = array();
		protected $flags             = array();
		protected $disabled          = false;
		/**
		 * Generates the id of a translation (context + glue + original).
		 *
		 * @param string $context
		 * @param string $original
		 *
		 * @return string
		 */
		public static function generateId( $context, $original ) {      }
		/**
		 * Create a new instance of a Translation object.
		 *
		 * This is a factory method that will work even when Translation is extended.
		 *
		 * @param string $context  The context of the translation
		 * @param string $original The original string
		 * @param string $plural   The original plural string
		 * @return static New Translation instance
		 */
		public static function create( $context, $original, $plural = '' ) {        }
		/**
		 * Construct.
		 *
		 * @param string $context  The context of the translation
		 * @param string $original The original string
		 * @param string $plural   The original plural string
		 */
		public function __construct( $context, $original, $plural = '' ) {      }
		/**
		 * Clones this translation.
		 *
		 * @param null|string $context  Optional new context
		 * @param null|string $original Optional new original
		 *
		 * @return Translation
		 */
		public function getClone( $context = null, $original = null ) {         }
		/**
		 * Sets the id of this translation.
		 *
		 * @warning The use of this function to set a custom ID will prevent
		 *  Translations::find from matching this translation.
		 *
		 * @param string $id
		 */
		public function setId( $id ) {      }
		/**
		 * Returns the id of this translation.
		 *
		 * @return string
		 */
		public function getId() {       }
		/**
		 * Checks whether the translation matches with the arguments.
		 *
		 * @param string $context
		 * @param string $original
		 *
		 * @return bool
		 */
		public function is( $context, $original = '' ) {        }
		/**
		 * Enable or disable the translation
		 *
		 * @param bool $disabled
		 *
		 * @return self
		 */
		public function setDisabled( $disabled ) {      }
		/**
		 * Returns whether the translation is disabled
		 *
		 * @return bool
		 */
		public function isDisabled() {      }
		/**
		 * Gets the original string.
		 *
		 * @return string
		 */
		public function getOriginal() {         }
		/**
		 * Checks if the original string is empty or not.
		 *
		 * @return bool
		 */
		public function hasOriginal() {         }
		/**
		 * Sets the translation string.
		 *
		 * @param string $translation
		 *
		 * @return self
		 */
		public function setTranslation( $translation ) {        }
		/**
		 * Gets the translation string.
		 *
		 * @return string
		 */
		public function getTranslation() {      }
		/**
		 * Checks if the translation string is empty or not.
		 *
		 * @return bool
		 */
		public function hasTranslation() {      }
		/**
		 * Sets the plural translation string.
		 *
		 * @param string $plural
		 *
		 * @return self
		 */
		public function setPlural( $plural ) {      }
		/**
		 * Gets the plural translation string.
		 *
		 * @return string
		 */
		public function getPlural() {       }
		/**
		 * Checks if the plural translation string is empty or not.
		 *
		 * @return bool
		 */
		public function hasPlural() {       }
		/**
		 * Set a new plural translation.
		 *
		 * @param array $plural
		 *
		 * @return self
		 */
		public function setPluralTranslations( array $plural ) {        }
		/**
		 * Gets all plural translations.
		 *
		 * @param int $size
		 *
		 * @return array
		 */
		public function getPluralTranslations( $size = null ) {         }
		/**
		 * Checks if there are any plural translation.
		 *
		 * @param bool $checkContent
		 *
		 * @return bool
		 */
		public function hasPluralTranslations( $checkContent = false ) {        }
		/**
		 * Removes all plural translations.
		 *
		 * @return self
		 */
		public function deletePluralTranslation() {         }
		/**
		 * Gets the context of this translation.
		 *
		 * @return string
		 */
		public function getContext() {      }
		/**
		 * Checks if the context is empty or not.
		 *
		 * @return bool
		 */
		public function hasContext() {      }
		/**
		 * Adds a new reference for this translation.
		 *
		 * @param string   $filename The file path where the translation has been found
		 * @param null|int $line     The line number where the translation has been found
		 *
		 * @return self
		 */
		public function addReference( $filename, $line = null ) {       }
		/**
		 * Checks if the translation has any reference.
		 *
		 * @return bool
		 */
		public function hasReferences() {       }
		/**
		 * Return all references for this translation.
		 *
		 * @return array
		 */
		public function getReferences() {       }
		/**
		 * Removes all references.
		 *
		 * @return self
		 */
		public function deleteReferences() {        }
		/**
		 * Adds a new comment for this translation.
		 *
		 * @param string $comment
		 *
		 * @return self
		 */
		public function addComment( $comment ) {        }
		/**
		 * Checks if the translation has any comment.
		 *
		 * @return bool
		 */
		public function hasComments() {         }
		/**
		 * Returns all comments for this translation.
		 *
		 * @return array
		 */
		public function getComments() {         }
		/**
		 * Removes all comments.
		 *
		 * @return self
		 */
		public function deleteComments() {      }
		/**
		 * Adds a new extracted comment for this translation.
		 *
		 * @param string $comment
		 *
		 * @return self
		 */
		public function addExtractedComment( $comment ) {       }
		/**
		 * Checks if the translation has any extracted comment.
		 *
		 * @return bool
		 */
		public function hasExtractedComments() {        }
		/**
		 * Returns all extracted comments for this translation.
		 *
		 * @return array
		 */
		public function getExtractedComments() {        }
		/**
		 * Removes all extracted comments.
		 *
		 * @return self
		 */
		public function deleteExtractedComments() {         }
		/**
		 * Adds a new flag for this translation.
		 *
		 * @param string $flag
		 *
		 * @return self
		 */
		public function addFlag( $flag ) {      }
		/**
		 * Checks if the translation has any flag.
		 *
		 * @return bool
		 */
		public function hasFlags() {        }
		/**
		 * Returns all extracted flags for this translation.
		 *
		 * @return array
		 */
		public function getFlags() {        }
		/**
		 * Removes all flags.
		 *
		 * @return self
		 */
		public function deleteFlags() {         }
		/**
		 * Merges this translation with other translation.
		 *
		 * @param Translation $translation The translation to merge with
		 * @param int         $options
		 *
		 * @return self
		 */
		public function mergeWith( \Gettext\Translation $translation, $options = \Gettext\Merge::DEFAULTS ) {       }
	}
	/**
	 * Interface used by all translators.
	 */
	interface TranslatorInterface {

		/**
		 * Register this translator as global, to use with the gettext functions __(), p__(), etc.
		 * Returns the previous translator if exists.
		 *
		 * @return TranslatorInterface|null
		 */
		public function register();
		/**
		 * Noop, marks the string for translation but returns it unchanged.
		 *
		 * @param string $original
		 *
		 * @return string
		 */
		public function noop( $original);
		/**
		 * Gets a translation using the original string.
		 *
		 * @param string $original
		 *
		 * @return string
		 */
		public function gettext( $original);
		/**
		 * Gets a translation checking the plural form.
		 *
		 * @param string $original
		 * @param string $plural
		 * @param string $value
		 *
		 * @return string
		 */
		public function ngettext( $original, $plural, $value);
		/**
		 * Gets a translation checking the domain and the plural form.
		 *
		 * @param string $domain
		 * @param string $original
		 * @param string $plural
		 * @param string $value
		 *
		 * @return string
		 */
		public function dngettext( $domain, $original, $plural, $value);
		/**
		 * Gets a translation checking the context and the plural form.
		 *
		 * @param string $context
		 * @param string $original
		 * @param string $plural
		 * @param string $value
		 *
		 * @return string
		 */
		public function npgettext( $context, $original, $plural, $value);
		/**
		 * Gets a translation checking the context.
		 *
		 * @param string $context
		 * @param string $original
		 *
		 * @return string
		 */
		public function pgettext( $context, $original);
		/**
		 * Gets a translation checking the domain.
		 *
		 * @param string $domain
		 * @param string $original
		 *
		 * @return string
		 */
		public function dgettext( $domain, $original);
		/**
		 * Gets a translation checking the domain and context.
		 *
		 * @param string $domain
		 * @param string $context
		 * @param string $original
		 *
		 * @return string
		 */
		public function dpgettext( $domain, $context, $original);
		/**
		 * Gets a translation checking the domain, the context and the plural form.
		 *
		 * @param string $domain
		 * @param string $context
		 * @param string $original
		 * @param string $plural
		 * @param string $value
		 */
		public function dnpgettext( $domain, $context, $original, $plural, $value);
	}
	abstract class BaseTranslator implements \Gettext\TranslatorInterface {

		/** @var TranslatorInterface */
		public static $current;
		/**
		 * @see TranslatorInterface
		 */
		public function noop( $original ) {         }
		/**
		 * @see TranslatorInterface
		 */
		public function register() {        }
		/**
		 * Include the gettext functions
		 */
		public static function includeFunctions() {         }
	}
	class Translator extends \Gettext\BaseTranslator implements \Gettext\TranslatorInterface {

		protected $domain;
		protected $dictionary = array();
		protected $plurals    = array();
		/**
		 * Loads translation from a Translations instance, a file on an array.
		 *
		 * @param Translations|string|array $translations
		 *
		 * @return static
		 */
		public function loadTranslations( $translations ) {         }
		/**
		 * Set the default domain.
		 *
		 * @param string $domain
		 *
		 * @return static
		 */
		public function defaultDomain( $domain ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function gettext( $original ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function ngettext( $original, $plural, $value ) {        }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dngettext( $domain, $original, $plural, $value ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function npgettext( $context, $original, $plural, $value ) {         }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function pgettext( $context, $original ) {       }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dgettext( $domain, $original ) {        }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dpgettext( $domain, $context, $original ) {         }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dnpgettext( $domain, $context, $original, $plural, $value ) {       }
		/**
		 * Set new translations to the dictionary.
		 *
		 * @param array $translations
		 */
		protected function addTranslations( array $translations ) {         }
		/**
		 * Search and returns a translation.
		 *
		 * @param string $domain
		 * @param string $context
		 * @param string $original
		 *
		 * @return string|false
		 */
		protected function getTranslation( $domain, $context, $original ) {         }
		/**
		 * Executes the plural decision code given the number to decide which
		 * plural version to take.
		 *
		 * @param string $domain
		 * @param string $n
		 * @param bool   $fallback set to true to get fallback plural index
		 *
		 * @return int
		 */
		protected function getPluralIndex( $domain, $n, $fallback ) {       }
	}
}

namespace Gettext\Utils {
	class StringReader {

		public $pos;
		public $str;
		public $strlen;
		/**
		 * Constructor.
		 *
		 * @param string $str The string to read
		 */
		public function __construct( $str ) {       }
		/**
		 * Read and returns a part of the string.
		 *
		 * @param int $bytes The number of bytes to read
		 *
		 * @return string
		 */
		public function read( $bytes ) {        }
		/**
		 * Move the cursor to a specific position.
		 *
		 * @param int $pos The amount of bytes to move
		 *
		 * @return int The new position
		 */
		public function seekto( $pos ) {        }
	}
	/**
	 * Function parsed by PhpFunctionsScanner.
	 */
	class ParsedFunction {

		/**
		 * The function name.
		 *
		 * @var string
		 */
		protected $name;
		/**
		 * The line where the function starts.
		 *
		 * @var int
		 */
		protected $line;
		/**
		 * The strings extracted from the function arguments.
		 *
		 * @var string[]
		 */
		protected $arguments;
		/**
		 * The current index of the function (-1 if no arguments).
		 *
		 * @var int|null
		 */
		protected $argumentIndex;
		/**
		 * Shall we stop adding string chunks to the current argument?
		 *
		 * @var bool
		 */
		protected $argumentStopped;
		/**
		 * Extracted comments.
		 *
		 * @var ParsedComment[]|null
		 */
		protected $comments;
		/**
		 * Initializes the instance.
		 *
		 * @param string $name The function name.
		 * @param int    $line The line where the function starts.
		 */
		public function __construct( $name, $line ) {       }
		/**
		 * Stop extracting strings from the current argument (because we found something that's not a string).
		 */
		public function stopArgument() {        }
		/**
		 * Go to the next argument because we a comma was found.
		 */
		public function nextArgument() {        }
		/**
		 * Add a string to the current argument.
		 *
		 * @param string|null $chunk
		 */
		public function addArgumentChunk( $chunk ) {        }
		/**
		 * Add a comment associated to this function.
		 *
		 * @param ParsedComment $comment
		 */
		public function addComment( $comment ) {        }
		/**
		 * Return the line the function starts.
		 *
		 * @return int Line number.
		 */
		public function getLine() {         }
		/**
		 * A closing parenthesis was found: return the final data.
		 * The array returned has the following values:
		 *  0 => string The function name.
		 *  1 => int The line where the function starts.
		 *  2 => string[] the strings extracted from the function arguments.
		 *  3 => string[] the comments associated to the function.
		 *
		 * @return array
		 */
		public function close() {       }
	}
	/*
	 * Trait to provide the functionality of read/write csv.
	 */
	trait CsvTrait {

		protected static $csvEscapeChar;
		/**
		 * Check whether support the escape_char argument to fgetcsv/fputcsv or not
		 *
		 * @return bool
		 */
		protected static function supportsCsvEscapeChar() {         }
		/**
		 * @param resource $handle
		 * @param array    $options
		 *
		 * @return array
		 */
		protected static function fgetcsv( $handle, $options ) {        }
		/**
		 * @param resource $handle
		 * @param array    $fields
		 * @param array    $options
		 *
		 * @return bool|int
		 */
		protected static function fputcsv( $handle, $fields, $options ) {       }
	}
	/**
	 * Trait used by all generators that exports the translations to plain dictionary (original => singular-translation).
	 */
	trait DictionaryTrait {

		use \Gettext\Utils\HeadersGeneratorTrait;
		use \Gettext\Utils\HeadersExtractorTrait;
		/**
		 * Returns a plain dictionary with the format [original => translation].
		 *
		 * @param Translations $translations
		 * @param bool         $includeHeaders
		 *
		 * @return array
		 */
		protected static function toArray( \Gettext\Translations $translations, $includeHeaders ) {         }
		/**
		 * Extract the entries from a dictionary.
		 *
		 * @param array        $messages
		 * @param Translations $translations
		 */
		protected static function fromArray( array $messages, \Gettext\Translations $translations ) {       }
	}
	/**
	 * Comment parsed by PhpFunctionsScanner.
	 */
	class ParsedComment {

		/**
		 * The comment itself.
		 *
		 * @var string
		 */
		protected $comment;
		/**
		 * The line where the comment starts.
		 *
		 * @var int
		 */
		protected $firstLine;
		/**
		 * The line where the comment ends.
		 *
		 * @var int
		 */
		protected $lastLine;
		/**
		 * Initializes the instance.
		 *
		 * @param string $comment The comment itself.
		 * @param int    $firstLine The line where the comment starts.
		 * @param int    $lastLine The line where the comment ends.
		 */
		public function __construct( $comment, $firstLine, $lastLine ) {        }
		/**
		 * Create new object from raw comment data.
		 *
		 * @param string $value The PHP comment string.
		 * @param int    $line The line where the comment starts.
		 *
		 * @return static The parsed comment.
		 */
		public static function create( $value, $line ) {        }
		/**
		 * Return the line where the comment starts.
		 *
		 * @return int Line number.
		 */
		public function getFirstLine() {        }
		/**
		 * Return the line where the comment ends.
		 *
		 * @return int Line number.
		 */
		public function getLastLine() {         }
		/**
		 * Return the actual comment string.
		 *
		 * @return string The comment.
		 */
		public function getComment() {      }
		/**
		 * Whether this comment is related with a given function.
		 *
		 * @param ParsedFunction $function The function to check.
		 * @return bool Whether the comment is related or not.
		 */
		public function isRelatedWith( \Gettext\Utils\ParsedFunction $function ) {      }
		/**
		 * Whether the comment matches the required prefixes.
		 *
		 * @param array $prefixes An array of prefixes to check.
		 * @return bool Whether the comment matches the prefixes or not.
		 */
		public function checkPrefixes( array $prefixes ) {      }
	}
}

namespace Gettext {
	/**
	 * Static class with merge contants.
	 */
	final class Merge {

		const ADD                       = 1;
		const REMOVE                    = 2;
		const HEADERS_ADD               = 4;
		const HEADERS_REMOVE            = 8;
		const HEADERS_OVERRIDE          = 16;
		const LANGUAGE_OVERRIDE         = 32;
		const DOMAIN_OVERRIDE           = 64;
		const TRANSLATION_OVERRIDE      = 128;
		const COMMENTS_OURS             = 256;
		const COMMENTS_THEIRS           = 512;
		const EXTRACTED_COMMENTS_OURS   = 1024;
		const EXTRACTED_COMMENTS_THEIRS = 2048;
		const FLAGS_OURS                = 4096;
		const FLAGS_THEIRS              = 8192;
		const REFERENCES_OURS           = 16384;
		const REFERENCES_THEIRS         = 32768;
		const DEFAULTS                  = 5;
		// 1 + 4
		/**
		 * Merge the flags of two translations.
		 *
		 * @param Translation $from
		 * @param Translation $to
		 * @param int         $options
		 */
		public static function mergeFlags( \Gettext\Translation $from, \Gettext\Translation $to, $options = self::DEFAULTS ) {      }
		/**
		 * Merge the extracted comments of two translations.
		 *
		 * @param Translation $from
		 * @param Translation $to
		 * @param int         $options
		 */
		public static function mergeExtractedComments( \Gettext\Translation $from, \Gettext\Translation $to, $options = self::DEFAULTS ) {      }
		/**
		 * Merge the comments of two translations.
		 *
		 * @param Translation $from
		 * @param Translation $to
		 * @param int         $options
		 */
		public static function mergeComments( \Gettext\Translation $from, \Gettext\Translation $to, $options = self::DEFAULTS ) {       }
		/**
		 * Merge the references of two translations.
		 *
		 * @param Translation $from
		 * @param Translation $to
		 * @param int         $options
		 */
		public static function mergeReferences( \Gettext\Translation $from, \Gettext\Translation $to, $options = self::DEFAULTS ) {         }
		/**
		 * Merge the translations of two translations.
		 *
		 * @param Translation $from
		 * @param Translation $to
		 * @param int         $options
		 */
		public static function mergeTranslation( \Gettext\Translation $from, \Gettext\Translation $to, $options = self::DEFAULTS ) {        }
		/**
		 * Merge the translations of two translations.
		 *
		 * @param Translations $from
		 * @param Translations $to
		 * @param int          $options
		 */
		public static function mergeTranslations( \Gettext\Translations $from, \Gettext\Translations $to, $options = self::DEFAULTS ) {         }
		/**
		 * Merge the headers of two translations.
		 *
		 * @param Translations $from
		 * @param Translations $to
		 * @param int          $options
		 */
		public static function mergeHeaders( \Gettext\Translations $from, \Gettext\Translations $to, $options = self::DEFAULTS ) {      }
	}
	/**
	 * Class to manage a collection of translations.
	 *
	 * @method static $this fromBladeFile(string $filename, array $options = [])
	 * @method static $this fromBladeString(string $string, array $options = [])
	 * @method $this addFromBladeFile(string $filename, array $options = [])
	 * @method $this addFromBladeString(string $string, array $options = [])
	 * @method static $this fromCsvFile(string $filename, array $options = [])
	 * @method static $this fromCsvString(string $string, array $options = [])
	 * @method $this addFromCsvFile(string $filename, array $options = [])
	 * @method $this addFromCsvString(string $string, array $options = [])
	 * @method bool toCsvFile(string $filename, array $options = [])
	 * @method string toCsvString(array $options = [])
	 * @method static $this fromCsvDictionaryFile(string $filename, array $options = [])
	 * @method static $this fromCsvDictionaryString(string $string, array $options = [])
	 * @method $this addFromCsvDictionaryFile(string $filename, array $options = [])
	 * @method $this addFromCsvDictionaryString(string $string, array $options = [])
	 * @method bool toCsvDictionaryFile(string $filename, array $options = [])
	 * @method string toCsvDictionaryString(array $options = [])
	 * @method static $this fromJedFile(string $filename, array $options = [])
	 * @method static $this fromJedString(string $string, array $options = [])
	 * @method $this addFromJedFile(string $filename, array $options = [])
	 * @method $this addFromJedString(string $string, array $options = [])
	 * @method bool toJedFile(string $filename, array $options = [])
	 * @method string toJedString(array $options = [])
	 * @method static $this fromJsCodeFile(string $filename, array $options = [])
	 * @method static $this fromJsCodeString(string $string, array $options = [])
	 * @method $this addFromJsCodeFile(string $filename, array $options = [])
	 * @method $this addFromJsCodeString(string $string, array $options = [])
	 * @method static $this fromJsonFile(string $filename, array $options = [])
	 * @method static $this fromJsonString(string $string, array $options = [])
	 * @method $this addFromJsonFile(string $filename, array $options = [])
	 * @method $this addFromJsonString(string $string, array $options = [])
	 * @method bool toJsonFile(string $filename, array $options = [])
	 * @method string toJsonString(array $options = [])
	 * @method static $this fromJsonDictionaryFile(string $filename, array $options = [])
	 * @method static $this fromJsonDictionaryString(string $string, array $options = [])
	 * @method $this addFromJsonDictionaryFile(string $filename, array $options = [])
	 * @method $this addFromJsonDictionaryString(string $string, array $options = [])
	 * @method bool toJsonDictionaryFile(string $filename, array $options = [])
	 * @method string toJsonDictionaryString(array $options = [])
	 * @method static $this fromMoFile(string $filename, array $options = [])
	 * @method static $this fromMoString(string $string, array $options = [])
	 * @method $this addFromMoFile(string $filename, array $options = [])
	 * @method $this addFromMoString(string $string, array $options = [])
	 * @method bool toMoFile(string $filename, array $options = [])
	 * @method string toMoString(array $options = [])
	 * @method static $this fromPhpArrayFile(string $filename, array $options = [])
	 * @method static $this fromPhpArrayString(string $string, array $options = [])
	 * @method $this addFromPhpArrayFile(string $filename, array $options = [])
	 * @method $this addFromPhpArrayString(string $string, array $options = [])
	 * @method bool toPhpArrayFile(string $filename, array $options = [])
	 * @method string toPhpArrayString(array $options = [])
	 * @method static $this fromPhpCodeFile(string $filename, array $options = [])
	 * @method static $this fromPhpCodeString(string $string, array $options = [])
	 * @method $this addFromPhpCodeFile(string $filename, array $options = [])
	 * @method $this addFromPhpCodeString(string $string, array $options = [])
	 * @method static $this fromPoFile(string $filename, array $options = [])
	 * @method static $this fromPoString(string $string, array $options = [])
	 * @method $this addFromPoFile(string $filename, array $options = [])
	 * @method $this addFromPoString(string $string, array $options = [])
	 * @method bool toPoFile(string $filename, array $options = [])
	 * @method string toPoString(array $options = [])
	 * @method static $this fromTwigFile(string $filename, array $options = [])
	 * @method static $this fromTwigString(string $string, array $options = [])
	 * @method $this addFromTwigFile(string $filename, array $options = [])
	 * @method $this addFromTwigString(string $string, array $options = [])
	 * @method static $this fromVueJsFile(string $filename, array $options = [])
	 * @method static $this fromVueJsString(string $filename, array $options = [])
	 * @method $this addFromVueJsFile(string $filename, array $options = [])
	 * @method $this addFromVueJsString(string $filename, array $options = [])
	 * @method static $this fromXliffFile(string $filename, array $options = [])
	 * @method static $this fromXliffString(string $string, array $options = [])
	 * @method $this addFromXliffFile(string $filename, array $options = [])
	 * @method $this addFromXliffString(string $string, array $options = [])
	 * @method bool toXliffFile(string $filename, array $options = [])
	 * @method string toXliffString(array $options = [])
	 * @method static $this fromYamlFile(string $filename, array $options = [])
	 * @method static $this fromYamlString(string $string, array $options = [])
	 * @method $this addFromYamlFile(string $filename, array $options = [])
	 * @method $this addFromYamlString(string $string, array $options = [])
	 * @method bool toYamlFile(string $filename, array $options = [])
	 * @method string toYamlString(array $options = [])
	 * @method static $this fromYamlDictionaryFile(string $filename, array $options = [])
	 * @method static $this fromYamlDictionaryString(string $string, array $options = [])
	 * @method $this addFromYamlDictionaryFile(string $filename, array $options = [])
	 * @method $this addFromYamlDictionaryString(string $string, array $options = [])
	 * @method bool toYamlDictionaryFile(string $filename, array $options = [])
	 * @method string toYamlDictionaryString(array $options = [])
	 */
	class Translations extends \ArrayObject {

		const HEADER_LANGUAGE  = 'Language';
		const HEADER_PLURAL    = 'Plural-Forms';
		const HEADER_DOMAIN    = 'X-Domain';
		public static $options = array(
			'defaultHeaders'     => array(
				'Project-Id-Version'        => '',
				'Report-Msgid-Bugs-To'      => '',
				'Last-Translator'           => '',
				'Language-Team'             => '',
				'MIME-Version'              => '1.0',
				'Content-Type'              => 'text/plain; charset=UTF-8',
				'Content-Transfer-Encoding' => '8bit',
			),
			'headersSorting'     => false,
			'defaultDateHeaders' => array( 'POT-Creation-Date', 'PO-Revision-Date' ),
		);
		protected $headers;
		protected $translationClass;
		/**
		 * @see ArrayObject::__construct()
		 */
		public function __construct( $input = array(), $flags = 0, $iterator_class = 'ArrayIterator', $translationClass = 'Gettext\\Translation' ) {        }
		/**
		 * Magic method to create new instances using extractors
		 * For example: Translations::fromMoFile($filename, $options);.
		 *
		 * @return Translations
		 */
		public static function __callStatic( $name, $arguments ) {      }
		/**
		 * Magic method to import/export the translations to a specific format
		 * For example: $translations->toMoFile($filename, $options);
		 * For example: $translations->addFromMoFile($filename, $options);.
		 *
		 * @return self|bool
		 */
		public function __call( $name, $arguments ) {       }
		/**
		 * Magic method to clone each translation on clone the translations object.
		 */
		public function __clone() {         }
		/**
		 * Control the new translations added.
		 *
		 * @param mixed       $index
		 * @param Translation $value
		 *
		 * @throws InvalidArgumentException If the value is not an instance of Gettext\Translation
		 *
		 * @return Translation
		 */
		#[\ReturnTypeWillChange]
		public function offsetSet( $index, $value ) {       }
		/**
		 * Set the plural definition.
		 *
		 * @param int    $count
		 * @param string $rule
		 *
		 * @return self
		 */
		public function setPluralForms( $count, $rule ) {       }
		/**
		 * Returns the parsed plural definition.
		 *
		 * @param null|array [count, rule]
		 */
		public function getPluralForms() {      }
		/**
		 * Set a new header.
		 *
		 * @param string $name
		 * @param string $value
		 *
		 * @return self
		 */
		public function setHeader( $name, $value ) {        }
		/**
		 * Returns a header value.
		 *
		 * @param string $name
		 *
		 * @return null|string
		 */
		public function getHeader( $name ) {        }
		/**
		 * Returns all header for this translations (in alphabetic order).
		 *
		 * @return array
		 */
		public function getHeaders() {      }
		/**
		 * Removes all headers.
		 *
		 * @return self
		 */
		public function deleteHeaders() {       }
		/**
		 * Removes one header.
		 *
		 * @param string $name
		 *
		 * @return self
		 */
		public function deleteHeader( $name ) {         }
		/**
		 * Returns the language value.
		 *
		 * @return string $language
		 */
		public function getLanguage() {         }
		/**
		 * Sets the language and the plural forms.
		 *
		 * @param string $language
		 *
		 * @throws InvalidArgumentException if the language hasn't been recognized
		 *
		 * @return self
		 */
		public function setLanguage( $language ) {      }
		/**
		 * Checks whether the language is empty or not.
		 *
		 * @return bool
		 */
		public function hasLanguage() {         }
		/**
		 * Set a new domain for this translations.
		 *
		 * @param string $domain
		 *
		 * @return self
		 */
		public function setDomain( $domain ) {      }
		/**
		 * Returns the domain.
		 *
		 * @return string
		 */
		public function getDomain() {       }
		/**
		 * Checks whether the domain is empty or not.
		 *
		 * @return bool
		 */
		public function hasDomain() {       }
		/**
		 * Search for a specific translation.
		 *
		 * @param string|Translation $context  The context of the translation or a translation instance
		 * @param string             $original The original string
		 * @warning Translations with custom identifiers (e.g. XLIFF unit IDs) cannot be found using this function.
		 *
		 * @return Translation|false
		 */
		public function find( $context, $original = '' ) {      }
		/**
		 * Count all elements translated
		 *
		 * @return integer
		 */
		public function countTranslated() {         }
		/**
		 * Creates and insert/merges a new translation.
		 *
		 * @param string $context  The translation context
		 * @param string $original The translation original string
		 * @param string $plural   The translation original plural string
		 *
		 * @return Translation The translation created
		 */
		public function insert( $context, $original, $plural = '' ) {       }
		/**
		 * Merges this translations with other translations.
		 *
		 * @param Translations $translations The translations instance to merge with
		 * @param int          $options
		 *
		 * @return self
		 */
		public function mergeWith( \Gettext\Translations $translations, $options = \Gettext\Merge::DEFAULTS ) {         }
		/**
		 * Create a new instance of a Translation object.
		 *
		 * @param string $context  The context of the translation
		 * @param string $original The original string
		 * @param string $plural   The original plural string
		 * @return Translation New Translation instance
		 */
		public function createNewTranslation( $context, $original, $plural = '' ) {         }
	}
}

namespace Gettext\Generators {
	class JsonDictionary extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\DictionaryTrait;
		public static $options = array(
			'json'           => 0,
			'includeHeaders' => false,
		);
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	class Json extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		public static $options = array(
			'json'           => 0,
			'includeHeaders' => false,
		);
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	class Xliff extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		const UNIT_ID_REGEXP = '/^XLIFF_UNIT_ID: (.*)$/';
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
		protected static function createTextNode( \DOMDocument $dom, $name, $string ) {         }
		/**
		 * Gets the translation's unit ID, if one is available.
		 *
		 * @param Translation $translation
		 *
		 * @return string|null
		 */
		public static function getUnitID( \Gettext\Translation $translation ) {         }
	}
	class YamlDictionary extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\DictionaryTrait;
		public static $options = array(
			'includeHeaders' => false,
			'indent'         => 2,
			'inline'         => 3,
		);
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	class Yaml extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		public static $options = array(
			'includeHeaders' => false,
			'indent'         => 2,
			'inline'         => 4,
		);
		/**
		 * {@inheritdoc}
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	class Mo extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\HeadersGeneratorTrait;
		public static $options = array( 'includeHeaders' => true );
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	/**
	 * Class to export translations to csv.
	 */
	class Csv extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\HeadersGeneratorTrait;
		use \Gettext\Utils\CsvTrait;
		public static $options = array(
			'includeHeaders' => false,
			'delimiter'      => ',',
			'enclosure'      => '"',
			'escape_char'    => '\\',
		);
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
	class CsvDictionary extends \Gettext\Generators\Generator implements \Gettext\Generators\GeneratorInterface {

		use \Gettext\Utils\DictionaryTrait;
		use \Gettext\Utils\CsvTrait;
		public static $options = array(
			'includeHeaders' => false,
			'delimiter'      => ',',
			'enclosure'      => '"',
			'escape_char'    => '\\',
		);
		/**
		 * {@parentDoc}.
		 */
		public static function toString( \Gettext\Translations $translations, array $options = array() ) {      }
	}
}

namespace Gettext\Extractors {
	/**
	 * Class to get gettext strings from plain json.
	 */
	class JsonDictionary extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\DictionaryTrait;
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from json.
	 */
	class Json extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from xliff format.
	 */
	class Xliff extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		public static $options = array( 'unitid_as_id' => false );
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from php files returning arrays.
	 */
	class PhpArray extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		/**
		 * {@inheritdoc}
		 */
		public static function fromFile( $file, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from php files returning arrays.
	 */
	class Po extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\HeadersExtractorTrait;
		/**
		 * Parses a .po file and append the translations found in the Translations instance.
		 *
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * Gets one string from multiline strings.
		 *
		 * @param string $line
		 * @param array  $lines
		 * @param int    &$i
		 *
		 * @return string
		 */
		protected static function fixMultiLines( $line, array $lines, &$i ) {       }
		/**
		 * Convert a string from its PO representation.
		 *
		 * @param string $value
		 *
		 * @return string
		 */
		public static function convertString( $value ) {        }
	}
	/**
	 * Class to get gettext strings from yaml.
	 */
	class YamlDictionary extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\DictionaryTrait;
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from VueJS template files.
	 */
	class VueJs extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface, \Gettext\Extractors\ExtractorMultiInterface {

		public static $options                  = array(
			'constants' => array(),
			'functions' => array(
				'gettext'    => 'gettext',
				'__'         => 'gettext',
				'ngettext'   => 'ngettext',
				'n__'        => 'ngettext',
				'pgettext'   => 'pgettext',
				'p__'        => 'pgettext',
				'dgettext'   => 'dgettext',
				'd__'        => 'dgettext',
				'dngettext'  => 'dngettext',
				'dn__'       => 'dngettext',
				'dpgettext'  => 'dpgettext',
				'dp__'       => 'dpgettext',
				'npgettext'  => 'npgettext',
				'np__'       => 'npgettext',
				'dnpgettext' => 'dnpgettext',
				'dnp__'      => 'dnpgettext',
				'noop'       => 'noop',
				'noop__'     => 'noop',
			),
		);
		protected static $functionsScannerClass = 'Gettext\\Utils\\JsFunctionsScanner';
		/**
		 * @inheritDoc
		 * @throws Exception
		 */
		public static function fromFileMultiple( $file, array $translations, array $options = array() ) {       }
		/**
		 * @inheritdoc
		 * @throws Exception
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * @inheritDoc
		 * @throws Exception
		 */
		public static function fromStringMultiple( $string, array $translations, array $options = array() ) {       }
		/**
		 * Extracts script tag contents using regex instead of DOM operations.
		 * If we parse using DOM, some contents may change, for example, tags within strings will be stripped
		 *
		 * @param $string
		 * @return bool|string
		 */
		protected static function extractScriptTag( $string ) {         }
		/**
		 * @param string $html
		 * @return DOMDocument
		 */
		protected static function convertHtmlToDom( $html ) {       }
		/**
		 * Extract translations from script part
		 *
		 * @param string                      $scriptContents Only script tag contents, not the whole template
		 * @param Translations|Translations[] $translations One or multiple domain Translation objects
		 * @param array                       $options
		 * @param int                         $lineOffset Number of lines the script is offset in the vue template file
		 * @throws Exception
		 */
		protected static function getScriptTranslationsFromString( $scriptContents, $translations, array $options = array(), $lineOffset = 0 ) {        }
		/**
		 * Parse template to extract all translations (element content and dynamic element attributes)
		 *
		 * @param DOMNode                     $dom
		 * @param Translations|Translations[] $translations One or multiple domain Translation objects
		 * @param array                       $options
		 * @param int                         $lineOffset Line number where the template part starts in the vue file
		 * @throws Exception
		 */
		protected static function getTemplateTranslations( \DOMNode $dom, $translations, array $options, $lineOffset = 0 ) {        }
		/**
		 * @param array                       $options
		 * @param DOMNode                     $dom
		 * @param Translations|Translations[] $translations
		 */
		protected static function getTagTranslations( array $options, \DOMNode $dom, $translations ) {      }
		/**
		 * Extract JS expressions from element attribute bindings (excluding text within elements)
		 * For example: <span :title="__('extract this')"> skip element content </span>
		 *
		 * @param array   $options
		 * @param DOMNode $dom
		 * @return string JS code
		 */
		protected static function getTemplateAttributeFakeJs( array $options, \DOMNode $dom ) {         }
		/**
		 * Loop DOM element recursively and parse out all dynamic vue attributes which are basically JS expressions
		 *
		 * @param array   $attributePrefixes List of attribute prefixes we parse as JS (may contain translations)
		 * @param DOMNode $dom
		 * @param array   $expressionByLine [lineNumber => [jsExpression, ..], ..]
		 * @return array [lineNumber => [jsExpression, ..], ..]
		 */
		protected static function getVueAttributeExpressions( array $attributePrefixes, \DOMNode $dom, array &$expressionByLine = array() ) {       }
		/**
		 * Check if this attribute name should be parsed for translations
		 *
		 * @param string   $attributeName
		 * @param string[] $attributePrefixes
		 * @return bool
		 */
		protected static function isAttributeMatching( $attributeName, $attributePrefixes ) {       }
		/**
		 * Extract JS expressions from within template elements (excluding attributes)
		 * For example: <span :title="skip attributes"> {{__("extract element content")}} </span>
		 *
		 * @param DOMNode $dom
		 * @return string JS code
		 */
		protected static function getTemplateFakeJs( \DOMNode $dom ) {      }
		/**
		 * Match JS expressions in a template line
		 *
		 * @param string $line
		 * @return string[]
		 */
		protected static function parseOneTemplateLine( $line ) {       }
	}
	/**
	 * Class to get gettext strings from json files.
	 */
	class Jed extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * Handle an array of translations and append to the Translations instance.
		 *
		 * @param array        $content
		 * @param Translations $translations
		 */
		public static function extract( array $content, \Gettext\Translations $translations ) {         }
	}
	/**
	 * Class to get gettext strings from yaml.
	 */
	class Yaml extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\MultidimensionalArrayTrait;
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from twig files returning arrays.
	 */
	class Twig extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		public static $options = array(
			'extractComments' => 'notes:',
			'twig'            => null,
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * Returns a Twig instance.
		 *
		 * @return Twig_Environment
		 */
		protected static function createTwig() {        }
	}
	/**
	 * Class to get gettext strings from .mo files.
	 */
	class Mo extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		const MAGIC1                        = -1794895138;
		const MAGIC2                        = -569244523;
		const MAGIC3                        = 2500072158;
		protected static $stringReaderClass = 'Gettext\\Utils\\StringReader';
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
		/**
		 * @param StringReader $stream
		 * @param string       $byteOrder
		 */
		protected static function readInt( \Gettext\Utils\StringReader $stream, $byteOrder ) {      }
		/**
		 * @param StringReader $stream
		 * @param string       $byteOrder
		 * @param int          $count
		 */
		protected static function readIntArray( \Gettext\Utils\StringReader $stream, $byteOrder, $count ) {         }
	}
	/**
	 * Class to get gettext strings from csv.
	 */
	class Csv extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\HeadersExtractorTrait;
		use \Gettext\Utils\CsvTrait;
		public static $options = array(
			'delimiter'   => ',',
			'enclosure'   => '"',
			'escape_char' => '\\',
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from blade.php files returning arrays.
	 */
	class Blade extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
	/**
	 * Class to get gettext strings from csv.
	 */
	class CsvDictionary extends \Gettext\Extractors\Extractor implements \Gettext\Extractors\ExtractorInterface {

		use \Gettext\Utils\HeadersExtractorTrait;
		use \Gettext\Utils\CsvTrait;
		public static $options = array(
			'delimiter'   => ',',
			'enclosure'   => '"',
			'escape_char' => '\\',
		);
		/**
		 * {@inheritdoc}
		 */
		public static function fromString( $string, \Gettext\Translations $translations, array $options = array() ) {       }
	}
}

namespace Gettext {
	class GettextTranslator extends \Gettext\BaseTranslator implements \Gettext\TranslatorInterface {

		/**
		 * Constructor. Detects the current language using the environment variables.
		 *
		 * @param string $language
		 */
		public function __construct( $language = null ) {       }
		/**
		 * Define the current locale.
		 *
		 * @param string   $language
		 * @param int|null $category
		 *
		 * @return self
		 */
		public function setLanguage( $language, $category = null ) {        }
		/**
		 * Loads a gettext domain.
		 *
		 * @param string $domain
		 * @param string $path
		 * @param bool   $default
		 *
		 * @return self
		 */
		public function loadDomain( $domain, $path = null, $default = true ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function gettext( $original ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function ngettext( $original, $plural, $value ) {        }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dngettext( $domain, $original, $plural, $value ) {      }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function npgettext( $context, $original, $plural, $value ) {         }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function pgettext( $context, $original ) {       }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dgettext( $domain, $original ) {        }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dpgettext( $domain, $context, $original ) {         }
		/**
		 * @see TranslatorInterface
		 *
		 * {@inheritdoc}
		 */
		public function dnpgettext( $domain, $context, $original, $plural, $value ) {       }
	}
}

namespace {
	class OxymelException extends \Exception {

	}

}

namespace Peast\Selector {
	/**
	 * Selector parser class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Parser {

		/**
		 * Selector string
		 *
		 * @var string
		 */
		protected $selector;
		/**
		 * Current parser index
		 *
		 * @var int
		 */
		protected $index = 0;
		/**
		 * Selector length
		 *
		 * @var int
		 */
		protected $length;
		/**
		 * Whitespaces
		 *
		 * @var array
		 */
		protected $whitespaces = array( ' ', "\t", "\n", "\r", "\f" );
		/**
		 * Combinators
		 *
		 * @var array
		 */
		protected $combinators = array( '>', '+', '~' );
		/**
		 * Attribute selector operator characters
		 *
		 * @var array
		 */
		protected $attrOperatorChars = array( '=', '<', '>', '^', '$', '*' );
		/**
		 * Attribute selector operators
		 *
		 * @var array
		 */
		protected $attrOperators = array( '=', '<', '>', '<=', '>=', '^=', '$=', '*=' );
		/**
		 * Valid pseudo selectors. The value indicates the argument type:
		 * - 0: no arguments
		 * - 1: index formula (An+B syntax)
		 * - 2: selector
		 *
		 * @var array
		 */
		protected $validPseudo = array(
			'pattern'        => 0,
			'statement'      => 0,
			'expression'     => 0,
			'declaration'    => 0,
			'first-child'    => 0,
			'last-child'     => 0,
			'nth-child'      => 1,
			'nth-last-child' => 1,
			'has'            => 2,
			'is'             => 2,
			'not'            => 2,
		);
		/**
		 * Class constructor
		 *
		 * @param string $selector  Selector string
		 * @param array  $options   Options array. See Query class
		 *                              documentation for available options
		 */
		public function __construct( $selector, $options = array() ) {      }
		/**
		 * Starts the parsing and returns the parsed selector
		 *
		 * @param bool $filter True if the selector must be used for a filter
		 *
		 * @return Node\Selector
		 *
		 * @throws Exception
		 */
		public function parse( $filter = false ) {      }
		/**
		 * Parses a selector
		 *
		 * @param bool $filter True if the selector must be used for a filter
		 *
		 * @return Node\Selector
		 *
		 * @throws Exception
		 */
		public function parseSelector( $filter = false ) {      }
		/**
		 * Parses a set of selector pats
		 *
		 * @return array
		 *
		 * @throws Exception
		 */
		protected function parseSelectorParts() {       }
		/**
		 * Parses a type selector part
		 *
		 * @return Node\Part\Type|null
		 */
		protected function parseSelectorPartType() {        }
		/**
		 * Parses an attribute selector part
		 *
		 * @return Node\Part\Attribute|null
		 *
		 * @throws Exception
		 */
		protected function parseSelectorPartAttribute() {       }
		/**
		 * Parses a pseudo selector part
		 *
		 * @return Node\Part\Pseudo|null
		 *
		 * @throws Exception
		 */
		protected function parseSelectorPartPseudo() {      }
		/**
		 * Parses a literal value
		 *
		 * @return array|null
		 *
		 * @throws Exception
		 */
		protected function parseLiteral() {         }
		/**
		 * Parses a literal boolean or null value
		 *
		 * @return int|bool|null
		 *
		 * @throws Exception
		 */
		protected function parseLiteralBoolNull() {         }
		/**
		 * Parses a literal string
		 *
		 * @return string|null
		 *
		 * @throws Exception
		 */
		protected function parseLiteralString() {       }
		/**
		 * Parses a literal number
		 *
		 * @return int|float|null
		 */
		protected function parseLiteralNumber() {       }
		/**
		 * Parses a literal regex
		 *
		 * @return string|null
		 *
		 * @throws Exception
		 */
		protected function parseLiteralRegex() {        }
		/**
		 * Consumes the given regex
		 *
		 * @param string $regex Regex to consume
		 *
		 * @return mixed|null
		 */
		protected function consumeRegex( $regex ) {         }
		/**
		 * Consumes all the characters until the given one is reached
		 *
		 * @param string $stop          Stop character
		 * @param bool   $removeEscapes If false escape characters won't be removed
		 * @param false  $includeStop   If true stop character will be returned
		 *
		 * @return string|null
		 */
		protected function consumeUntil( $stop, $removeEscapes = true, $includeStop = false ) {         }
		/**
		 * Consumes a word composed by characters a-z
		 *
		 * @param null|string $extraChar Extra character to match
		 *
		 * @return string
		 */
		protected function consumeWord( $extraChar = null ) {       }
		/**
		 * Consumes a combinator
		 *
		 * @return string|null
		 */
		protected function consumeCombinator() {        }
		/**
		 * Consumes as much whitespaces as possible
		 *
		 * @return string
		 */
		protected function consumeWhitespaces() {       }
		/**
		 * Consumes the given characters
		 *
		 * @param array $chars       Characters to consume
		 * @param false $stopAtFirst If true only the first matching character
		 *                           is consumed
		 *
		 * @return string
		 */
		protected function consumeAny( $chars, $stopAtFirst = false ) {         }
		/**
		 * Consumes the current character if it is equal to the
		 * given one
		 *
		 * @param string $char Character to compare
		 *
		 * @return string|null
		 */
		protected function consume( $char ) {       }
		/**
		 * Returns the current character or null if the end
		 * have been reached
		 *
		 * @return string|null
		 */
		protected function getChar() {      }
	}
	/**
	 * Selector matches class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Matches {

		/**
		 * Matches array
		 *
		 * @var array
		 */
		protected $matches;
		/**
		 * Class constructor
		 *
		 * @param array $matches Matches
		 */
		public function __construct( $matches = array() ) {         }
		/**
		 * Adds a new match
		 *
		 * @param Node      $node
		 * @param Node|null $parent
		 */
		public function addMatch( \Peast\Syntax\Node\Node $node, $parent = null ) {         }
		/**
		 * Returns the matches
		 *
		 * @returns array
		 */
		public function getMatches() {      }
		/**
		 * Returns the matched nodes
		 *
		 * @return array
		 */
		public function getNodes() {        }
		/**
		 * Filters the matches using the given function, if it returns
		 * a false value the match will be removed. The function will
		 * receive the node and its parent as arguments.
		 *
		 * @param callable $fn Filter function
		 * @return $this
		 */
		public function filter( callable $fn ) {        }
		/**
		 * Replaces all the matches with the result of the given function.
		 * The function will receive the node and its parent as arguments
		 * and must return an array of matches
		 *
		 * @param callable $fn Map function
		 *
		 * @return $this
		 */
		public function map( callable $fn ) {       }
		/**
		 * Merges the current object with the other given Matches objects
		 *
		 * @param Matches[] $matchesArr Array of Matches to merge
		 *
		 * @return $this
		 */
		public function merge( $matchesArr ) {      }
		/**
		 * Remove all duplicated matches
		 *
		 * @return $this
		 */
		public function unique() {      }
		/**
		 * Returns a clone of the current object
		 *
		 * @return Matches
		 */
		public function createClone() {         }
		/**
		 * Returns the number of matches
		 *
		 * @return int
		 */
		public function count() {       }
		/**
		 * Returns the match at the given index
		 *
		 * @param int $index Index
		 *
		 * @return array
		 *
		 * @throws \Exception
		 */
		public function get( $index ) {         }
	}
}

namespace Peast\Selector\Node {
	/**
	 * Selector group class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Group {

		/**
		 * Selector combinators
		 *
		 * @var Combinator[]
		 */
		protected $combinators = array();
		/**
		 * Adds a combinator
		 *
		 * @param Combinator $combinators Combinator
		 *
		 * @return $this
		 */
		public function addCombinator( \Peast\Selector\Node\Combinator $combinators ) {         }
		/**
		 * Executes the current group on the given matches
		 *
		 * @param Matches $matches Matches
		 */
		public function exec( \Peast\Selector\Matches $matches ) {      }
	}
	/**
	 * Selector class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Selector {

		/**
		 * Selector groups
		 *
		 * @var Group[]
		 */
		protected $groups = array();
		/**
		 * Adds a new group
		 *
		 * @param Group $group Group
		 *
		 * @return $this
		 */
		public function addGroup( \Peast\Selector\Node\Group $group ) {         }
		/**
		 * Executes the current selector on the given matches
		 *
		 * @param Matches $matches Matches
		 *
		 * @return Matches
		 */
		public function exec( \Peast\Selector\Matches $matches ) {      }
	}
	/**
	 * Selector combinator class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Combinator {

		/**
		 * Operator
		 *
		 * @var string|null
		 */
		protected $operator;
		/**
		 * Selector parts
		 *
		 * @var Part\Part[]
		 */
		protected $parts = array();
		/**
		 * Sets the operator
		 *
		 * @param string $operator Operator
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Adds a new selector part
		 *
		 * @param Part\Part $part Part
		 * @return $this
		 */
		public function addPart( \Peast\Selector\Node\Part\Part $part ) {       }
		/**
		 * Executes the current group on the given matches
		 *
		 * @param Matches $matches Matches
		 */
		public function exec( \Peast\Selector\Matches $matches ) {      }
	}
}

namespace Peast\Selector\Node\Part {
	/**
	 * Selector part base class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class Part {

		/**
		 * Priority
		 *
		 * @var int
		 */
		protected $priority = 5;
		public function getPriority() {         }
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 *
		 * @abstract
		 */
		abstract public function check( \Peast\Syntax\Node\Node $node, $parent = null);
	}
	/**
	 * Selector part type class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Type extends \Peast\Selector\Node\Part\Part {

		/**
		 * Selector type
		 *
		 * @var string
		 */
		protected $type;
		/**
		 * Sets the selector type
		 *
		 * @param string $type Type
		 *
		 * @return $this
		 */
		public function setType( $type ) {      }
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 */
		public function check( \Peast\Syntax\Node\Node $node, $parent = null ) {        }
	}
	/**
	 * Selector pseudo part base class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class Pseudo extends \Peast\Selector\Node\Part\Part {

		/**
		 * Selector name
		 *
		 * @var string
		 */
		protected $name;
		/**
		 * Sets the name
		 *
		 * @param string $name Name
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
	}
	/**
	 * Selector part index pseudo class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PseudoIndex extends \Peast\Selector\Node\Part\Pseudo {

		/**
		 * Priority
		 *
		 * @var int
		 */
		protected $priority = 2;
		/**
		 * Step
		 *
		 * @var int
		 */
		protected $step = 0;
		/**
		 * Offset
		 *
		 * @var int
		 */
		protected $offset = 0;
		/**
		 * Sets the step
		 *
		 * @param int $step Step
		 *
		 * @return $this
		 */
		public function setStep( $step ) {      }
		/**
		 * Sets the offset
		 *
		 * @param int $offset Offset
		 *
		 * @return $this
		 */
		public function setOffset( $offset ) {      }
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 */
		public function check( \Peast\Syntax\Node\Node $node, $parent = null ) {        }
	}
	/**
	 * Selector part attribute class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Attribute extends \Peast\Selector\Node\Part\Part {

		/**
		 * Priority
		 *
		 * @var int
		 */
		protected $priority = 4;
		/**
		 * Attribute names
		 *
		 * @var array
		 */
		protected $names = array();
		/**
		 * Attribute match operator
		 *
		 * @var array
		 */
		protected $operator = null;
		/**
		 * Attribute value
		 *
		 * @var mixed
		 */
		protected $value = null;
		/**
		 * Case insensitive flag
		 *
		 * @var bool
		 */
		protected $caseInsensitive = false;
		/**
		 * Regex flag
		 *
		 * @var bool
		 */
		protected $regex = false;
		/**
		 * Adds a name
		 *
		 * @param string $name Name
		 *
		 * @return $this
		 */
		public function addName( $name ) {      }
		/**
		 * Sets the operator
		 *
		 * @param string $operator Operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Sets the value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Sets the case insensitive flag
		 *
		 * @param bool $caseInsensitive Case insensitive flag
		 *
		 * @return $this
		 */
		public function setCaseInsensitive( $caseInsensitive ) {        }
		/**
		 * Sets the regex flag
		 *
		 * @param bool $regex Regex flag
		 *
		 * @return $this
		 */
		public function setRegex( $regex ) {        }
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 */
		public function check( \Peast\Syntax\Node\Node $node, $parent = null ) {        }
		/**
		 * Compares two strings
		 *
		 * @param string $v1                Search value
		 * @param string $v2                Compare value
		 * @param bool   $caseInsensitive   True if the search must be case insensitive
		 * @param bool   $matchStart        True if the search must be executed from the
		 *                                  beginning of the string
		 * @param bool   $matchEnd          True if the search must be executed from the
		 *                                  end of the string
		 *
		 * @return bool
		 */
		protected function compareStr( $v1, $v2, $caseInsensitive, $matchStart, $matchEnd ) {       }
	}
	/**
	 * Selector part selector pseudo class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PseudoSelector extends \Peast\Selector\Node\Part\Pseudo {

		/**
		 * Priority
		 *
		 * @var int
		 */
		protected $priority = 1;
		/**
		 * Selector
		 *
		 * @var Selector
		 */
		protected $selector;
		/**
		 * Sets the selector
		 *
		 * @param Selector $selector Selector
		 *
		 * @return $this
		 */
		public function setSelector( \Peast\Selector\Node\Selector $selector ) {        }
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 */
		public function check( \Peast\Syntax\Node\Node $node, $parent = null ) {        }
	}
	/**
	 * Selector part simple pseudo class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PseudoSimple extends \Peast\Selector\Node\Part\Pseudo {

		/**
		 * Priority
		 *
		 * @var int
		 */
		protected $priority = 3;
		/**
		 * Returns true if the selector part matches the given node,
		 * false otherwise
		 *
		 * @param Node $node    Node
		 * @param Node $parent  Parent node
		 *
		 * @return bool
		 */
		public function check( \Peast\Syntax\Node\Node $node, $parent = null ) {        }
	}
}

namespace Peast\Selector {
	/**
	 * Selector exception class. Syntax errors in selectors are thrown
	 * using this exception class.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Exception extends \Exception {

	}
}

namespace Peast {
	/**
	 * Nodes renderer class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Renderer {

		/**
		 * Formatter to use for the rendering
		 *
		 * @var Formatter\Base
		 */
		protected $formatter;
		/**
		 * Rendering options taken from the formatter
		 *
		 * @var object
		 */
		protected $renderOpts;
		/**
		 * Node types that does not require semicolon insertion
		 *
		 * @var array
		 */
		protected $noSemicolon = array( 'ClassDeclaration', 'ExportDefaultDeclaration', 'ForInStatement', 'ForOfStatement', 'ForStatement', 'FunctionDeclaration', 'IfStatement', 'LabeledStatement', 'StaticBlock', 'SwitchStatement', 'TryStatement', 'WhileStatement', 'WithStatement', 'MethodDefinition' );
		/**
		 * Sets the formatter to use for the rendering
		 *
		 * @param Formatter\Base $formatter  Formatter
		 *
		 * @return $this
		 */
		public function setFormatter( \Peast\Formatter\Base $formatter ) {      }
		/**
		 * Returns the formatter to use for the rendering
		 *
		 * @return Formatter\Base
		 */
		public function getFormatter() {        }
		/**
		 * Renders the given node
		 *
		 * @param Syntax\Node\Node $node   Node to render
		 *
		 * @return string
		 *
		 * @throws \Exception
		 */
		public function render( \Peast\Syntax\Node\Node $node ) {       }
		/**
		 * Renders a node
		 *
		 * @param Syntax\Node\Node $node           Node to render
		 * @param bool             $addSemicolon   True to add semicolon after node
		 *                                         rendered code
		 *
		 * @return string
		 */
		protected function renderNode( \Peast\Syntax\Node\Node $node, $addSemicolon = false ) {         }
		/**
		 * Renders a node as a block statement
		 *
		 * @param Syntax\Node\Node       $parent             Parent node
		 * @param Syntax\Node\Node|array $node               Node or array of
		 *                                                   nodes to render
		 * @param bool                   $forceBrackets      Overrides brackets
		 *                                                   inserting rules
		 * @param bool                   $mandatorySeparator True if a starting
		 *                                                   separator is
		 *                                                   mandatory
		 * @param bool                   $addSemicolons      Semicolons are
		 *                                                   inserted automatically
		 *                                                   if this parameter is
		 *                                                   not false
		 * @param bool                   $incIndent          If false indentation
		 *                                                   level won't be
		 *                                                   incremented
		 *
		 * @return string
		 */
		protected function renderStatementBlock( $parent, $node, $forceBrackets = null, $mandatorySeparator = false, $addSemicolons = true, $incIndent = true ) {       }
		/**
		 * Joins an array of nodes with the given separator
		 *
		 * @param array  $nodes          Nodes
		 * @param string $separator      Separator
		 * @param bool   $addSemicolons  True to add semicolons after each node
		 *
		 * @return string
		 */
		protected function joinNodes( $nodes, $separator, $addSemicolons = false ) {        }
		/**
		 * Check if the node or the array of nodes need brackets to be rendered
		 *
		 * @param Syntax\Node\Node       $parent             Parent node
		 * @param Syntax\Node\Node|array $node               Node or array of
		 *                                                   nodes to render
		 *
		 * @return bool
		 */
		protected function needsBrackets( $parent, $node ) {        }
		/**
		 * Render node's comments
		 *
		 * @param Syntax\Node\Node $node             Node
		 * @param bool             $leading          False to render trailing comments
		 * @param bool|null        $blockContent     This paramater can have 3 values:
		 *                                           - null: the node is not a block
		 *                                           - false: the node is an empty block
		 *                                           - true: the node is a block with content
		 *
		 * @return string
		 */
		protected function renderComments( $node, $leading = true, $blockContent = null ) {         }
		/**
		 * Removes an empty line at the end of the given code, if present
		 *
		 * @param string $code   Code
		 *
		 * @return string
		 */
		protected function trimEmptyLine( $code ) {         }
		/**
		 * Check if the given node requires semicolons insertion
		 *
		 * @param Syntax\Node\Node $node   Node
		 *
		 * @return bool
		 */
		protected function requiresSemicolon( $node ) {         }
		/**
		 * Returns the current indentation string
		 *
		 * @return string
		 */
		protected function getIndentation() {       }
	}
	/**
	 * Nodes traverser class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Traverser {

		/**
		 * If a function return this value, the current node will be removed
		 */
		const REMOVE_NODE = 1;
		/**
		 * If a function return this value, the current node's children won't be
		 * traversed
		 */
		const DONT_TRAVERSE_CHILD_NODES = 2;
		/**
		 * If a function return this value, the traverser will stop running
		 */
		const STOP_TRAVERSING = 4;
		/**
		 * Array of functions to call on each node
		 *
		 * @var array
		 */
		protected $functions = array();
		/**
		 * Pass parent node flag
		 *
		 * @var bool
		 */
		protected $passParentNode = false;
		/**
		 * Skip starting node flag
		 *
		 * @var bool
		 */
		protected $skipStartingNode = false;
		/**
		 * Class constructor. Available options are:
		 * - skipStartingNode: if true the starting node will be skipped
		 * - passParentNode: if true the parent node of each node will be
		 *   passed as second argument when the functions are called. Note
		 *   that the parent node is calculated during traversing, so for
		 *   the starting node it will always be null.
		 *
		 * @param array $options Options array
		 */
		public function __construct( $options = array() ) {         }
		/**
		 * Adds a function that will be called for each node in the tree. The
		 * function will receive the current node as argument. The action that will
		 * be executed on the node by the traverser depends on the returned value
		 * of the function:
		 * - a node: it will replace the node with the returned one
		 * - a numeric value that is a combination of the constants defined in this
		 *   class: it will execute the function related to each constant
		 * - an array where the first element is a node and the second element is a
		 *   numeric value that is a combination of the constants defined in this
		 *   class: it will replace the node with the returned one and  it will
		 *   execute the function related to each constant (REMOVE_NODE will be
		 *   ignored since it does not make any sense in this case)
		 * - other: nothing
		 *
		 * @param callable $fn Function to add
		 *
		 * @return $this
		 */
		public function addFunction( callable $fn ) {       }
		/**
		 * Starts the traversing
		 *
		 * @param Syntax\Node\Node $node   Starting node
		 *
		 * @return Syntax\Node\Node
		 */
		public function traverse( \Peast\Syntax\Node\Node $node ) {         }
		/**
		 * Executes all functions on the given node and, if required, starts
		 * traversing its children. The returned value is an array where the first
		 * value is the node or null if it has been removed and the second value is
		 * a boolean indicating if the traverser must continue the traversing or not
		 *
		 * @param Syntax\Node\Node      $node     Node
		 * @param Syntax\Node\Node|null $parent   Parent node
		 *
		 * @return array
		 */
		protected function execFunctions( $node, $parent = null ) {         }
		/**
		 * Traverses node children. It returns a boolean indicating if the
		 * traversing must continue or not
		 *
		 * @param Syntax\Node\Node $node   Node
		 *
		 * @return bool
		 */
		protected function traverseChildren( \Peast\Syntax\Node\Node $node ) {      }
	}
	/**
	 * Main class of Peast library.
	 * Every function of this class takes two arguments:
	 * - The source code to parse
	 * - The options array that is an associative array of parser settings.
	 *   Available options are:
	 *      - "sourceType": one of the source type constants declared in this class.
	 *        This option tells the parser to parse the source in script or module
	 *        mode. If this option is not provided the parser will work in script
	 *        mode.
	 *      - "sourceEncoding": the encoding of the source. If not specified the
	 *        parser will assume UTF-8.
	 *      - "strictEncoding": if false the parser will handle invalid UTF8
	 *        characters in the source code by replacing them with the character
	 *        defined in the "mbstring.substitute_character" ini setting, otherwise
	 *        it will throw an exception.
	 *      - "comments": if true it enables comments parsing.
	 *      - "jsx": if true it enables parsing of JSX syntax.
	 *
	 * @method static Syntax\Parser ES2015(string $source, array $options = array())
	 * Returns a parser instance with ES2015 features for the given source. See Peast
	 * class documentation to understand the function arguments.
	 *
	 * @method static Syntax\Parser ES6(string $source, array $options = array())
	 * Returns a parser instance with ES2015 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2016(string $source, array $options = array())
	 * Returns a parser instance with ES2016 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES7(string $source, array $options = array())
	 * Returns a parser instance with ES2016 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2017(string $source, array $options = array())
	 * Returns a parser instance with ES2017 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES8(string $source, array $options = array())
	 * Returns a parser instance with ES2017 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2018(string $source, array $options = array())
	 * Returns a parser instance with ES2018 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES9(string $source, array $options = array())
	 * Returns a parser instance with ES2018 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2019(string $source, array $options = array())
	 * Returns a parser instance with ES2019 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES10(string $source, array $options = array())
	 * Returns a parser instance with ES2019 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2020(string $source, array $options = array())
	 * Returns a parser instance with ES2020 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES11(string $source, array $options = array())
	 * Returns a parser instance with ES2020 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2021(string $source, array $options = array())
	 * Returns a parser instance with ES2021 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES12(string $source, array $options = array())
	 * Returns a parser instance with ES2021 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2022(string $source, array $options = array())
	 * Returns a parser instance with ES2022 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES13(string $source, array $options = array())
	 * Returns a parser instance with ES2022 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2023(string $source, array $options = array())
	 * Returns a parser instance with ES2023 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES14(string $source, array $options = array())
	 * Returns a parser instance with ES2023 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES2024(string $source, array $options = array())
	 * Returns a parser instance with ES2024 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser ES15(string $source, array $options = array())
	 * Returns a parser instance with ES2024 features for the given source. See Peast
	 * class documentation to understand function arguments.
	 *
	 * @method static Syntax\Parser latest(string $source, array $options = array())
	 * Returns an instance of the latest parser version for the given source. See
	 * Peast class documentation to understand function arguments.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Peast {

		// Source type constants
		/**
		 * This source type indicates that the source is a script and import
		 * and export keywords are not parsed.
		 */
		const SOURCE_TYPE_SCRIPT = 'script';
		/**
		 * This source type indicates that the source is a module, this enables
		 * the parsing of import and export keywords.
		 */
		const SOURCE_TYPE_MODULE = 'module';
		/**
		 * Valid versions and aliases
		 *
		 * @var array
		 */
		protected static $versions = array(
			'ES6'  => 'ES2015',
			'ES7'  => 'ES2016',
			'ES8'  => 'ES2017',
			'ES9'  => 'ES2018',
			'ES10' => 'ES2019',
			'ES11' => 'ES2020',
			'ES12' => 'ES2021',
			'ES13' => 'ES2022',
			'ES14' => 'ES2023',
			'ES15' => 'ES2024',
		);
		/**
		 * Magic method that exposes all the functions to access parser with
		 * specific features
		 *
		 * @param string $version   Parser version
		 * @param array  $args      Parser arguments
		 *
		 * @return Syntax\Parser
		 *
		 * @throws \Exception
		 */
		public static function __callStatic( $version, $args ) {        }
	}
}

namespace Peast\Formatter {
	/**
	 * Base class for formatters, all the formatters must extend this class.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class Base {

		/**
		 * New line character
		 *
		 * @var string
		 */
		protected $newLine = "\n";
		/**
		 * Indentation character
		 *
		 * @var string
		 */
		protected $indentation = "\t";
		/**
		 * Boolean that indicates if open curly brackets in code blocks must be
		 * on a new line
		 *
		 * @var bool
		 */
		protected $newLineBeforeCurlyBracket = false;
		/**
		 * Boolean that indicates if blocks of code must be wrapped in curly
		 * brackets also if they contain only one instruction
		 *
		 * @var bool
		 */
		protected $alwaysWrapBlocks = true;
		/**
		 * Boolean that indicates if operators must be surrounded by spaces
		 *
		 * @var bool
		 */
		protected $spacesAroundOperators = true;
		/**
		 * Boolean that indicates if content inside round brackets must be
		 * surrounded by spaces
		 *
		 * @var bool
		 */
		protected $spacesInsideRoundBrackets = false;
		/**
		 * Boolean that indicates if comments must be rendered
		 *
		 * @var bool
		 */
		protected $renderComments = true;
		/**
		 * Boolean that indicates if multiline documentation comments
		 * (for example JSDoc syntax) must be manipulated to match the
		 * right indentation
		 *
		 * @var bool
		 */
		protected $recalcCommentsIndent = true;
		/**
		 * Class constructor
		 *
		 * @param bool $renderComments     True to render the comments if
		 *                                 the parser has collected them
		 *                                 and the formatter allows their
		 *                                 rendering
		 */
		public function __construct( $renderComments = false ) {        }
		/**
		 * Returns the new line character
		 *
		 * @return string
		 */
		public function getNewLine() {      }
		/**
		 * Returns the indentation character
		 *
		 * @return string
		 */
		public function getIndentation() {      }
		/**
		 * Returns a boolean that indicates if open curly brackets in code blocks
		 * must be on a new line
		 *
		 * @return bool
		 */
		public function getNewLineBeforeCurlyBracket() {        }
		/**
		 * Returns a boolean that indicates if blocks of code must be wrapped in
		 * curly brackets also if they contain only one instruction
		 *
		 * @return bool
		 */
		public function getAlwaysWrapBlocks() {         }
		/**
		 * Returns a boolean that indicates if operators must be surrounded by
		 * spaces
		 *
		 * @return bool
		 */
		public function getSpacesAroundOperator() {         }
		/**
		 * Returns a boolean that indicates if content inside round brackets must be
		 * surrounded by spaces
		 *
		 * @return bool
		 */
		public function getSpacesInsideRoundBrackets() {        }
		/**
		 * Returns a boolean that indicates if comments must be rendered
		 *
		 * @return bool
		 */
		public function getRenderComments() {       }
		/**
		 * Returns a boolean that indicates if multiline documentation comments
		 * (for example JSDoc syntax) must be manipulated to match the
		 * right indentation
		 *
		 * @return bool
		 */
		public function getRecalcCommentsIndent() {         }
	}
	/**
	 * Pretty print formatter.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PrettyPrint extends \Peast\Formatter\Base {

	}
	/**
	 * Compact formatter.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Compact extends \Peast\Formatter\Base {

		/**
		 * New line character
		 *
		 * @var string
		 */
		protected $newLine = '';
		/**
		 * Indentation character
		 *
		 * @var string
		 */
		protected $indentation = '';
		/**
		 * Boolean that indicates if operators must be surrounded by spaces
		 *
		 * @var bool
		 */
		protected $spacesAroundOperators = false;
		/**
		 * Boolean that indicates if blocks of code must be wrapped in curly
		 * brackets also if they contain only one instruction
		 *
		 * @var bool
		 */
		protected $alwaysWrapBlocks = false;
		/**
		 * Boolean that indicates if comments must be rendered
		 *
		 * @var bool
		 */
		protected $renderComments = false;
	}
	/**
	 * Compact formatter.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Expanded extends \Peast\Formatter\Base {

		/**
		 * Boolean that indicates if open curly brackets in code blocks must be
		 * on a new line
		 *
		 * @var bool
		 */
		protected $newLineBeforeCurlyBracket = true;
		/**
		 * Boolean that indicates if content inside round brackets must be
		 * surrounded by spaces
		 *
		 * @var bool
		 */
		protected $spacesInsideRoundBrackets = true;
	}
}

namespace Peast {
	/**
	 * Nodes query class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Query implements \IteratorAggregate, \Countable {

		/**
		 * Current matches
		 *
		 * @var Selector\Matches
		 */
		protected $matches;
		/**
		 * Options array
		 *
		 * @var array
		 */
		protected $options;
		/**
		 * Class constructor. Available options are:
		 * - encoding: selectors encoding. If not specified the
		 *   parser will assume UTF-8.
		 *
		 * @param Syntax\Node\Program $root     Root node
		 * @param array               $options  Options array
		 */
		public function __construct( \Peast\Syntax\Node\Program $root, $options = array() ) {       }
		/**
		 * Finds nodes matching the given selector starting from the
		 * current matched nodes, if any, or from the root
		 *
		 * @param string $selector Selector
		 *
		 * @return $this
		 *
		 * @throws Selector\Exception
		 */
		public function find( $selector ) {         }
		/**
		 * Executes the given selector on the current nodes and filters
		 * out the nodes which don't match
		 *
		 * @param string $selector Selector
		 *
		 * @return $this
		 *
		 * @throws Selector\Exception
		 */
		public function filter( $selector ) {       }
		/**
		 * Returns the number of matched nodes
		 *
		 * @return int
		 */
		#[\ReturnTypeWillChange]
		public function count() {       }
		/**
		 * Returns the node at the given index
		 *
		 * @param int $index Index
		 *
		 * @return array
		 *
		 * @throws \Exception
		 */
		public function get( $index ) {         }
		/**
		 * Returns the nodes iterator
		 *
		 * @return \ArrayIterator
		 */
		#[\ReturnTypeWillChange]
		public function getIterator() {         }
	}
}

namespace Peast\Syntax {
	/**
	 * Parser features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features {

		/**
		 * Exponentiation operator
		 *
		 * @var bool
		 */
		public $exponentiationOperator = false;
		/**
		 * Async/await
		 *
		 * @var bool
		 */
		public $asyncAwait = false;
		/**
		 * Trailing comma in function calls and declarations
		 *
		 * @var bool
		 */
		public $trailingCommaFunctionCallDeclaration = false;
		/**
		 * For-in initializer
		 *
		 * @var bool
		 */
		public $forInInitializer = false;
		/**
		 * Async iteration and generators
		 *
		 * @var bool
		 */
		public $asyncIterationGenerators = false;
		/**
		 * Rest/spread properties
		 *
		 * @var bool
		 */
		public $restSpreadProperties = false;
		/**
		 * Skip escape sequences checks in tagged template
		 *
		 * @var bool
		 */
		public $skipEscapeSeqCheckInTaggedTemplates = false;
		/**
		 * Optional catch binding
		 *
		 * @var bool
		 */
		public $optionalCatchBinding = false;
		/**
		 * Paragraph and line separator in strings
		 *
		 * @var bool
		 */
		public $paragraphLineSepInStrings = false;
		/**
		 * Dynamic import
		 *
		 * @var bool
		 */
		public $dynamicImport = false;
		/**
		 * BigInt literals
		 *
		 * @var bool
		 */
		public $bigInt = false;
		/**
		 * Exported name for export all declarations
		 *
		 * @var bool
		 */
		public $exportedNameInExportAll = false;
		/**
		 * Import.meta
		 *
		 * @var bool
		 */
		public $importMeta = false;
		/**
		 * Coalescing operator
		 *
		 * @var bool
		 */
		public $coalescingOperator = false;
		/**
		 * Optional chaining
		 *
		 * @var bool
		 */
		public $optionalChaining = false;
		/**
		 * Logical assignment operators
		 *
		 * @var bool
		 */
		public $logicalAssignmentOperators = false;
		/**
		 * Numeric literal separator
		 *
		 * @var bool
		 */
		public $numericLiteralSeparator = false;
		/**
		 * Private methods and fields
		 *
		 * @var bool
		 */
		public $privateMethodsAndFields = false;
		/**
		 * Class fields
		 *
		 * @var bool
		 */
		public $classFields = false;
		/**
		 * "in" operator for private fields
		 *
		 * @var bool
		 */
		public $classFieldsPrivateIn = false;
		/**
		 * Top level await
		 *
		 * @var bool
		 */
		public $topLevelAwait = false;
		/**
		 * Class static block
		 *
		 * @var bool
		 */
		public $classStaticBlock = false;
		/**
		 * Arbitrary module namespace identifier names
		 *
		 * @var bool
		 */
		public $arbitraryModuleNSNames = false;
		/**
		 * Hashbang comments
		 *
		 * @var bool
		 */
		public $hashbangComments = false;
	}
	/**
	 * This class represents a location in the source code with start and end
	 * position.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class SourceLocation implements \JSONSerializable {

		/**
		 * Start position
		 *
		 * @var Position
		 */
		public $start;
		/**
		 * End position
		 *
		 * @var Position
		 */
		public $end;
		/**
		 * Returns the start position
		 *
		 * @return Position
		 */
		public function getStart() {        }
		/**
		 * Sets the start position
		 *
		 * @param Position $position Start position
		 *
		 * @return $this
		 */
		public function setStart( \Peast\Syntax\Position $position ) {      }
		/**
		 * Returns the end position
		 *
		 * @return Position
		 */
		public function getEnd() {      }
		/**
		 * Sets the end position
		 *
		 * @param Position $position End position
		 *
		 * @return $this
		 */
		public function setEnd( \Peast\Syntax\Position $position ) {        }
		/**
		 * Returns a serializable version of the object
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
	}
	/**
	 * This class represents the position in the source code.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Position implements \JSONSerializable {

		/**
		 * Source line
		 *
		 * @var int
		 */
		protected $line;
		/**
		 * Source column
		 *
		 * @var int
		 */
		protected $column;
		/**
		 * Source index
		 *
		 * @var int
		 */
		protected $index;
		/**
		 * Class constructor
		 *
		 * @param int $line   Source line
		 * @param int $column Source column
		 * @param int $index  Source index
		 */
		function __construct( $line, $column, $index ) {        }
		/**
		 * Returns the source line
		 *
		 * @return int
		 */
		public function getLine() {         }
		/**
		 * Returns the source column
		 *
		 * @return int
		 */
		public function getColumn() {       }
		/**
		 * Returns the source index
		 *
		 * @return int
		 */
		public function getIndex() {        }
		/**
		 * Returns a serializable version of the object
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
	}
	/**
	 * A token emitted by the tokenizer.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Token implements \JSONSerializable {

		// Type constants
		/**
		 * Boolean literal
		 */
		const TYPE_BOOLEAN_LITERAL = 'Boolean';
		/**
		 * Identifier
		 */
		const TYPE_IDENTIFIER = 'Identifier';
		/**
		 * Private identifier
		 */
		const TYPE_PRIVATE_IDENTIFIER = 'PrivateIdentifier';
		/**
		 * Keyword
		 */
		const TYPE_KEYWORD = 'Keyword';
		/**
		 * Null literal
		 */
		const TYPE_NULL_LITERAL = 'Null';
		/**
		 * Numeric literal
		 */
		const TYPE_NUMERIC_LITERAL = 'Numeric';
		/**
		 * BigInt literal
		 */
		const TYPE_BIGINT_LITERAL = 'BigInt';
		/**
		 * Punctuator
		 */
		const TYPE_PUNCTUATOR = 'Punctuator';
		// This constant is kept only for backward compatibility since it was
		// first written with a typo
		const TYPE_PUNCTUTATOR = 'Punctuator';
		/**
		 * String literal
		 */
		const TYPE_STRING_LITERAL = 'String';
		/**
		 * Regular expression
		 */
		const TYPE_REGULAR_EXPRESSION = 'RegularExpression';
		/**
		 * Template
		 */
		const TYPE_TEMPLATE = 'Template';
		/**
		 * Comment
		 */
		const TYPE_COMMENT = 'Comment';
		/**
		 * JSX text
		 */
		const TYPE_JSX_TEXT = 'JSXText';
		/**
		 * JSX identifier
		 */
		const TYPE_JSX_IDENTIFIER = 'JSXIdentifier';
		/**
		 * Tokens' type that is one of the type constants
		 *
		 * @var string
		 */
		public $type;
		/**
		 * Token's value
		 *
		 * @var string
		 */
		public $value;
		/**
		 * Token's location in the source code
		 *
		 * @var SourceLocation
		 */
		public $location;
		/**
		 * Class constructor
		 *
		 * @param string $type  Token's type
		 * @param string $value Token's value
		 */
		public function __construct( $type, $value ) {      }
		/**
		 * Returns the token's type
		 *
		 * @return string
		 */
		public function getType() {         }
		/**
		 * Returns the token's value
		 *
		 * @return string
		 */
		public function getValue() {        }
		/**
		 * Returns the token's location in the source code
		 *
		 * @return SourceLocation
		 */
		public function getLocation() {         }
		/**
		 * Sets the start position of the token in the source code
		 *
		 * @param Position $position Start position
		 *
		 * @return $this
		 */
		public function setStartPosition( \Peast\Syntax\Position $position ) {      }
		/**
		 * Sets the end position of the token in the source code
		 *
		 * @param Position $position End position
		 *
		 * @return $this
		 */
		public function setEndPosition( \Peast\Syntax\Position $position ) {        }
		/**
		 * Returns a serializable version of the node
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
	}
	/**
	 * Base class for parsers.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class ParserAbstract {

		/**
		 * Associated scanner
		 *
		 * @var Scanner
		 */
		protected $scanner;
		/**
		 * Parser features
		 *
		 * @var Features
		 */
		protected $features;
		/**
		 * Parser context
		 *
		 * @var \stdClass
		 */
		protected $context;
		/**
		 * Source type
		 *
		 * @var string
		 */
		protected $sourceType;
		/**
		 * Comments handling
		 *
		 * @var bool
		 */
		protected $comments;
		/**
		 * JSX syntax handling
		 *
		 * @var bool
		 */
		protected $jsx;
		/**
		 * Events emitter
		 *
		 * @var EventsEmitter
		 */
		protected $eventsEmitter;
		/**
		 * Class constructor
		 *
		 * @param string   $source   Source code
		 * @param Features $features Parser features
		 * @param array    $options  Parsing options
		 */
		public function __construct( $source, \Peast\Syntax\Features $features, $options = array() ) {      }
		/**
		 * Initializes parser context
		 *
		 * @return void
		 */
		abstract protected function initContext();
		/**
		 * Post initialize operations
		 *
		 * @return void
		 */
		abstract protected function postInit();
		/**
		 * Parses the source
		 *
		 * @return Node\Node
		 *
		 * @abstract
		 */
		abstract public function parse();
		/**
		 * Returns parsed tokens from the source code
		 *
		 * @return Token[]
		 */
		public function tokenize() {        }
		/**
		 * Returns the scanner associated with the parser
		 *
		 * @return Scanner
		 */
		public function getScanner() {      }
		/**
		 * Returns the parser features class
		 *
		 * @return Features
		 */
		public function getFeatures() {         }
		/**
		 * Returns the parser's events emitter
		 *
		 * @return EventsEmitter
		 */
		public function getEventsEmitter() {        }
		/**
		 * Calls a method with an isolated parser context, applying the given flags,
		 * but restoring their values after the execution.
		 *
		 * @param array|null $flags  Key/value array of changes to apply to the
		 *                           context flags. If it's null or the first
		 *                           element of the array is null the context will
		 *                                be reset before applying new values.
		 * @param string     $fn     Method to call
		 * @param array|null $args   Method arguments
		 *
		 * @return mixed
		 */
		protected function isolateContext( $flags, $fn, $args = null ) {        }
		/**
		 * Creates a node
		 *
		 * @param string $nodeType Node's type
		 * @param mixed  $position Node's start position
		 *
		 * @return Node\Node
		 *
		 * @codeCoverageIgnore
		 */
		protected function createNode( $nodeType, $position ) {         }
		/**
		 * Completes a node by adding the end position
		 *
		 * @param Node\Node $node     Node to complete
		 * @param Position  $position Node's end position
		 *
		 * @return mixed    It actually returns a Node but mixed solves
		 *                  a lot of PHPDoc problems
		 *
		 * @codeCoverageIgnore
		 */
		protected function completeNode( \Peast\Syntax\Node\Node $node, $position = null ) {        }
		/**
		 * Throws a syntax error
		 *
		 * @param string   $message  Error message
		 * @param Position $position Error position
		 *
		 * @return void
		 *
		 * @throws Exception
		 */
		protected function error( $message = '', $position = null ) {       }
		/**
		 * Asserts that a valid end of statement follows the current position
		 *
		 * @return boolean
		 *
		 * @throws Exception
		 */
		protected function assertEndOfStatement() {         }
		/**
		 * Parses a character separated list of instructions or null if the
		 * sequence is not valid
		 *
		 * @param callable $fn   Parsing instruction function
		 * @param string   $char Separator
		 *
		 * @return array
		 *
		 * @throws Exception
		 */
		protected function charSeparatedListOf( $fn, $char = ',' ) {        }
	}
}

namespace Peast\Syntax\JSX {
	/**
	 * JSX parser trait
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	trait Parser {

		/**
		 * Creates a JSX node
		 *
		 * @param string $nodeType Node's type
		 * @param mixed  $position Node's start position
		 *
		 * @return \Peast\Syntax\Node\Node
		 */
		protected function createJSXNode( $nodeType, $position ) {      }
		/**
		 * Parses a jsx fragment
		 *
		 * @return \Peast\Syntax\Node\JSX\JSXFragment|null
		 */
		protected function parseJSXFragment() {         }
		/**
		 * Parses a group of jsx children
		 *
		 * @return \Peast\Syntax\Node\Node[]|null
		 */
		protected function parseJSXChildren() {         }
		/**
		 * Parses a jsx child
		 *
		 * @return \Peast\Syntax\Node\Node|null
		 */
		protected function parseJSXChild() {        }
		/**
		 * Parses a jsx text
		 *
		 * @return \Peast\Syntax\Node\JSX\JSXText|null
		 */
		protected function parseJSXText() {         }
		/**
		 * Parses a jsx element
		 *
		 * @return \Peast\Syntax\Node\JSX\JSXElement|null
		 */
		protected function parseJSXElement() {      }
		/**
		 * Parses a jsx identifier, namespaced identifier or member expression
		 *
		 * @param bool $allowMember True to allow member expressions
		 *
		 * @return \Peast\Syntax\Node\Node|null
		 */
		protected function parseJSXIdentifierOrMemberExpression( $allowMember = true ) {        }
		/**
		 * Parses a jsx attributes list
		 *
		 * @return \Peast\Syntax\Node\Node[]|null
		 */
		protected function parseJSXAttributes() {       }
		/**
		 * Parses a jsx spread attribute
		 *
		 * @return \Peast\Syntax\Node\JSX\JSXSpreadAttribute|null
		 */
		protected function parseJSXSpreadAttribute() {      }
		/**
		 * Parses a jsx spread attribute
		 *
		 * @return \Peast\Syntax\Node\JSX\JSXSpreadAttribute|null
		 */
		protected function parseJSXAttribute() {        }
		/**
		 * Checks that 2 tag names are equal
		 *
		 * @param \Peast\Syntax\Node\Node $n1 First name
		 * @param \Peast\Syntax\Node\Node $n2 Second name
		 *
		 * @return bool
		 */
		protected function isSameJSXElementName( $n1, $n2 ) {       }
	}
}

namespace Peast\Syntax {
	/**
	 * Parser class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Parser extends \Peast\Syntax\ParserAbstract {

		use \Peast\Syntax\JSX\Parser;
		// Identifier parsing mode constants
		/**
		 * Everything is allowed as identifier, including keywords, null and booleans
		 */
		const ID_ALLOW_ALL = 1;
		/**
		 * Keywords, null and booleans are not allowed in any situation
		 */
		const ID_ALLOW_NOTHING = 2;
		/**
		 * Keywords, null and booleans are not allowed in any situation, future
		 * reserved words are allowed if not in strict mode. Keywords that depend on
		 * parser context are evaluated only if the parser context allows them.
		 */
		const ID_MIXED = 3;
		/**
		 * Binding identifier parsing rule
		 *
		 * @var int
		 */
		protected static $bindingIdentifier = self::ID_MIXED;
		/**
		 * Labelled identifier parsing rule
		 *
		 * @var int
		 */
		protected static $labelledIdentifier = self::ID_MIXED;
		/**
		 * Identifier reference parsing rule
		 *
		 * @var int
		 */
		protected static $identifierReference = self::ID_MIXED;
		/**
		 * Identifier name parsing rule
		 *
		 * @var int
		 */
		protected static $identifierName = self::ID_ALLOW_ALL;
		/**
		 * Imported binding parsing rule
		 *
		 * @var int
		 */
		protected static $importedBinding = self::ID_ALLOW_NOTHING;
		/**
		 * Assignment operators
		 *
		 * @var array
		 */
		protected $assignmentOperators = array( '=', '+=', '-=', '*=', '/=', '%=', '<<=', '>>=', '>>>=', '&=', '^=', '|=', '**=', '&&=', '||=', '??=' );
		/**
		 * Logical and binary operators
		 *
		 * @var array
		 */
		protected $logicalBinaryOperators = array(
			'??'         => 0,
			'||'         => 0,
			'&&'         => 1,
			'|'          => 2,
			'^'          => 3,
			'&'          => 4,
			'==='        => 5,
			'!=='        => 5,
			'=='         => 5,
			'!='         => 5,
			'<='         => 6,
			'>='         => 6,
			'<'          => 6,
			'>'          => 6,
			'instanceof' => 6,
			'in'         => 6,
			'>>>'        => 7,
			'<<'         => 7,
			'>>'         => 7,
			'+'          => 8,
			'-'          => 8,
			'*'          => 9,
			'/'          => 9,
			'%'          => 9,
			'**'         => 10,
		);
		/**
		 * Unary operators
		 *
		 * @var array
		 */
		protected $unaryOperators = array( 'delete', 'void', 'typeof', '++', '--', '+', '-', '~', '!' );
		/**
		 * Postfix operators
		 *
		 * @var array
		 */
		protected $postfixOperators = array( '--', '++' );
		/**
		 * Array of keywords that depends on a context property
		 *
		 * @var array
		 */
		protected $contextKeywords = array(
			'yield' => 'allowYield',
			'await' => 'allowAwait',
		);
		/**
		 * Initializes parser context
		 *
		 * @return void
		 */
		protected function initContext() {      }
		/**
		 * Post initialize operations
		 *
		 * @return void
		 */
		protected function postInit() {         }
		/**
		 * Parses the source
		 *
		 * @return Node\Program
		 */
		public function parse() {       }
		/**
		 * Converts an expression node to a pattern node
		 *
		 * @param Node\Node $node The node to convert
		 *
		 * @return Node\Node
		 */
		protected function expressionToPattern( $node ) {       }
		/**
		 * Parses a statement list
		 *
		 * @param bool $parseDirectivePrologues True to parse directive prologues
		 *
		 * @return Node\Node[]|null
		 */
		protected function parseStatementList( $parseDirectivePrologues = false ) {         }
		/**
		 * Parses a statement list item
		 *
		 * @return Node\Statement|Node\Declaration|null
		 */
		protected function parseStatementListItem() {       }
		/**
		 * Parses a statement
		 *
		 * @return Node\Statement|null
		 */
		protected function parseStatement() {       }
		/**
		 * Parses a declaration
		 *
		 * @return Node\Declaration|null
		 */
		protected function parseDeclaration() {         }
		/**
		 * Parses a breakable statement
		 *
		 * @return Node\Node|null
		 */
		protected function parseBreakableStatement() {      }
		/**
		 * Parses a block statement
		 *
		 * @return Node\BlockStatement|null
		 */
		protected function parseBlock() {       }
		/**
		 * Parses a module item list
		 *
		 * @return Node\Node[]|null
		 */
		protected function parseModuleItemList() {      }
		/**
		 * Parses an empty statement
		 *
		 * @return Node\EmptyStatement|null
		 */
		protected function parseEmptyStatement() {      }
		/**
		 * Parses a debugger statement
		 *
		 * @return Node\DebuggerStatement|null
		 */
		protected function parseDebuggerStatement() {       }
		/**
		 * Parses an if statement
		 *
		 * @return Node\IfStatement|null
		 */
		protected function parseIfStatement() {         }
		/**
		 * Parses a try-catch statement
		 *
		 * @return Node\TryStatement|null
		 */
		protected function parseTryStatement() {        }
		/**
		 * Parses the catch block of a try-catch statement
		 *
		 * @return Node\CatchClause|null
		 */
		protected function parseCatch() {       }
		/**
		 * Parses the catch parameter of a catch block in a try-catch statement
		 *
		 * @return Node\Node|null
		 */
		protected function parseCatchParameter() {      }
		/**
		 * Parses a finally block in a try-catch statement
		 *
		 * @return Node\BlockStatement|null
		 */
		protected function parseFinally() {         }
		/**
		 * Parses a continue statement
		 *
		 * @return Node\ContinueStatement|null
		 */
		protected function parseContinueStatement() {       }
		/**
		 * Parses a break statement
		 *
		 * @return Node\BreakStatement|null
		 */
		protected function parseBreakStatement() {      }
		/**
		 * Parses a return statement
		 *
		 * @return Node\ReturnStatement|null
		 */
		protected function parseReturnStatement() {         }
		/**
		 * Parses a labelled statement
		 *
		 * @return Node\LabeledStatement|null
		 */
		protected function parseLabelledStatement() {       }
		/**
		 * Parses a throw statement
		 *
		 * @return Node\ThrowStatement|null
		 */
		protected function parseThrowStatement() {      }
		/**
		 * Parses a with statement
		 *
		 * @return Node\WithStatement|null
		 */
		protected function parseWithStatement() {       }
		/**
		 * Parses a switch statement
		 *
		 * @return Node\SwitchStatement|null
		 */
		protected function parseSwitchStatement() {         }
		/**
		 * Parses the content of a switch statement
		 *
		 * @return Node\SwitchCase[]|null
		 */
		protected function parseCaseBlock() {       }
		/**
		 * Parses cases in a switch statement
		 *
		 * @return Node\SwitchCase[]|null
		 */
		protected function parseCaseClauses() {         }
		/**
		 * Parses a case in a switch statement
		 *
		 * @return Node\SwitchCase|null
		 */
		protected function parseCaseClause() {      }
		/**
		 * Parses default case in a switch statement
		 *
		 * @return Node\SwitchCase|null
		 */
		protected function parseDefaultClause() {       }
		/**
		 * Parses an expression statement
		 *
		 * @return Node\ExpressionStatement|null
		 */
		protected function parseExpressionStatement() {         }
		/**
		 * Parses a do-while statement
		 *
		 * @return Node\DoWhileStatement|null
		 */
		protected function parseDoWhileStatement() {        }
		/**
		 * Parses a while statement
		 *
		 * @return Node\WhileStatement|null
		 */
		protected function parseWhileStatement() {      }
		/**
		 * Parses a for(var ...) statement
		 *
		 * @param Token $forToken Token that corresponds to the "for" keyword
		 *
		 * @return Node\Node|null
		 */
		protected function parseForVarStatement( $forToken ) {      }
		/**
		 * Parses a for(let ...) or for(const ...) statement
		 *
		 * @param Token $forToken Token that corresponds to the "for" keyword
		 *
		 * @return Node\Node|null
		 */
		protected function parseForLetConstStatement( $forToken ) {         }
		/**
		 * Parses a for statement that does not start with var, let or const
		 *
		 * @param Token $forToken Token that corresponds to the "for" keyword
		 * @param bool  $hasAwait True if "for" is followed by "await"
		 *
		 * @return Node\Node|null
		 */
		protected function parseForNotVarLetConstStatement( $forToken, $hasAwait ) {        }
		/**
		 * Parses do-while, while, for, for-in and for-of statements
		 *
		 * @return Node\Node|null
		 */
		protected function parseIterationStatement() {      }
		/**
		 * Checks if an async function can start from the current position. Returns
		 * the async token or null if not found
		 *
		 * @param bool $checkFn If false it won't check if the async keyword is
		 *                      followed by "function"
		 *
		 * @return Token
		 */
		protected function checkAsyncFunctionStart( $checkFn = true ) {         }
		/**
		 * Parses function or generator declaration
		 *
		 * @param bool $default        Default mode
		 * @param bool $allowGenerator True to allow parsing of generators
		 *
		 * @return Node\FunctionDeclaration|null
		 */
		protected function parseFunctionOrGeneratorDeclaration( $default = false, $allowGenerator = true ) {        }
		/**
		 * Parses function or generator expression
		 *
		 * @return Node\FunctionExpression|null
		 */
		protected function parseFunctionOrGeneratorExpression() {       }
		/**
		 * Parses yield statement
		 *
		 * @return Node\YieldExpression|null
		 */
		protected function parseYieldExpression() {         }
		/**
		 * Parses a parameter list
		 *
		 * @return Node\Node[]|null
		 */
		protected function parseFormalParameterList() {         }
		/**
		 * Parses a function body
		 *
		 * @return Node\BlockStatement[]|null
		 */
		protected function parseFunctionBody() {        }
		/**
		 * Parses a class declaration
		 *
		 * @param bool $default Default mode
		 *
		 * @return Node\ClassDeclaration|null
		 */
		protected function parseClassDeclaration( $default = false ) {      }
		/**
		 * Parses a class expression
		 *
		 * @return Node\ClassExpression|null
		 */
		protected function parseClassExpression() {         }
		/**
		 * Parses the code that comes after the class keyword and class name. The
		 * return value is an array where the first item is the extended class, if
		 * any, and the second value is the class body
		 *
		 * @return array|null
		 */
		protected function parseClassTail() {       }
		/**
		 * Parses the class extends part
		 *
		 * @return Node\Node|null
		 */
		protected function parseClassHeritage() {       }
		/**
		 * Parses the class body
		 *
		 * @return Node\ClassBody|null
		 */
		protected function parseClassBody() {       }
		/**
		 * Parses class elements list
		 *
		 * @return Node\MethodDefinition[]|null
		 */
		protected function parseClassElementList() {        }
		/**
		 * Parses a class elements
		 *
		 * @return Node\MethodDefinition|Node\PropertyDefinition|Node\StaticBlock|bool|null
		 */
		protected function parseClassElement() {        }
		/**
		 * Parses a let or const declaration
		 *
		 * @return Node\VariableDeclaration|null
		 */
		protected function parseLexicalDeclaration() {      }
		/**
		 * Parses a var declaration
		 *
		 * @return Node\VariableDeclaration|null
		 */
		protected function parseVariableStatement() {       }
		/**
		 * Parses an variable declarations
		 *
		 * @return Node\VariableDeclarator[]|null
		 */
		protected function parseVariableDeclarationList() {         }
		/**
		 * Parses a variable declarations
		 *
		 * @return Node\VariableDeclarator|null
		 */
		protected function parseVariableDeclaration() {         }
		/**
		 * Parses a let or const declaration in a for statement definition
		 *
		 * @return Node\VariableDeclaration|null
		 */
		protected function parseForDeclaration() {      }
		/**
		 * Parses a binding pattern or an identifier that come after a const or let
		 * declaration in a for statement definition
		 *
		 * @return Node\VariableDeclarator|null
		 */
		protected function parseForBinding() {      }
		/**
		 * Parses a module item
		 *
		 * @return Node\Node|null
		 */
		protected function parseModuleItem() {      }
		/**
		 * Parses the from keyword and the following string in import and export
		 * declarations
		 *
		 * @return Node\StringLiteral|null
		 */
		protected function parseFromClause() {      }
		/**
		 * Parses an export declaration
		 *
		 * @return Node\ModuleDeclaration|null
		 */
		protected function parseExportDeclaration() {       }
		/**
		 * Parses an export clause
		 *
		 * @return Node\ExportSpecifier[]|null
		 */
		protected function parseExportClause() {        }
		/**
		 * Parses an export specifier
		 *
		 * @return Node\ExportSpecifier|null
		 */
		protected function parseExportSpecifier() {         }
		/**
		 * Parses an export name
		 *
		 * @return Node\Identifier|Node\StringLiteral|null
		 */
		protected function parseModuleExportName() {        }
		/**
		 * Parses an import declaration
		 *
		 * @return Node\ModuleDeclaration|null
		 */
		protected function parseImportDeclaration() {       }
		/**
		 * Parses an import clause
		 *
		 * @return array|null
		 */
		protected function parseImportClause() {        }
		/**
		 * Parses a namespace import
		 *
		 * @return Node\ImportNamespaceSpecifier|null
		 */
		protected function parseNameSpaceImport() {         }
		/**
		 * Parses a named imports
		 *
		 * @return Node\ImportSpecifier[]|null
		 */
		protected function parseNamedImports() {        }
		/**
		 * Parses an import specifier
		 *
		 * @return Node\ImportSpecifier|null
		 */
		protected function parseImportSpecifier() {         }
		/**
		 * Parses a binding pattern
		 *
		 * @return Node\ArrayPattern|Node\ObjectPattern|null
		 */
		protected function parseBindingPattern() {      }
		/**
		 * Parses an elisions sequence. It returns the number of elisions or null
		 * if no elision has been found
		 *
		 * @return int
		 */
		protected function parseElision() {         }
		/**
		 * Parses an array binding pattern
		 *
		 * @return Node\ArrayPattern|null
		 */
		protected function parseArrayBindingPattern() {         }
		/**
		 * Parses a rest element
		 *
		 * @return Node\RestElement|null
		 */
		protected function parseBindingRestElement() {      }
		/**
		 * Parses a binding element
		 *
		 * @return Node\AssignmentPattern|Node\Identifier|null
		 */
		protected function parseBindingElement() {      }
		/**
		 * Parses single name binding
		 *
		 * @return Node\AssignmentPattern|Node\Identifier|null
		 */
		protected function parseSingleNameBinding() {       }
		/**
		 * Parses a property name. The returned value is an array where there first
		 * element is the property name and the second element is a boolean
		 * indicating if it's a computed property
		 *
		 * @return array|null
		 */
		protected function parsePropertyName() {        }
		/**
		 * Parses a property name. The returned value is an array where there first
		 * element is the property name and the second element is a boolean
		 * indicating if it's a computed property
		 *
		 * @return array|null
		 */
		protected function parseClassElementName() {        }
		/**
		 * Parses a field definition
		 *
		 * @return Node\StaticBlock
		 */
		protected function parseClassStaticBlock() {        }
		/**
		 * Parses a field definition
		 *
		 * @return Node\PropertyDefinition|null
		 */
		protected function parseFieldDefinition() {         }
		/**
		 * Parses a method definition
		 *
		 * @return Node\MethodDefinition|null
		 */
		protected function parseMethodDefinition() {        }
		/**
		 * Parses parameters in an arrow function. If the parameters are wrapped in
		 * round brackets, the returned value is an array where the first element
		 * is the parameters list and the second element is the open round brackets,
		 * this is needed to know the start position
		 *
		 * @return Node\Identifier|array|null
		 */
		protected function parseArrowParameters() {         }
		/**
		 * Parses the body of an arrow function. The returned value is an array
		 * where the first element is the function body and the second element is
		 * a boolean indicating if the body is wrapped in curly braces
		 *
		 * @param bool $async  Async body mode
		 *
		 * @return array|null
		 */
		protected function parseConciseBody( $async = false ) {         }
		/**
		 * Parses an arrow function
		 *
		 * @return Node\ArrowFunctionExpression|null
		 */
		protected function parseArrowFunction() {       }
		/**
		 * Parses an object literal
		 *
		 * @return Node\ObjectExpression|null
		 */
		protected function parseObjectLiteral() {       }
		/**
		 * Parses a property in an object literal
		 *
		 * @return Node\Property|null
		 */
		protected function parsePropertyDefinition() {      }
		/**
		 * Parses an initializer
		 *
		 * @return Node\Node|null
		 */
		protected function parseInitializer() {         }
		/**
		 * Parses an object binding pattern
		 *
		 * @return Node\ObjectPattern|null
		 */
		protected function parseObjectBindingPattern() {        }
		/**
		 * Parses a rest property
		 *
		 * @return Node\RestElement|null
		 */
		protected function parseRestProperty() {        }
		/**
		 * Parses a property in an object binding pattern
		 *
		 * @return Node\AssignmentProperty|null
		 */
		protected function parseBindingProperty() {         }
		/**
		 * Parses an expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseExpression() {      }
		/**
		 * Parses an assignment expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseAssignmentExpression() {        }
		/**
		 * Parses a conditional expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseConditionalExpression() {       }
		/**
		 * Parses a logical or a binary expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseLogicalBinaryExpression() {         }
		/**
		 * Parses a unary expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseUnaryExpression() {         }
		/**
		 * Parses a postfix expression
		 *
		 * @return Node\Node|null
		 */
		protected function parsePostfixExpression() {       }
		/**
		 * Parses a left hand side expression
		 *
		 * @return Node\Node|null
		 */
		protected function parseLeftHandSideExpression() {      }
		/**
		 * Parses a spread element
		 *
		 * @return Node\SpreadElement|null
		 */
		protected function parseSpreadElement() {       }
		/**
		 * Parses an array literal
		 *
		 * @return Node\ArrayExpression|null
		 */
		protected function parseArrayLiteral() {        }
		/**
		 * Parses an arguments list wrapped in round brackets
		 *
		 * @return array|null
		 */
		protected function parseArguments() {       }
		/**
		 * Parses an arguments list
		 *
		 * @return array|null
		 */
		protected function parseArgumentList() {        }
		/**
		 * Parses a super call or a super property
		 *
		 * @return Node\Node|null
		 */
		protected function parseSuperPropertyOrCall() {         }
		/**
		 * Parses a primary expression
		 *
		 * @return Node\Node|null
		 */
		protected function parsePrimaryExpression() {       }
		/**
		 * Parses a private identifier
		 *
		 * @return Node\PrivateIdentifier|null
		 */
		protected function parsePrivateIdentifier() {       }
		/**
		 * Parses an identifier
		 *
		 * @param int    $mode       Parsing mode, one of the id parsing mode
		 *                           constants
		 * @param string $after     If a string is passed in this parameter, the
		 *                          identifier is parsed only if precedes this string
		 *
		 * @return Node\Identifier|null
		 */
		protected function parseIdentifier( $mode, $after = null ) {        }
		/**
		 * Parses a literal
		 *
		 * @return Node\Literal|null
		 */
		protected function parseLiteral() {         }
		/**
		 * Parses a string literal
		 *
		 * @return Node\StringLiteral|null
		 */
		protected function parseStringLiteral() {       }
		/**
		 * Parses a numeric literal
		 *
		 * @return Node\NumericLiteral|Node\BigIntLiteral|null
		 */
		protected function parseNumericLiteral() {      }
		/**
		 * Parses a template literal
		 *
		 * @param bool $tagged True if the template is tagged
		 *
		 * @return Node\Literal|null
		 */
		protected function parseTemplateLiteral( $tagged = false ) {        }
		/**
		 * Parses a regular expression literal
		 *
		 * @return Node\Literal|null
		 */
		protected function parseRegularExpressionLiteral() {        }
		/**
		 * Parse directive prologues. The result is an array where the first element
		 * is the array of parsed nodes and the second element is the array of
		 * directive prologues values
		 *
		 * @return array|null
		 */
		protected function parseDirectivePrologues() {      }
		/**
		 * Parses an import call
		 *
		 * @return Node\Node|null
		 */
		protected function parseImportCall() {      }
		/**
		 * Checks if the given string or number contains invalid escape sequences
		 *
		 * @param string $val                      Value to check
		 * @param bool   $number                   True if the value is a number
		 * @param bool   $forceLegacyOctalCheck    True to force legacy octal
		 *                                         form check
		 * @param bool   $taggedTemplate           True if the value is a tagged
		 *                                         template
		 *
		 * @return void
		 */
		protected function checkInvalidEscapeSequences( $val, $number = false, $forceLegacyOctalCheck = false, $taggedTemplate = false ) {      }
	}
}

namespace Peast\Syntax\ES2015 {
	/**
	 * ES2015 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\Features {

	}
}

namespace Peast\Syntax\ES2016 {
	/**
	 * ES2016 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2015\Features {

		/**
		 * Exponentiation operator
		 *
		 * @var bool
		 */
		public $exponentiationOperator = true;
	}
}

namespace Peast\Syntax\ES2017 {
	/**
	 * ES2017 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2016\Features {

		/**
		 * Async/await
		 *
		 * @var bool
		 */
		public $asyncAwait = true;
		/**
		 * Trailing comma in function calls and declarations
		 *
		 * @var bool
		 */
		public $trailingCommaFunctionCallDeclaration = true;
		/**
		 * For-in initializer
		 *
		 * @var bool
		 */
		public $forInInitializer = true;
	}
}

namespace Peast\Syntax\ES2018 {
	/**
	 * ES2018 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2017\Features {

		/**
		 * Async iteration and generators
		 *
		 * @var bool
		 */
		public $asyncIterationGenerators = true;
		/**
		 * Rest/spread properties
		 *
		 * @var bool
		 */
		public $restSpreadProperties = true;
		/**
		 * Skip escape sequences checks in tagged template
		 *
		 * @var bool
		 */
		public $skipEscapeSeqCheckInTaggedTemplates = true;
	}
}

namespace Peast\Syntax\ES2019 {
	/**
	 * ES2019 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2018\Features {

		/**
		 * Optional catch binding
		 *
		 * @var bool
		 */
		public $optionalCatchBinding = true;
		/**
		 * Paragraph and line separator in strings
		 *
		 * @var bool
		 */
		public $paragraphLineSepInStrings = true;
	}
}

namespace Peast\Syntax\ES2020 {
	/**
	 * ES2020 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2019\Features {

		/**
		 * Dynamic import
		 *
		 * @var bool
		 */
		public $dynamicImport = true;
		/**
		 * BigInt literals
		 *
		 * @var bool
		 */
		public $bigInt = true;
		/**
		 * Exported name for export all declarations
		 *
		 * @var bool
		 */
		public $exportedNameInExportAll = true;
		/**
		 * Import.meta
		 *
		 * @var bool
		 */
		public $importMeta = true;
		/**
		 * Coalescing operator
		 *
		 * @var bool
		 */
		public $coalescingOperator = true;
		/**
		 * Optional chaining
		 *
		 * @var bool
		 */
		public $optionalChaining = true;
	}
}

namespace Peast\Syntax {
	/**
	 * Events emitter class. An instance of this class is used by Parser and Scanner
	 * to emit events and attach listeners to them
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class EventsEmitter {

		/**
		 * Events registry array
		 *
		 * @var array
		 */
		protected $eventsRegistry = array();
		/**
		 * Attaches a listener function to the given event
		 *
		 * @param string   $event      Event name
		 * @param callable $listener   Listener function
		 *
		 * @return $this
		 */
		public function addListener( $event, $listener ) {      }
		/**
		 * Fires an event
		 *
		 * @param string $event  Event name
		 * @param array  $args   Arguments to pass to functions attached to the
		 *                       event
		 *
		 * @return $this
		 */
		public function fire( $event, $args = array() ) {       }
	}
	/**
	 * Encoding exception class. Encoding errors while scanning the source are
	 * thrown using this using this exception class.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class EncodingException extends \Exception {

	}
}

namespace Peast\Syntax\ES2021 {
	/**
	 * ES2021 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2020\Features {

		/**
		 * Logical assignment operators
		 *
		 * @var bool
		 */
		public $logicalAssignmentOperators = true;
		/**
		 * Numeric literal separator
		 *
		 * @var bool
		 */
		public $numericLiteralSeparator = true;
	}
}

namespace Peast\Syntax\JSX {
	/**
	 * JSX scanner trait
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	trait Scanner {

		/**
		 * Tries to reconsume the current token as a jsx text if possible
		 *
		 * @return Token|null
		 */
		public function reconsumeCurrentTokenAsJSXText() {      }
		/**
		 * Reconsumes the current token in jsx mode
		 *
		 * @return Token|null
		 */
		public function reconsumeCurrentTokenInJSXMode() {      }
		/**
		 * String scanning method in jsx mode
		 *
		 * @return Token|null
		 */
		public function scanJSXString() {       }
		/**
		 * String punctuator method in jsx mode
		 *
		 * @return Token|null
		 */
		public function scanJSXPunctuator() {       }
		/**
		 * Identifier scanning method in jsx mode
		 *
		 * @return Token|null
		 */
		public function scanJSXIdentifier() {       }
	}
}

namespace Peast\Syntax {
	/**
	 * Base class for scanners.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Scanner {

		use \Peast\Syntax\JSX\Scanner;
		/**
		 * Scanner features
		 *
		 * @var Features
		 */
		protected $features;
		/**
		 * Current column
		 *
		 * @var int
		 */
		protected $column = 0;
		/**
		 * Current line
		 *
		 * @var int
		 */
		protected $line = 1;
		/**
		 * Current index
		 *
		 * @var int
		 */
		protected $index = 0;
		/**
		 * Source length
		 *
		 * @var int
		 */
		protected $length;
		/**
		 * Source characters
		 *
		 * @var array
		 */
		protected $source;
		/**
		 * Consumed position
		 *
		 * @var Position
		 */
		protected $position;
		/**
		 * Current token
		 *
		 * @var Token
		 */
		protected $currentToken;
		/**
		 * Next token
		 *
		 * @var Token
		 */
		protected $nextToken;
		/**
		 * Strict mode flag
		 *
		 * @var bool
		 */
		protected $strictMode = false;
		/**
		 * True to register tokens in the tokens array
		 *
		 * @var bool
		 */
		protected $registerTokens = false;
		/**
		 * Module mode
		 *
		 * @var bool
		 */
		protected $isModule = false;
		/**
		 * Comments handling
		 *
		 * @var bool
		 */
		protected $comments = false;
		/**
		 * Internal JSX scan flag
		 *
		 * @var bool
		 */
		protected $jsx = false;
		/**
		 * Registered tokens array
		 *
		 * @var array
		 */
		protected $tokens = array();
		/**
		 * Comments to tokens map
		 *
		 * @var array
		 */
		protected $commentsMap = array();
		/**
		 * Events emitter
		 *
		 * @var EventsEmitter
		 */
		protected $eventsEmitter;
		/**
		 * Regex to match identifiers starts
		 *
		 * @var string
		 */
		protected $idStartRegex = "/[\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\x{1885}\\x{1886}\\x{2118}\\x{212E}\\x{309B}\\x{309C}]/u";
		/**
		 * Regex to match identifiers parts
		 *
		 * @var string
		 */
		protected $idPartRegex = "/[\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\x{1885}\\x{1886}\\x{2118}\\x{212E}\\x{309B}\\x{309C}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}\\x{00B7}\\x{0387}\\x{1369}\\x{136A}\\x{136B}\\x{136C}\\x{136D}\\x{136E}\\x{136F}\\x{1370}\\x{1371}\\x{19DA}\\x{200C}\\x{200D}]/u";
		/**
		 * Keywords array
		 *
		 * @var array
		 */
		protected $keywords = array( 'break', 'do', 'in', 'typeof', 'case', 'else', 'instanceof', 'var', 'catch', 'export', 'new', 'void', 'class', 'extends', 'return', 'while', 'const', 'finally', 'super', 'with', 'continue', 'for', 'switch', 'debugger', 'function', 'this', 'default', 'if', 'throw', 'delete', 'import', 'try', 'enum', 'await' );
		/**
		 * Array of words that are keywords only in strict mode
		 *
		 * @var array
		 */
		protected $strictModeKeywords = array( 'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'let', 'yield' );
		/**
		 * Punctuators array
		 *
		 * @var array
		 */
		protected $punctuators = array( '.', ';', ',', '<', '>', '<=', '>=', '==', '!=', '===', '!==', '+', '-', '*', '%', '++', '--', '<<', '>>', '>>>', '&', '|', '^', '!', '~', '&&', '||', '?', ':', '=', '+=', '-=', '*=', '%=', '<<=', '>>=', '>>>=', '&=', '|=', '^=', '=>', '...', '/', '/=', '**', '**=', '??', '?.', '&&=', '||=', '??=' );
		/**
		 * Punctuators LSM
		 *
		 * @var LSM
		 */
		protected $punctuatorsLSM;
		/**
		 * Strings stops LSM
		 *
		 * @var LSM
		 */
		protected $stringsStopsLSM;
		/**
		 * Brackets array
		 *
		 * @var array
		 */
		protected $brackets = array(
			'(' => '',
			'[' => '',
			'{' => '',
			')' => '(',
			']' => '[',
			'}' => '{',
		);
		/**
		 * Open brackets array
		 *
		 * @var array
		 */
		protected $openBrackets = array();
		/**
		 * Open templates array
		 *
		 * @var array
		 */
		protected $openTemplates = array();
		/**
		 * Whitespaces array
		 *
		 * @var array
		 */
		protected $whitespaces = array( ' ', "\t", "\n", "\r", "\f", "\v", 0xa0, 0xfeff, 0xa0, 0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x202f, 0x205f, 0x3000, 0x2028, 0x2029 );
		/**
		 * Line terminators characters array
		 *
		 * @var array
		 *
		 * @static
		 */
		public static $lineTerminatorsChars = array( "\n", "\r", 0x2028, 0x2029 );
		/**
		 * Line terminators sequences array
		 *
		 * @var array
		 *
		 * @static
		 */
		public static $lineTerminatorsSequences = array( "\r\n" );
		/**
		 * Regex to split texts using valid ES line terminators
		 *
		 * @var array
		 */
		protected $linesSplitter;
		/**
		 * Concatenation of line terminators characters and line terminators
		 * sequences
		 *
		 * @var array
		 */
		protected $lineTerminators;
		/**
		 * Properties to copy when getting the scanner state
		 *
		 * @var array
		 */
		protected $stateProps = array( 'position', 'index', 'column', 'line', 'currentToken', 'nextToken', 'strictMode', 'openBrackets', 'openTemplates', 'commentsMap' );
		/**
		 * Decimal numbers
		 *
		 * @var array
		 */
		protected $numbers = array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' );
		/**
		 * Hexadecimal numbers
		 *
		 * @var array
		 */
		protected $xnumbers = array( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F' );
		/**
		 * Octal numbers
		 *
		 * @var array
		 */
		protected $onumbers = array( '0', '1', '2', '3', '4', '5', '6', '7' );
		/**
		 * Binary numbers
		 *
		 * @var array
		 */
		protected $bnumbers = array( '0', '1' );
		/**
		 * Class constructor
		 *
		 * @param string   $source   Source code
		 * @param Features $features Scanner features
		 * @param array    $options  Parsing options
		 */
		function __construct( $source, \Peast\Syntax\Features $features, $options ) {       }
		/**
		 * Strips BOM characters from the source and detects source encoding if not
		 * given by the user
		 *
		 * @param string $source   Source
		 * @param string $encoding User specified encoding
		 */
		public function stripBOM( &$source, &$encoding ) {      }
		/**
		 * Enables or disables module scanning mode
		 *
		 * @param bool $enable True to enable module scanning mode, false to disable it
		 *
		 * @return $this
		 */
		public function enableModuleMode( $enable = true ) {        }
		/**
		 * Enables or disables comments handling
		 *
		 * @param bool $enable True to enable comments handling, false to disable it
		 *
		 * @return $this
		 */
		public function enableComments( $enable = true ) {      }
		/**
		 * Enables or disables tokens registration in the token array
		 *
		 * @param bool $enable True to enable token registration, false to disable it
		 *
		 * @return $this
		 */
		public function enableTokenRegistration( $enable = true ) {         }
		/**
		 * Return registered tokens
		 *
		 * @return array
		 */
		public function getTokens() {       }
		/**
		 * Returns the scanner's event emitter
		 *
		 * @return EventsEmitter
		 */
		public function getEventsEmitter() {        }
		/**
		 * Enables or disables strict mode
		 *
		 * @param bool $strictMode Strict mode state
		 *
		 * @return $this
		 */
		public function setStrictMode( $strictMode ) {      }
		/**
		 * Return strict mode state
		 *
		 * @return bool
		 */
		public function getStrictMode() {       }
		/**
		 * Checks if the given token is a keyword in the current strict mode state
		 *
		 * @param Token $token Token to checks
		 *
		 * @return bool
		 */
		public function isStrictModeKeyword( $token ) {         }
		/**
		 * Returns the current scanner state
		 *
		 * @return array
		 */
		public function getState() {        }
		/**
		 * Sets the current scanner state
		 *
		 * @param array $state State
		 *
		 * @return $this
		 */
		public function setState( $state ) {        }
		/**
		 * Returns current scanner state
		 *
		 * @param bool $scanPosition By default this method returns the scanner
		 *                           consumed position, if this parameter is true
		 *                           the scanned position will be returned
		 *
		 * @return Position
		 */
		public function getPosition( $scanPosition = false ) {      }
		/**
		 * Sets the current scan position at the given one
		 *
		 * @param Position $position Position at which the scan position will be set
		 *
		 * @return $this
		 */
		public function setScanPosition( \Peast\Syntax\Position $position ) {       }
		/**
		 * Return the character at the given index in the source code or null if the
		 * end is reached.
		 *
		 * @param int $index Index, if not given it will use the current index
		 *
		 * @return string|null
		 */
		public function charAt( $index = null ) {       }
		/**
		 * Throws a syntax error
		 *
		 * @param string $message Error message
		 *
		 * @return void
		 *
		 * @throws Exception
		 */
		protected function error( $message = null ) {       }
		/**
		 * Consumes the current token
		 *
		 * @return $this
		 */
		public function consumeToken() {        }
		/**
		 * Checks if the given string is matched, if so it consumes the token
		 *
		 * @param string $expected String to check
		 *
		 * @return Token|null
		 */
		public function consume( $expected ) {      }
		/**
		 * Checks if one of the given strings is matched, if so it consumes the
		 * token
		 *
		 * @param array $expected Strings to check
		 *
		 * @return Token|null
		 */
		public function consumeOneOf( $expected ) {         }
		/**
		 * Checks that there are not line terminators following the current scan
		 * position before next token
		 *
		 * @param bool $nextToken By default it checks the current token position
		 *                        relative to the current position, if this
		 *                        parameter is true the check will be done relative
		 *                        to the next token
		 *
		 * @return bool
		 */
		public function noLineTerminators( $nextToken = false ) {       }
		/**
		 * Checks if one of the given strings follows the current scan position
		 *
		 * @param string|array $expected  String or array of strings to check
		 * @param bool         $nextToken This parameter must be true if the first
		 *                                parameter is an array so that it will
		 *                                check also next tokens
		 *
		 * @return bool
		 */
		public function isBefore( $expected, $nextToken = false ) {         }
		/**
		 * Returns the next token
		 *
		 * @return Token|null
		 */
		public function getNextToken() {        }
		/**
		 * Returns the current token
		 *
		 * @param bool $skipEOFChecks  True to skip end of file checks
		 *                             even if the end is reached
		 *
		 * @return Token|null
		 */
		public function getToken( $skipEOFChecks = false ) {        }
		/**
		 * Executes the operations to handle the end of the source scanning
		 *
		 * @return $this
		 */
		public function consumeEnd() {      }
		/**
		 * Gets or sets comments for the current token. If the parameter is an
		 * array it associates the given comments array to the current node,
		 * otherwise comments for the current token are returned
		 *
		 * @param array $comments  Comments array
		 *
		 * @return array
		 */
		protected function commentsForCurrentToken( $comments = null ) {        }
		/**
		 * Consumes comment tokens associated with the current token
		 *
		 * @return $this
		 */
		protected function consumeCommentsForCurrentToken() {       }
		/**
		 * Checks if the given position follows a slash.
		 *
		 * @param Position $position  Position to check
		 *
		 * @return bool
		 */
		protected function isAfterSlash( $position ) {      }
		/**
		 * Tries to reconsume the current token as a regexp if possible
		 *
		 * @return Token|null
		 */
		public function reconsumeCurrentTokenAsRegexp() {       }
		/**
		 * Skips whitespaces and comments from the current scan position. If
		 * comments handling is enabled, the array of parsed comments
		 *
		 * @return array
		 */
		protected function skipWhitespacesAndComments() {       }
		/**
		 * String scanning method
		 *
		 * @param bool $handleEscape True to handle escaping
		 *
		 * @return Token|null
		 */
		protected function scanString( $handleEscape = true ) {         }
		/**
		 * Template scanning method
		 *
		 * @return Token|null
		 */
		protected function scanTemplate() {         }
		/**
		 * Number scanning method
		 *
		 * @return Token|null
		 */
		protected function scanNumber() {       }
		/**
		 * Consumes the maximum number of digits
		 *
		 * @param string $type Digits type (decimal, hexadecimal, etc...)
		 * @param int    $max  Maximum number of digits to match
		 *
		 * @return string|null
		 */
		protected function consumeNumbers( $type = '', $max = null ) {      }
		/**
		 * Consumes the exponent part of a number
		 *
		 * @return string|null
		 */
		protected function consumeExponentPart() {      }
		/**
		 * Punctuator scanning method
		 *
		 * @return Token|null
		 */
		protected function scanPunctuator() {       }
		/**
		 * Keywords and identifiers scanning method
		 *
		 * @return Token|null
		 */
		protected function scanKeywordOrIdentifier() {      }
		/**
		 * Consumes an unicode escape sequence
		 *
		 * @return array|null
		 */
		protected function consumeUnicodeEscapeSequence() {         }
		/**
		 * Checks if the given character is valid for an identifier
		 *
		 * @param string $char  Character to check
		 * @param bool   $start If true it will check that the character is
		 *                      valid to start an identifier
		 *
		 * @return bool
		 */
		protected function isIdentifierChar( $char, $start = true ) {       }
		/**
		 * Increases columns and lines count according to the given string
		 *
		 * @param string $buffer String to analyze
		 *
		 * @return void
		 */
		protected function adjustColumnAndLine( $buffer ) {         }
		/**
		 * Consumes characters until one of the given characters is found
		 *
		 * @param array|LSM $stops          Characters to search
		 * @param bool      $handleEscape   True to handle escaping
		 * @param bool      $collectStop    True to include the stop character
		 *
		 * @return array|null
		 */
		protected function consumeUntil( $stops, $handleEscape = true, $collectStop = true ) {      }
	}
	/**
	 * Longest Sequence Matcher. Utility class used by the scanner to consume
	 * the longest sequence of character given a set of allowed characters sequences.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class LSM {

		/**
		 * Internal sequences map
		 *
		 * @var array
		 */
		protected $map = array();
		/**
		 * Encoding handle flag
		 *
		 * @var bool
		 */
		protected $handleEncoding = false;
		/**
		 * Class constructor
		 *
		 * @param array $sequences      Allowed characters sequences
		 * @param bool  $handleEncoding True to handle encoding when matching
		 */
		function __construct( $sequences, $handleEncoding = false ) {       }
		/**
		 * Adds a sequence
		 *
		 * @param string $sequence Sequence to add
		 *
		 * @return $this
		 */
		public function add( $sequence ) {      }
		/**
		 * Removes a sequence
		 *
		 * @param string $sequence Sequence to remove
		 *
		 * @return $this
		 */
		public function remove( $sequence ) {       }
		/**
		 * Executes the match. It returns an array where the first element is the
		 * number of consumed characters and the second element is the match. If
		 * no match is found it returns null.
		 *
		 * @param Scanner $scanner    Scanner instance
		 * @param int     $index      Current index
		 * @param string  $char       Current character
		 *
		 * @return array|null
		 */
		public function match( $scanner, $index, $char ) {      }
	}
}

namespace Peast\Syntax\ES2022 {
	/**
	 * ES2022 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2021\Features {

		/**
		 * Private methods and fields
		 *
		 * @var bool
		 */
		public $privateMethodsAndFields = true;
		/**
		 * Class fields
		 *
		 * @var bool
		 */
		public $classFields = true;
		/**
		 * "in" operator for private fields
		 *
		 * @var bool
		 */
		public $classFieldsPrivateIn = true;
		/**
		 * Top level await
		 *
		 * @var bool
		 */
		public $topLevelAwait = true;
		/**
		 * Class static block
		 *
		 * @var bool
		 */
		public $classStaticBlock = true;
		/**
		 * Arbitrary module namespace identifier names
		 *
		 * @var bool
		 */
		public $arbitraryModuleNSNames = true;
	}
}

namespace Peast\Syntax\ES2023 {
	/**
	 * ES2023 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2022\Features {

		/**
		 * Hashbang comments
		 *
		 * @var bool
		 */
		public $hashbangComments = true;
	}
}

namespace Peast\Syntax\ES2024 {
	/**
	 * ES2024 features class
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Features extends \Peast\Syntax\ES2023\Features {

	}
}

namespace Peast\Syntax {
	/**
	 * Utilities class.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Utils {

		/**
		 * Converts a string to an array of UTF-8 characters
		 *
		 * @param string $str            String to convert
		 * @param bool   $strictEncoding If false and the string contains invalid
		 *                               UTF-8 characters, it will replace those
		 *                               characters with the one defined in the
		 *                               mbstring.substitute_character setting
		 *
		 * @return array
		 *
		 * @throws EncodingException
		 */
		public static function stringToUTF8Array( $str, $strictEncoding = true ) {      }
		/**
		 * Converts an unicode code point to UTF-8
		 *
		 * @param int $num Unicode code point
		 *
		 * @return string
		 *
		 * @codeCoverageIgnore
		 */
		public static function unicodeToUtf8( $num ) {      }
		/**
		 * Compiled line terminators cache
		 *
		 * @var array
		 */
		protected static $lineTerminatorsCache;
		/**
		 * Returns line terminators array
		 *
		 * @return array
		 */
		protected static function getLineTerminators() {        }
		/**
		 * Converts a surrogate pair of Unicode code points to UTF-8
		 *
		 * @param string $first  First Unicode code point
		 * @param string $second Second Unicode code point
		 *
		 * @return string
		 *
		 * @codeCoverageIgnore
		 */
		public static function surrogatePairToUtf8( $first, $second ) {         }
		/**
		 * This function takes a string as it appears in the source code and returns
		 * an unquoted version of it
		 *
		 * @param string $str The string to unquote
		 *
		 * @return string
		 */
		public static function unquoteLiteralString( $str ) {       }
		/**
		 * This function converts a string to a quoted javascript string
		 *
		 * @param string $str   String to quote
		 * @param string $quote Quote character
		 *
		 * @return string
		 */
		public static function quoteLiteralString( $str, $quote ) {         }
		/**
		 * Returns the properties map for the given node
		 *
		 * @param mixed $node Node or class to consider
		 *
		 * @return array
		 */
		protected static function getPropertiesMap( $node ) {       }
		/**
		 * Returns the properties list for the given node
		 *
		 * @param Node\Node $node        Node to consider
		 * @param bool      $traversable If true it returns only traversable properties
		 *
		 * @return array
		 */
		public static function getNodeProperties( \Peast\Syntax\Node\Node $node, $traversable = false ) {       }
		/**
		 * Returns an expanded version of the traversable node properties.
		 * The return of the function is an array of node properties
		 * values with arrays flattened
		 *
		 * @param Node\Node $node Node
		 *
		 * @return array
		 */
		public static function getExpandedNodeProperties( \Peast\Syntax\Node\Node $node ) {         }
		/**
		 * Delete an array element by value
		 *
		 * @param array $array Array
		 * @param mixed $val   Value to remove
		 *
		 * @return void
		 */
		public static function removeArrayValue( &$array, $val ) {      }
	}
	/**
	 * Comments registry class. Internal class used to manage comments
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class CommentsRegistry {

		/**
		 * Map of the indices where nodes start
		 *
		 * @var int
		 */
		protected $nodesStartMap = array();
		/**
		 * Map of the indices where nodes end
		 *
		 * @var int
		 */
		protected $nodesEndMap = array();
		/**
		 * Comments buffer
		 *
		 * @var array
		 */
		protected $buffer = null;
		/**
		 * Last token index
		 *
		 * @var int
		 */
		protected $lastTokenIndex = null;
		/**
		 * Comments registry
		 *
		 * @var array
		 */
		protected $registry = array();
		/**
		 * Class constructor
		 *
		 * @param Parser $parser     Parser
		 */
		public function __construct( \Peast\Syntax\Parser $parser ) {       }
		/**
		 * Listener called every time the scanner compose the array that represents
		 * its current state
		 *
		 * @param array $state   State
		 *
		 * @return void
		 */
		public function onScannerFreezeState( &$state ) {       }
		/**
		 * Listener called every time the scanner reset its state using the given
		 * array
		 *
		 * @param array $state   State
		 *
		 * @return void
		 */
		public function onScannerResetState( &$state ) {        }
		/**
		 * Listener called every time a token is consumed and when the scanner
		 * reaches the end of the source
		 *
		 * @param Token|null $token   Consumed token or null if the end has
		 *                            been reached
		 *
		 * @return void
		 */
		public function onTokenConsumed( $token = null ) {      }
		/**
		 * Listener called every time a node is completed by the parser
		 *
		 * @param Node\Node $node     Completed node
		 *
		 * @return void
		 */
		public function onNodeCompleted( \Peast\Syntax\Node\Node $node ) {      }
		/**
		 * Listener called when parsing process ends
		 *
		 * @return void
		 */
		public function onEndParsing() {        }
		/**
		 * Finds the node to attach the given comments group
		 *
		 * @param array $group   Comments group
		 *
		 * @return void
		 */
		public function findNodeForCommentsGroup( $group ) {        }
		/**
		 * Compares node length
		 *
		 * @param Node\Node $node1     First node
		 * @param Node\Node $node2     Second node
		 *
		 * @return int
		 *
		 * @codeCoverageIgnore
		 */
		public function compareNodesLength( $node1, $node2 ) {      }
		/**
		 * Adds comments to the given node
		 *
		 * @param Node\Node $node       Node
		 * @param array     $comments   Array of comments to add
		 * @param bool      $leading    True to add comments as leading comments
		 *                              or false to add them as trailing comments
		 *
		 * @return void
		 */
		public function associateComments( $node, $comments, $leading ) {       }
	}
}

namespace Peast\Syntax\Node {
	/**
	 * Interface that every expression node must implement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	interface Expression {

	}
	/**
	 * Base class for all the nodes generated by Peast.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class Node implements \JSONSerializable {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'type'             => false,
			'location'         => false,
			'leadingComments'  => false,
			'trailingComments' => false,
		);
		/**
		 * Node location in the source code
		 *
		 * @var SourceLocation
		 */
		public $location;
		/**
		 * Leading comments array
		 *
		 * @var Comment[]
		 */
		protected $leadingComments = array();
		/**
		 * Trailing comments array
		 *
		 * @var Comment[]
		 */
		protected $trailingComments = array();
		/**
		 * Class constructor
		 */
		public function __construct() {         }
		/**
		 * Returns node type
		 *
		 * @return string
		 */
		public function getType() {         }
		/**
		 * Sets leading comments array
		 *
		 * @param Comment[] $comments Comments array
		 *
		 * @return $this
		 */
		public function setLeadingComments( $comments ) {       }
		/**
		 * Returns leading comments array
		 *
		 * @return Comment[]
		 */
		public function getLeadingComments() {      }
		/**
		 * Sets trailing comments array
		 *
		 * @param Comment[] $comments Comments array
		 *
		 * @return $this
		 */
		public function setTrailingComments( $comments ) {      }
		/**
		 * Returns trailing comments array
		 *
		 * @return Comment[]
		 */
		public function getTrailingComments() {         }
		/**
		 * Returns node location in the source code
		 *
		 * @return SourceLocation
		 */
		public function getLocation() {         }
		/**
		 * Sets the start position of the node in the source code
		 *
		 * @param Position $position Start position
		 *
		 * @return $this
		 */
		public function setStartPosition( \Peast\Syntax\Position $position ) {      }
		/**
		 * Sets the end position of the node in the source code
		 *
		 * @param Position $position Start position
		 *
		 * @return $this
		 */
		public function setEndPosition( \Peast\Syntax\Position $position ) {        }
		/**
		 * Traverses the current node and all its child nodes using the given
		 * function
		 *
		 * @param callable $fn      Function that will be called on each node
		 * @param array    $options Options array. See Traverser class
		 *                          documentation for available options
		 *
		 * @return $this
		 */
		public function traverse( callable $fn, $options = array() ) {      }
		/**
		 * Returns a serializable version of the node
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
		/**
		 * Renders the current node
		 *
		 * @param \Peast\Formatter\Base $formatter Formatter to use for the
		 *                                         rendering
		 *
		 * @return string
		 */
		public function render( \Peast\Formatter\Base $formatter ) {        }
		/**
		 * Asserts that the given value is an array of defined type
		 *
		 * @param mixed        $params    Value to check
		 * @param string|array $classes   Class or array of classes to check against
		 * @param bool         $allowNull If true, null values are allowed
		 *
		 * @return void
		 *
		 * @codeCoverageIgnore
		 */
		protected function assertArrayOf( $params, $classes, $allowNull = false ) {         }
		/**
		 * Asserts that the given value respects the defined type
		 *
		 * @param mixed        $param     Value to check
		 * @param string|array $classes   Class or array of classes to check against
		 * @param bool         $allowNull If true, null values are allowed
		 *
		 * @return void
		 *
		 * @codeCoverageIgnore
		 */
		protected function assertType( $param, $classes, $allowNull = false ) {         }
		/**
		 * Throws an error if the defined type is not supported b
		 *
		 * @param mixed $param        The value to check
		 * @param mixed $allowedTypes Class or array of classes to check against
		 * @param bool  $allowNull    If true, null values are allowed
		 * @param bool  $array        If true, the value must be an array
		 * @param bool  $inArray      If true, the value is an array but the content
		 *                            does not respects the type
		 *
		 * @return void
		 *
		 * @throws \TypeError
		 *
		 * @codeCoverageIgnore
		 */
		protected function typeError( $param, $allowedTypes, $allowNull = false, $array = false, $inArray = false ) {       }
	}
	/**
	 * Abstract class for literals.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	abstract class Literal extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'value' => false,
			'raw'   => false,
		);
		/**
		 * Node's value
		 *
		 * @var mixed
		 */
		protected $value;
		/**
		 * Node's raw value
		 *
		 * @var string
		 */
		protected $raw;
		/**
		 * Returns node's type
		 *
		 * @return string
		 */
		public function getType() {         }
		/**
		 * Returns node's value
		 *
		 * @return mixed
		 */
		public function getValue() {        }
		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		abstract public function setValue( $value);
		/**
		 * Return node's raw value
		 *
		 * @return string
		 */
		public function getRaw() {      }
		/**
		 * Sets node's raw value
		 *
		 * @param mixed $raw Raw value
		 *
		 * @return $this
		 */
		public function setRaw( $raw ) {        }
	}
	/**
	 * A node that represents a boolean literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class BooleanLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
	}
	/**
	 * A node that represents a declaration in a VariableDeclaration node.
	 * For example "a=1" in: var a = 1
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class VariableDeclarator extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'id'   => true,
			'init' => true,
		);
		/**
		 * Declaration identifier or pattern
		 *
		 * @var Pattern
		 */
		protected $id;
		/**
		 * Optional initializer
		 *
		 * @var Expression
		 */
		protected $init;
		/**
		 * Returns the declaration identifier or pattern
		 *
		 * @return Pattern
		 */
		public function getId() {       }
		/**
		 * Sets the declaration identifier or pattern
		 *
		 * @param Pattern $id Declaration identifier or pattern
		 *
		 * @return $this
		 */
		public function setId( \Peast\Syntax\Node\Pattern $id ) {       }
		/**
		 * Returns the initializer
		 *
		 * @return Expression
		 */
		public function getInit() {         }
		/**
		 * Sets the initializer
		 *
		 * @param Expression $init Initializer
		 *
		 * @return $this
		 */
		public function setInit( $init ) {      }
	}
	/**
	 * A node that represents a chain element.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	abstract class ChainElement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		protected $propertiesMap = array( 'optional' => false );
		/**
		 * Optional flag that is true if the node is in the optional
		 * part of a chain expression
		 *
		 * @var bool
		 */
		protected $optional = false;
		/**
		 * Returns the optional flag that is true if the node is in
		 * the optional part of a chain expression
		 *
		 * @return bool
		 */
		public function getOptional() {         }
		/**
		 * Sets the optional flag that is true if the node is in
		 * the optional part of a chain expression
		 *
		 * @param bool $optional Optional flag
		 *
		 * @return $this
		 */
		public function setOptional( $optional ) {      }
	}
	/**
	 * Abstract class that export and import specifiers nodes must extend.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class ModuleSpecifier extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'local' => true );
		/**
		 * Local identifier
		 *
		 * @var Identifier|StringLiteral
		 */
		protected $local;
		/**
		 * Returns the local identifier
		 *
		 * @return Identifier|StringLiteral
		 */
		public function getLocal() {        }
		/**
		 * Sets the local identifier
		 *
		 * @param Identifier|StringLiteral $local Local identifier
		 *
		 * @return $this
		 */
		public function setLocal( $local ) {        }
	}
	/**
	 * Interface that every pattern node must implement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	interface Pattern {

	}
	/**
	 * A node that represents an identifier.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Identifier extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression, \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'name'    => false,
			'rawName' => false,
		);
		/**
		 * The identifier's name
		 *
		 * @var string
		 */
		protected $name;
		/**
		 * The identifier's raw name
		 *
		 * @var string
		 */
		protected $rawName;
		/**
		 * Returns the identifier's name
		 *
		 * @return string
		 */
		public function getName() {         }
		/**
		 * Sets the identifier's name
		 *
		 * @param string $name The name to set
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
		/**
		 * Returns the identifier's raw name
		 *
		 * @return string
		 */
		public function getRawName() {      }
		/**
		 * Sets the identifier's raw name
		 *
		 * @param string $name The raw name to set
		 *
		 * @return $this
		 */
		public function setRawName( $name ) {       }
	}
	/**
	 * A node that represents a meta property.
	 * For example: new.target
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class MetaProperty extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'meta'     => false,
			'property' => false,
		);
		/**
		 * Subject
		 *
		 * @var string
		 */
		protected $meta;
		/**
		 * Property
		 *
		 * @var string
		 */
		protected $property;
		/**
		 * Returns the subject
		 *
		 * @return string
		 */
		public function getMeta() {         }
		/**
		 * Sets the subject
		 *
		 * @param string $meta Subject
		 *
		 * @return $this
		 */
		public function setMeta( $meta ) {      }
		/**
		 * Returns the property
		 *
		 * @return string
		 */
		public function getProperty() {         }
		/**
		 * Sets the property
		 *
		 * @param string $property Property
		 *
		 * @return $this
		 */
		public function setProperty( $property ) {      }
	}
	/**
	 * A node that represents a chain expression.
	 * For example: test?.test?.()
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ChainExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => true );
		/**
		 * The wrapped expression
		 *
		 * @var Expression
		 */
		protected $expression;
		/**
		 * Returns the wrapped expression
		 *
		 * @return Expression
		 */
		public function getExpression() {       }
		/**
		 * Sets the wrapped expression
		 *
		 * @param Expression $expression Wrapped expression
		 *
		 * @return $this
		 */
		public function setExpression( \Peast\Syntax\Node\Expression $expression ) {        }
	}
	/**
	 * A node that represents a call expression.
	 * For example: test()
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class CallExpression extends \Peast\Syntax\Node\ChainElement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'callee'    => true,
			'arguments' => true,
		);
		/**
		 * The callee expression
		 *
		 * @var Expression|Super
		 */
		protected $callee;
		/**
		 * The arguments array
		 *
		 * @var Expression[]|SpreadElement[]
		 */
		protected $arguments = array();
		/**
		 * Returns the callee expression
		 *
		 * @return Expression|Super
		 */
		public function getCallee() {       }
		/**
		 * Sets the callee expression
		 *
		 * @param Expression|Super $callee Callee expression
		 *
		 * @return $this
		 */
		public function setCallee( $callee ) {      }
		/**
		 * Returns the arguments array
		 *
		 * @return Expression[]|SpreadElement[]
		 */
		public function getArguments() {        }
		/**
		 * Sets the arguments array
		 *
		 * @param Expression[]|SpreadElement[] $arguments Arguments array
		 *
		 * @return $this
		 */
		public function setArguments( $arguments ) {        }
	}
	/**
	 * Interface that every statement node must implement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	interface Statement {

	}
	/**
	 * Interface that every declaration node must implement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	interface Declaration extends \Peast\Syntax\Node\Statement {

	}
	/**
	 * Abstract class for classes.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	abstract class Class_ extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'id'         => true,
			'superClass' => true,
			'body'       => true,
		);
		/**
		 * Class name
		 *
		 * @var Identifier
		 */
		protected $id;
		/**
		 * Extended class
		 *
		 * @var Expression
		 */
		protected $superClass;
		/**
		 * Class body
		 *
		 * @var ClassBody
		 */
		protected $body;
		/**
		 * Returns class name
		 *
		 * @return Identifier
		 */
		public function getId() {       }
		/**
		 * Sets class name
		 *
		 * @param Identifier $id Class name
		 *
		 * @return $this
		 */
		public function setId( $id ) {      }
		/**
		 * Returns extended class
		 *
		 * @return Expression
		 */
		public function getSuperClass() {       }
		/**
		 * Sets extended class
		 *
		 * @param Expression $superClass Extended class
		 *
		 * @return $this
		 */
		public function setSuperClass( $superClass ) {      }
		/**
		 * Returns class body
		 *
		 * @return ClassBody
		 */
		public function getBody() {         }
		/**
		 * Sets class body
		 *
		 * @param ClassBody $body Class body
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
	}
	/**
	 * A node that represents a class declaration.
	 * For example: class test {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ClassDeclaration extends \Peast\Syntax\Node\Class_ implements \Peast\Syntax\Node\Declaration {

		/**
		 * Sets the class identifier
		 *
		 * @param Identifier $id Class identifier
		 *
		 * @return $this
		 */
		public function setId( $id ) {      }
	}
	/**
	 * A node that represents a default import specifier.
	 * For example "test" in: import test from "test.js".
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ImportNamespaceSpecifier extends \Peast\Syntax\Node\ModuleSpecifier {

	}
	/**
	 * A node that represents an update expression.
	 * For example: a++
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class UpdateExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'argument' => true,
			'operator' => false,
			'prefix'   => false,
		);
		/**
		 * Expression's operator
		 *
		 * @var string
		 */
		protected $operator;
		/**
		 * Prefix flag that is true when the operator precedes the argument
		 *
		 * @var bool
		 */
		protected $prefix = false;
		/**
		 * Expression's argument
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the expression's operator
		 *
		 * @return string
		 */
		public function getOperator() {         }
		/**
		 * Sets the expression's operator
		 *
		 * @param string $operator Operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Returns the prefix flag that is true when the operator precedes the
		 * argument
		 *
		 * @return bool
		 */
		public function getPrefix() {       }
		/**
		 * Sets the prefix flag that is true when the operator precedes the
		 * argument
		 *
		 * @param bool $prefix Prefix flag
		 *
		 * @return $this
		 */
		public function setPrefix( $prefix ) {      }
		/**
		 * Returns the expression's argument
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the expression's argument
		 *
		 * @param Expression $argument Argument
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Expression $argument ) {        }
	}
	/**
	 * Abstract class for functions.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	abstract class Function_ extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'id'        => true,
			'params'    => true,
			'body'      => true,
			'generator' => false,
			'async'     => false,
		);
		/**
		 * Function name
		 *
		 * @var Identifier
		 */
		protected $id;
		/**
		 * Function parameters array
		 *
		 * @var Pattern[]
		 */
		protected $params = array();
		/**
		 * Function body
		 *
		 * @var BlockStatement
		 */
		protected $body;
		/**
		 * Generator flag that is true when the function is a generator
		 *
		 * @var bool
		 */
		protected $generator = false;
		/**
		 * Async flag that is true when it is an async function
		 *
		 * @var bool
		 */
		protected $async = false;
		/**
		 * Returns function name
		 *
		 * @return Identifier
		 */
		public function getId() {       }
		/**
		 * Sets function name
		 *
		 * @param Identifier $id Function name
		 *
		 * @return $this
		 */
		public function setId( $id ) {      }
		/**
		 * Returns function parameters array
		 *
		 * @return Pattern[]
		 */
		public function getParams() {       }
		/**
		 * Sets function parameters array
		 *
		 * @param Pattern[] $params Function parameters array
		 *
		 * @return $this
		 */
		public function setParams( $params ) {      }
		/**
		 * Returns function body
		 *
		 * @return BlockStatement
		 */
		public function getBody() {         }
		/**
		 * Sets function body
		 *
		 * @param BlockStatement $body Function body
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
		/**
		 * Returns the generator flag that is true when the function is a generator
		 *
		 * @return bool
		 */
		public function getGenerator() {        }
		/**
		 * Sets the generator flag that is true when the function is a generator
		 *
		 * @param bool $generator Generator flag
		 *
		 * @return $this
		 */
		public function setGenerator( $generator ) {        }
		/**
		 * Returns the async flag that is true when it is an async function
		 *
		 * @return bool
		 */
		public function getAsync() {        }
		/**
		 * Sets the async flag that is true when it is an async function
		 *
		 * @param bool $async Async flag
		 *
		 * @return $this
		 */
		public function setAsync( $async ) {        }
	}
	/**
	 * A node that represents a function expression
	 * For example: var test = function () {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class FunctionExpression extends \Peast\Syntax\Node\Function_ implements \Peast\Syntax\Node\Expression {

	}
	/**
	 * A node that represents an expression wrapped in round brackets.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ParenthesizedExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => true );
		/**
		 * The wrapped expression
		 *
		 * @var Expression
		 */
		protected $expression;
		/**
		 * Returns the wrapped expression
		 *
		 * @return Expression
		 */
		public function getExpression() {       }
		/**
		 * Sets the wrapped expression
		 *
		 * @param Expression $expression Wrapped expression
		 *
		 * @return $this
		 */
		public function setExpression( \Peast\Syntax\Node\Expression $expression ) {        }
	}
	/**
	 * A node that represents a specifier in an import declaration.
	 * For example "{a}" in: import {a} from "test"
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ImportSpecifier extends \Peast\Syntax\Node\ModuleSpecifier {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'imported' => true );
		/**
		 * Imported identifier
		 *
		 * @var Identifier|StringLiteral
		 */
		protected $imported;
		/**
		 * Returns the imported identifier
		 *
		 * @return Identifier|StringLiteral
		 */
		public function getImported() {         }
		/**
		 * Sets the imported identifier
		 *
		 * @param Identifier|StringLiteral $imported Imported identifier
		 *
		 * @return $this
		 */
		public function setImported( $imported ) {      }
	}
	/**
	 * A node that represents a member expression.
	 * For example: foo.bar
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class MemberExpression extends \Peast\Syntax\Node\ChainElement implements \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'object'   => true,
			'property' => true,
			'computed' => false,
		);
		/**
		 * Expression's object
		 *
		 * @var Expression|Super
		 */
		protected $object;
		/**
		 * Expression's property
		 *
		 * @var Expression|PrivateIdentifier
		 */
		protected $property;
		/**
		 * Computed flag that is true if the property is declared using square
		 * brackets syntax
		 *
		 * @var bool
		 */
		protected $computed = false;
		/**
		 * Returns the expression's object
		 *
		 * @return Expression|Super
		 */
		public function getObject() {       }
		/**
		 * Sets the expression's object
		 *
		 * @param Expression|Super $object Object
		 *
		 * @return $this
		 */
		public function setObject( $object ) {      }
		/**
		 * Returns the expression's property
		 *
		 * @return Expression|PrivateIdentifier
		 */
		public function getProperty() {         }
		/**
		 * Sets the expression's property
		 *
		 * @param Expression|PrivateIdentifier $property Property
		 *
		 * @return $this
		 */
		public function setProperty( $property ) {      }
		/**
		 * Returns the computed flag that is true if the property is declared
		 * using square brackets syntax
		 *
		 * @return bool
		 */
		public function getComputed() {         }
		/**
		 * Sets the computed flag that is true if the property is declared
		 * using square brackets syntax
		 *
		 * @param bool $computed Computed flag
		 *
		 * @return $this
		 */
		public function setComputed( $computed ) {      }
	}
	/**
	 * Common interface for function import and export nodes.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	interface ModuleDeclaration {

	}
	/**
	 * A node that represents the export default declaration.
	 * For example: export default a
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ExportDefaultDeclaration extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\ModuleDeclaration {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'declaration' => true );
		/**
		 * The exported declaration
		 *
		 * @var Declaration|Expression
		 */
		protected $declaration;
		/**
		 * Returns the exported declaration
		 *
		 * @return Declaration|Expression
		 */
		public function getDeclaration() {      }
		/**
		 * Sets the exported declaration
		 *
		 * @param Declaration|Expression $declaration The exported declaration
		 *
		 * @return $this
		 */
		public function setDeclaration( $declaration ) {        }
	}
	/**
	 * A node that represents a method declaration in classes and object literals.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class MethodDefinition extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'key'      => true,
			'value'    => true,
			'kind'     => false,
			'computed' => false,
			'static'   => false,
		);
		// Kind constants
		/**
		 * Constructor method
		 */
		const KIND_CONSTRUCTOR = 'constructor';
		/**
		 * Standard method
		 */
		const KIND_METHOD = 'method';
		/**
		 * Getter method
		 */
		const KIND_GET = 'get';
		/**
		 * Setter method
		 */
		const KIND_SET = 'set';
		/**
		 * Method's key
		 *
		 * @var Expression|PrivateIdentifier
		 */
		protected $key;
		/**
		 * Method's value
		 *
		 * @var FunctionExpression
		 */
		protected $value;
		/**
		 * Method's kind that is one of the kind constants
		 *
		 * @var string
		 */
		protected $kind = self::KIND_METHOD;
		/**
		 * Computed flag that is true if method's key is declared using square
		 * brackets syntax
		 *
		 * @var bool
		 */
		protected $computed = false;
		/**
		 * Static flag that is true if the method is static
		 *
		 * @var bool
		 */
		protected $static = false;
		/**
		 * Returns the method's key
		 *
		 * @return Expression|PrivateIdentifier
		 */
		public function getKey() {      }
		/**
		 * Sets the method's key
		 *
		 * @param Expression|PrivateIdentifier $key Method's key
		 *
		 * @return $this
		 */
		public function setKey( $key ) {        }
		/**
		 * Returns the method's value
		 *
		 * @return FunctionExpression
		 */
		public function getValue() {        }
		/**
		 * Sets the method's value
		 *
		 * @param FunctionExpression $value Method's value
		 *
		 * @return $this
		 */
		public function setValue( \Peast\Syntax\Node\FunctionExpression $value ) {      }
		/**
		 * Returns the method's kind that is one of the kind constants
		 *
		 * @return string
		 */
		public function getKind() {         }
		/**
		 * Sets the method's kind that is one of the kind constants
		 *
		 * @param string $kind Method's kind
		 *
		 * @return $this
		 */
		public function setKind( $kind ) {      }
		/**
		 * Returns the computed flag that is true if method's key is declared using
		 * square brackets syntax
		 *
		 * @return bool
		 */
		public function getComputed() {         }
		/**
		 * Sets the computed flag that is true if method's key is declared using
		 * square brackets syntax
		 *
		 * @param bool $computed Computed flag
		 *
		 * @return $this
		 */
		public function setComputed( $computed ) {      }
		/**
		 * Returns the static flag that is true if the method is static
		 *
		 * @return bool
		 */
		public function getStatic() {       }
		/**
		 * Sets the static flag that is true if the method is static
		 *
		 * @param bool $static Static flag
		 *
		 * @return $this
		 */
		public function setStatic( $static ) {      }
	}
	/**
	 * A node that represents an arrow function.
	 * For example: var fn = (a, b) => console.log(a, b)
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ArrowFunctionExpression extends \Peast\Syntax\Node\Function_ implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => false );
		/**
		 * This flag is true when function body is wrapped in curly braces
		 *
		 * @var bool
		 */
		protected $expression = false;
		/**
		 * Sets the function body
		 *
		 * @param BlockStatement|Expression $body Function body
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
		/**
		 * Returns the expression flag
		 *
		 * @return bool
		 */
		public function getExpression() {       }
		/**
		 * Sets the expression flag
		 *
		 * @param bool $expression Expression flag
		 *
		 * @return $this
		 */
		public function setExpression( $expression ) {      }
	}
	/**
	 * A node that represents a class expression
	 * For example: test = class {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ClassExpression extends \Peast\Syntax\Node\Class_ implements \Peast\Syntax\Node\Expression {

	}
	/**
	 * A node that represents a unary expression.
	 * For example: !a
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class UnaryExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'argument' => true,
			'operator' => false,
			'prefix'   => false,
		);
		/**
		 * Expression's operator
		 *
		 * @var string
		 */
		protected $operator;
		/**
		 * Prefix flag that is always true since the operator precedes the argument
		 *
		 * @var bool
		 */
		protected $prefix = true;
		/**
		 * Expression's argument
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the expression's operator
		 *
		 * @return string
		 */
		public function getOperator() {         }
		/**
		 * Sets the expression's operator
		 *
		 * @param string $operator Operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Returns the prefix flag that is always true since the operator precedes
		 * the argument
		 *
		 * @return bool
		 */
		public function getPrefix() {       }
		/**
		 * This method does nothing since the prefix flag is always true for
		 * unary expressions
		 *
		 * @param bool $prefix Prefix flag
		 *
		 * @return $this
		 *
		 * @codeCoverageIgnore
		 */
		public function setPrefix( $prefix ) {      }
		/**
		 * Returns the expression's argument
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the expression's argument
		 *
		 * @param Expression $argument Argument
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Expression $argument ) {        }
	}
	/**
	 * A node that represents an export named declaration.
	 * For example: export {foo} from "bar"
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ExportNamedDeclaration extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\ModuleDeclaration {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'declaration' => true,
			'specifiers'  => true,
			'source'      => true,
		);
		/**
		 * Exported declaration
		 *
		 * @var Declaration
		 */
		protected $declaration;
		/**
		 * Exported specifiers
		 *
		 * @var ExportSpecifier[]
		 */
		protected $specifiers = array();
		/**
		 * The export source
		 *
		 * @var Literal
		 */
		protected $source;
		/**
		 * Returns the exported declaration
		 *
		 * @return Declaration
		 */
		public function getDeclaration() {      }
		/**
		 * Sets the exported declaration
		 *
		 * @param Declaration $declaration Exported declaration
		 *
		 * @return $this
		 */
		public function setDeclaration( $declaration ) {        }
		/**
		 * Return the exported specifiers
		 *
		 * @return ExportSpecifier[]
		 */
		public function getSpecifiers() {       }
		/**
		 * Sets the exported specifiers
		 *
		 * @param ExportSpecifier[] $specifiers Exported specifiers
		 *
		 * @return $this
		 */
		public function setSpecifiers( $specifiers ) {      }
		/**
		 * Returns the export source
		 *
		 * @return Literal
		 */
		public function getSource() {       }
		/**
		 * Sets the export source
		 *
		 * @param Literal $source Export source
		 *
		 * @return $this
		 */
		public function setSource( $source ) {      }
	}
	/**
	 * A node that represents a block of code wrapped in curly braces.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class BlockStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'body' => true );
		/**
		 * Block's body
		 *
		 * @var Statement[]
		 */
		protected $body = array();
		/**
		 * Returns block's body
		 *
		 * @return Statement[]
		 */
		public function getBody() {         }
		/**
		 * Sets block's body
		 *
		 * @param Statement[] $body Array of Statements that are the body of the
		 *                          block
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
	}
	/**
	 * A node that represents a for statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ForStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'init'   => true,
			'test'   => true,
			'update' => true,
			'body'   => true,
		);
		/**
		 * Initializer
		 *
		 * @var VariableDeclaration|Expression
		 */
		protected $init;
		/**
		 * Test expression
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * Update expression
		 *
		 * @var Expression
		 */
		protected $update;
		/**
		 * Loop body
		 *
		 * @var Statement
		 */
		protected $body;
		/**
		 * Returns the initializer
		 *
		 * @return VariableDeclaration|Expression
		 */
		public function getInit() {         }
		/**
		 * Sets the initializer
		 *
		 * @param VariableDeclaration|Expression $init Initializer
		 *
		 * @return $this
		 */
		public function setInit( $init ) {      }
		/**
		 * Returns the test expression
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the test expression
		 *
		 * @param Expression $test Test expression
		 *
		 * @return $this
		 */
		public function setTest( $test ) {      }
		/**
		 * Returns the update expression
		 *
		 * @return Expression
		 */
		public function getUpdate() {       }
		/**
		 * Sets the update expression
		 *
		 * @param Expression $update Update expression
		 *
		 * @return $this
		 */
		public function setUpdate( $update ) {      }
		/**
		 * Returns the loop body
		 *
		 * @return Statement
		 */
		public function getBody() {         }
		/**
		 * Sets the loop body
		 *
		 * @param Statement $body Loop body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
	}
	/**
	 * A node that represents a sequence of expressions.
	 * For example: a, b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class SequenceExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expressions' => true );
		/**
		 * Expressions array
		 *
		 * @var Expression[]
		 */
		protected $expressions = array();
		/**
		 * Returns the expressions array
		 *
		 * @return Expression[]
		 */
		public function getExpressions() {      }
		/**
		 * Sets the expressions array
		 *
		 * @param Expression[] $expressions Expressions array
		 *
		 * @return $this
		 */
		public function setExpressions( $expressions ) {        }
	}
	/**
	 * A node that represents a property in an object literal.
	 * For example "b" in: a = {b: 1}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Property extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'key'       => true,
			'value'     => true,
			'kind'      => false,
			'method'    => false,
			'shorthand' => false,
			'computed'  => false,
		);
		// Kind constants
		/**
		 * The default kind for properties
		 */
		const KIND_INIT = 'init';
		/**
		 * Getter property
		 */
		const KIND_GET = 'get';
		/**
		 * Setter property
		 */
		const KIND_SET = 'set';
		/**
		 * Property key
		 *
		 * @var Expression
		 */
		protected $key;
		/**
		 * Property value
		 *
		 * @var Expression
		 */
		protected $value;
		/**
		 * Property kind that is one of the kind constants
		 *
		 * @var string
		 */
		protected $kind = self::KIND_INIT;
		/**
		 * Property method flag that is true when the property is a method
		 *
		 * @var bool
		 */
		protected $method = false;
		/**
		 * Property shorthand flag that is true when the property is declared
		 * using an identifier and without a value
		 *
		 * @var bool
		 */
		protected $shorthand = false;
		/**
		 * Property computed flag that is true when the property is declared using
		 * the square brackets syntax
		 *
		 * @var bool
		 */
		protected $computed = false;
		/**
		 * Returns the property key
		 *
		 * @return Expression
		 */
		public function getKey() {      }
		/**
		 * Sets the property key
		 *
		 * @param Expression $key Property key
		 *
		 * @return $this
		 */
		public function setKey( \Peast\Syntax\Node\Expression $key ) {      }
		/**
		 * Returns the property value
		 *
		 * @return Expression
		 */
		public function getValue() {        }
		/**
		 * Sets the property value
		 *
		 * @param Expression $value Property value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Returns the property kind that is one of the kind constants
		 *
		 * @return string
		 */
		public function getKind() {         }
		/**
		 * Sets the property kind that is one of the kind constants
		 *
		 * @param string $kind Property kind
		 *
		 * @return $this
		 */
		public function setKind( $kind ) {      }
		/**
		 * Returns the property method flag that is true when the property is a
		 * method
		 *
		 * @return bool
		 */
		public function getMethod() {       }
		/**
		 * Sets the property method flag that is true when the property is a method
		 *
		 * @param bool $method Method flag
		 *
		 * @return $this
		 */
		public function setMethod( $method ) {      }
		/**
		 * Returns the property shorthand flag that is true when the property
		 * is declared using an identifier and without a value
		 *
		 * @return bool
		 */
		public function getShorthand() {        }
		/**
		 * Sets the property shorthand flag that is true when the property
		 * is declared using an identifier and without a value
		 *
		 * @param bool $shorthand Property shorthand flag
		 *
		 * @return $this
		 */
		public function setShorthand( $shorthand ) {        }
		/**
		 * Returns the property computed flag that is true when the property is
		 * declared using the square brackets syntax
		 *
		 * @return bool
		 */
		public function getComputed() {         }
		/**
		 * Sets the property computed flag that is true when the property is
		 * declared using the square brackets syntax
		 *
		 * @param bool $computed Property computed flag
		 *
		 * @return $this
		 */
		public function setComputed( $computed ) {      }
	}
	/**
	 * A node that represents a property in an object binding pattern.
	 * For example "a" in: var {a} = b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class AssignmentProperty extends \Peast\Syntax\Node\Property {

		/**
		 * Returns node's type
		 *
		 * @return string
		 */
		public function getType() {         }
		/**
		 * Sets the property value
		 *
		 * @param Pattern $value Property value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Sets the property kind that is one of the kind constants
		 *
		 * @param string $kind Property kind
		 *
		 * @return $this
		 *
		 * @codeCoverageIgnore
		 */
		public function setKind( $kind ) {      }
		/**
		 * Sets the property method flag that is true when the property is a method
		 *
		 * @param bool $method Method flag
		 *
		 * @return $this
		 *
		 * @codeCoverageIgnore
		 */
		public function setMethod( $method ) {      }
	}
	/**
	 * A node that represents the "super" keyword.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Super extends \Peast\Syntax\Node\Node {

	}
	/**
	 * A node that represents the spread element in array literals or function
	 * calls.
	 * For example "...params" in: test(...params)
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class SpreadElement extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'argument' => true );
		/**
		 * The node's argument
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the node's argument
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the node's argument
		 *
		 * @param Expression $argument Node's argument
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Expression $argument ) {        }
	}
	/**
	 * A node that represents the "continue" statement inside loops.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ContinueStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'label' => true );
		/**
		 * The optional label of the continue statement
		 *
		 * @var Identifier
		 */
		protected $label;
		/**
		 * Returns the node's label
		 *
		 * @return Identifier
		 */
		public function getLabel() {        }
		/**
		 * Sets the node's label
		 *
		 * @param Identifier $label Node's label
		 *
		 * @return $this
		 */
		public function setLabel( $label ) {        }
	}
	/**
	 * A node that represents a binary expression.
	 * For example: a + b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class BinaryExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'     => true,
			'operator' => false,
			'right'    => true,
		);
		/**
		 * Operator
		 *
		 * @var string
		 */
		protected $operator;
		/**
		 * Left expression
		 *
		 * @var Expression|PrivateIdentifier
		 */
		protected $left;
		/**
		 * Right expression
		 *
		 * @var Expression
		 */
		protected $right;
		/**
		 * Returns the operator
		 *
		 * @return string
		 */
		public function getOperator() {         }
		/**
		 * Sets the operator
		 *
		 * @param string $operator Operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Returns the left expression
		 *
		 * @return Expression|PrivateIdentifier
		 */
		public function getLeft() {         }
		/**
		 * Sets the left expression
		 *
		 * @param Expression|PrivateIdentifier $left Left expression
		 *
		 * @return $this
		 */
		public function setLeft( $left ) {      }
		/**
		 * Returns the right expression
		 *
		 * @return Expression
		 */
		public function getRight() {        }
		/**
		 * Sets the right expression
		 *
		 * @param Expression $right Right expression
		 *
		 * @return $this
		 */
		public function setRight( \Peast\Syntax\Node\Expression $right ) {      }
	}
	/**
	 * A node that represents an expression statement and wraps another expression.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ExpressionStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => true );
		/**
		 * Wrapped expression
		 *
		 * @var Expression
		 */
		protected $expression;
		/**
		 * Returns the wrapped expression
		 *
		 * @return Expression
		 */
		public function getExpression() {       }
		/**
		 * Sets the wrapped expression
		 *
		 * @param Expression $expression Wrapped expression
		 *
		 * @return $this
		 */
		public function setExpression( \Peast\Syntax\Node\Expression $expression ) {        }
	}
	/**
	 * A node that represents an assignment expression.
	 * For example: a = b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class AssignmentExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'     => true,
			'operator' => false,
			'right'    => true,
		);
		/**
		 * The assignment operator
		 *
		 * @var string
		 */
		protected $operator;
		/**
		 * The left node of the assignment
		 *
		 * @var Pattern|Expression
		 */
		protected $left;
		/**
		 * The right node of the assignment
		 *
		 * @var Expression
		 */
		protected $right;
		/**
		 * Returns the assignment operator
		 *
		 * @return string
		 */
		public function getOperator() {         }
		/**
		 * Sets the assignment operator
		 *
		 * @param string $operator Assignment operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Returns the left node of the assignment
		 *
		 * @return Pattern|Expression
		 */
		public function getLeft() {         }
		/**
		 * Sets the left node of the assignment
		 *
		 * @param Pattern|Expression $left The node to set
		 *
		 * @return $this
		 */
		public function setLeft( $left ) {      }
		/**
		 * Returns the right node of the assignment
		 *
		 * @return Expression
		 */
		public function getRight() {        }
		/**
		 * Sets the right node of the assignment
		 *
		 * @param Expression $right The node to set
		 *
		 * @return $this
		 */
		public function setRight( \Peast\Syntax\Node\Expression $right ) {      }
	}
	/**
	 * A node that represents a debugger statement.
	 * For example: debugger;
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class DebuggerStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

	}
	/**
	 * A node that represents a with statement.
	 * For example: with (test) {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class WithStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'object' => true,
			'body'   => true,
		);
		/**
		 * The statement subject
		 *
		 * @var Expression
		 */
		protected $object;
		/**
		 * The statement body
		 *
		 * @var Expression
		 */
		protected $body;
		/**
		 * Returns the statement subject
		 *
		 * @return Expression
		 */
		public function getObject() {       }
		/**
		 * Sets the statement subject
		 *
		 * @param Expression $object Statement subject
		 *
		 * @return $this
		 */
		public function setObject( \Peast\Syntax\Node\Expression $object ) {        }
		/**
		 * Returns the statement body
		 *
		 * @return Expression
		 */
		public function getBody() {         }
		/**
		 * Sets the statement body
		 *
		 * @param Statement $body Statement body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
	}
	/**
	 * A node that represents a "new" expression.
	 * For example: new test()
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class NewExpression extends \Peast\Syntax\Node\CallExpression {

	}
	/**
	 * A node that represents the "break" statement inside loops.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class BreakStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'label' => true );
		/**
		 * The optional label of the break statement
		 *
		 * @var Identifier
		 */
		protected $label;
		/**
		 * Returns the node's label
		 *
		 * @return Identifier
		 */
		public function getLabel() {        }
		/**
		 * Sets the node's label
		 *
		 * @param Identifier $label Node's label
		 *
		 * @return $this
		 */
		public function setLabel( $label ) {        }
	}
	/**
	 * A node that represents the return statement inside functions.
	 * For example: return a + 1
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ReturnStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'argument' => true );
		/**
		 * Optional expression after the return keyword
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the expression after the return keyword
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the expression after the return keyword
		 *
		 * @param Expression $argument The expression to return
		 *
		 * @return $this
		 */
		public function setArgument( $argument ) {      }
	}
	/**
	 * A node that represents a try-catch statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class TryStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'block'     => true,
			'handler'   => true,
			'finalizer' => true,
		);
		/**
		 * Wrapped block
		 *
		 * @var BlockStatement
		 */
		protected $block;
		/**
		 * Catch clause
		 *
		 * @var CatchClause
		 */
		protected $handler;
		/**
		 * "finally" block
		 *
		 * @var BlockStatement
		 */
		protected $finalizer;
		/**
		 * Returns the wrapped block
		 *
		 * @return BlockStatement
		 */
		public function getBlock() {        }
		/**
		 * Sets the wrapped block
		 *
		 * @param BlockStatement $block Wrapped block
		 *
		 * @return $this
		 */
		public function setBlock( \Peast\Syntax\Node\BlockStatement $block ) {      }
		/**
		 * Returns the catch clause
		 *
		 * @return CatchClause
		 */
		public function getHandler() {      }
		/**
		 * Sets the catch clause
		 *
		 * @param CatchClause $handler Catch clause
		 *
		 * @return $this
		 */
		public function setHandler( $handler ) {        }
		/**
		 * Returns the "finally" block
		 *
		 * @return BlockStatement
		 */
		public function getFinalizer() {        }
		/**
		 * Sets the "finally" block
		 *
		 * @param BlockStatement $finalizer The "finally" block
		 *
		 * @return $this
		 */
		public function setFinalizer( $finalizer ) {        }
	}
	/**
	 * A node that represents an import expression (dynamic import).
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ImportExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'source' => true );
		/**
		 * The catch clause parameter
		 *
		 * @var Expression
		 */
		protected $source;
		/**
		 * Returns the import source
		 *
		 * @return Expression
		 */
		public function getSource() {       }
		/**
		 * Sets the import source
		 *
		 * @param Expression $source Import source
		 *
		 * @return $this
		 */
		public function setSource( \Peast\Syntax\Node\Expression $source ) {        }
	}
	/**
	 * A node that represents a namespace import specifier.
	 * For example "* as test" in: import * as test from "test.js".
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ImportDefaultSpecifier extends \Peast\Syntax\Node\ModuleSpecifier {

	}
	/**
	 * A node that represents a for-in statement.
	 * For example: for (var a in b) {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ForInStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'  => true,
			'right' => true,
			'body'  => true,
		);
		/**
		 * Iteration variable
		 *
		 * @var VariableDeclaration|Expression|Pattern
		 */
		protected $left;
		/**
		 * Iterated object
		 *
		 * @var Expression
		 */
		protected $right;
		/**
		 * Loop body
		 *
		 * @var Statement
		 */
		protected $body;
		/**
		 * Returns the iteration variable
		 *
		 * @return VariableDeclaration|Expression|Pattern
		 */
		public function getLeft() {         }
		/**
		 * Sets the iteration variable
		 *
		 * @param VariableDeclaration|Expression|Pattern $left Iteration variable
		 *
		 * @return $this
		 */
		public function setLeft( $left ) {      }
		/**
		 * Returns the iterated object
		 *
		 * @return Expression
		 */
		public function getRight() {        }
		/**
		 * Sets the iterated object
		 *
		 * @param Expression $right Iterated object
		 *
		 * @return $this
		 */
		public function setRight( \Peast\Syntax\Node\Expression $right ) {      }
		/**
		 * Returns the loop body
		 *
		 * @return Statement
		 */
		public function getBody() {         }
		/**
		 * Sets the loop body
		 *
		 * @param Statement $body Loop body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
	}
	/**
	 * A node that represents a class static block
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class StaticBlock extends \Peast\Syntax\Node\BlockStatement {

	}
	/**
	 * A node that represents the "this" keyword.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ThisExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

	}
	/**
	 * A node that represents a function declaration
	 * For example: function test () {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class FunctionDeclaration extends \Peast\Syntax\Node\Function_ implements \Peast\Syntax\Node\Declaration {

		/**
		 * Sets the function identifier
		 *
		 * @param Identifier $id Function identifier
		 *
		 * @return $this
		 */
		public function setId( $id ) {      }
	}
	/**
	 * A node that represents a case in a switch statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class SwitchCase extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'test'       => true,
			'consequent' => true,
		);
		/**
		 * Test expression that is null in the "default" case
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * Consequent statements array
		 *
		 * @var Statement[]
		 */
		protected $consequent = array();
		/**
		 * Returns the test expression that is null in the "default" case
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the test expression that is null in the "default" case
		 *
		 * @param Expression $test Test expression
		 *
		 * @return $this
		 */
		public function setTest( $test ) {      }
		/**
		 * Returns the consequent statements array
		 *
		 * @return Statement[]
		 */
		public function getConsequent() {       }
		/**
		 * Sets the consequent statements array
		 *
		 * @param Expression[] $consequent Consequent statements array
		 *
		 * @return $this
		 */
		public function setConsequent( $consequent ) {      }
	}
	/**
	 * A node that represents a labeled statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class LabeledStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'label' => true,
			'body'  => true,
		);
		/**
		 * Label
		 *
		 * @var Identifier
		 */
		protected $label;
		/**
		 * Body
		 *
		 * @var Statement
		 */
		protected $body;
		/**
		 * Returns the label
		 *
		 * @return Identifier
		 */
		public function getLabel() {        }
		/**
		 * Sets the label
		 *
		 * @param Identifier $label Label
		 *
		 * @return $this
		 */
		public function setLabel( \Peast\Syntax\Node\Identifier $label ) {      }
		/**
		 * Returns the body
		 *
		 * @return Statement
		 */
		public function getBody() {         }
		/**
		 * Sets the body
		 *
		 * @param Statement $body Body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
	}
	/**
	 * A node that represents a BigInt literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class BigIntLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'bigint' => false );
		/**
		 * Node's value
		 *
		 * @var mixed
		 */
		protected $bigint;
		/**
		 * Sets node's value
		 *
		 * @param float $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Returns node's value
		 *
		 * @return string
		 */
		public function getBigint() {       }
		/**
		 * Sets node's value
		 *
		 * @param string $bigint Value
		 *
		 * @return $this
		 */
		public function setBigint( $bigint ) {      }
	}
	/**
	 * A node that represents a while loop.
	 * For example: while (test) {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class WhileStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'test' => true,
			'body' => true,
		);
		/**
		 * The loop condition
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * The loop body
		 *
		 * @var Statement
		 */
		protected $body;
		/**
		 * Returns the loop condition
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the loop condition
		 *
		 * @param Expression $test Loop
		 *
		 * @return $this
		 */
		public function setTest( \Peast\Syntax\Node\Expression $test ) {        }
		/**
		 * Returns the loop body
		 *
		 * @return Statement
		 */
		public function getBody() {         }
		/**
		 * Sets the loop body
		 *
		 * @param Statement $body Loop body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
	}
	/**
	 * A node that represents an object literal.
	 * For example: {a: 1, b: 2, c: 3}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ObjectExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'properties' => true );
		/**
		 * Object properties
		 *
		 * @var Property[]
		 */
		protected $properties = array();
		/**
		 * Returns object properties
		 *
		 * @return Property[]
		 */
		public function getProperties() {       }
		/**
		 * Sets object properties
		 *
		 * @param Property[] $properties Object properties
		 *
		 * @return $this
		 */
		public function setProperties( $properties ) {      }
	}
	/**
	 * A node that represents a "var", "const" or "let" declaration.
	 * For example: var a = 1
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class VariableDeclaration extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Declaration {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'declarations' => true,
			'kind'         => false,
		);
		// Kind constants
		/**
		 * "var" kind
		 */
		const KIND_VAR = 'var';
		/**
		 * "let" kind
		 */
		const KIND_LET = 'let';
		/**
		 * "const" kind
		 */
		const KIND_CONST = 'const';
		/**
		 * Declarations array
		 *
		 * @var VariableDeclarator[]
		 */
		protected $declarations = array();
		/**
		 * Declaration kind that is one of the kind constants
		 *
		 * @var string
		 */
		protected $kind = self::KIND_VAR;
		/**
		 * Returns the declarations array
		 *
		 * @return VariableDeclarator[]
		 */
		public function getDeclarations() {         }
		/**
		 * Sets the declarations array
		 *
		 * @param VariableDeclarator[] $declarations Declarations array
		 *
		 * @return $this
		 */
		public function setDeclarations( $declarations ) {      }
		/**
		 * Returns the declaration kind that is one of the kind constants
		 *
		 * @return string
		 */
		public function getKind() {         }
		/**
		 * Sets the declaration kind that is one of the kind constants
		 *
		 * @param string $kind Declaration kind
		 *
		 * @return $this
		 */
		public function setKind( $kind ) {      }
	}
	/**
	 * A node that represents a template element.
	 * For example `foo` and `bar` in: `foo${exp}bar`
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class TemplateElement extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'value'    => false,
			'tail'     => false,
			'rawValue' => false,
		);
		/**
		 * Node's value
		 *
		 * @var string
		 */
		protected $value;
		/**
		 * Tail flag that is true when the element is the tail element in a template
		 *
		 * @var bool
		 */
		protected $tail = false;
		/**
		 * Node's raw value
		 *
		 * @var string
		 */
		protected $rawValue;
		/**
		 * Return node's value
		 *
		 * @return string
		 */
		public function getValue() {        }
		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Returns the tail flag that is true when the element is the tail element
		 * in a template
		 *
		 * @return bool
		 */
		public function getTail() {         }
		/**
		 * Sets the tail flag that is true when the element is the tail element
		 * in a template
		 *
		 * @param bool $tail Tail flag
		 *
		 * @return $this
		 */
		public function setTail( $tail ) {      }
		/**
		 * Returns node's raw value
		 *
		 * @return string
		 */
		public function getRawValue() {         }
		/**
		 * Sets node's raw value that must be wrapped in templates quotes.
		 *
		 * @param string $rawValue Raw value
		 *
		 * @return $this
		 */
		public function setRawValue( $rawValue ) {      }
	}
	/**
	 * A node that represents a specifier in an export declaration.
	 * For example "{a}" in: export {a}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ExportSpecifier extends \Peast\Syntax\Node\ModuleSpecifier {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'exported' => true );
		/**
		 * Exported identifier
		 *
		 * @var Identifier|StringLiteral
		 */
		protected $exported;
		/**
		 * Returns the exported identifier
		 *
		 * @return Identifier|StringLiteral
		 */
		public function getExported() {         }
		/**
		 * Sets the exported identifier
		 *
		 * @param Identifier|StringLiteral $exported Exported identifier
		 *
		 * @return $this
		 */
		public function setExported( $exported ) {      }
	}
	/**
	 * A node that represents a template literal.
	 * For example: `this is a ${test()} template`
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class TemplateLiteral extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'parts'       => true,
			'quasis'      => false,
			'expressions' => false,
		);
		/**
		 * Array of quasis that are the literal parts of the template
		 *
		 * @var TemplateElement[]
		 */
		protected $quasis = array();
		/**
		 * Array of expressions inside the template
		 *
		 * @var Expression[]
		 */
		protected $expressions = array();
		/**
		 * Returns the array of quasis that are the literal parts of the template
		 *
		 * @return TemplateElement[]
		 */
		public function getQuasis() {       }
		/**
		 * Sets the array of quasis that are the literal parts of the template
		 *
		 * @param TemplateElement[] $quasis Quasis
		 *
		 * @return $this
		 */
		public function setQuasis( $quasis ) {      }
		/**
		 * Returns the array of expressions inside the template
		 *
		 * @return Expression[]
		 */
		public function getExpressions() {      }
		/**
		 * Sets the array of expressions inside the template
		 *
		 * @param Expression[] $expressions Expressions
		 *
		 * @return $this
		 */
		public function setExpressions( $expressions ) {        }
		/**
		 * Returns an array of the template parts (quasis and expressions)
		 *
		 * @return array
		 */
		public function getParts() {        }
		/**
		 * Sets the array of the template parts (quasis and expressions)
		 *
		 * @param array Template parts
		 *
		 * @return $this
		 */
		public function setParts( $parts ) {        }
		/**
		 * Returns a serializable version of the node
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
	}
	/**
	 * A node that represents an assignment in a binding context.
	 * For example "a = b" in: var {a = b} = c
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class AssignmentPattern extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'  => true,
			'right' => true,
		);
		/**
		 * The left node of the assignment
		 *
		 * @var Pattern
		 */
		protected $left;
		/**
		 * The right node of the assignment
		 *
		 * @var Expression
		 */
		protected $right;
		/**
		 * Returns the left node of the assignment
		 *
		 * @return Pattern
		 */
		public function getLeft() {         }
		/**
		 * Sets the left node of the assignment
		 *
		 * @param Pattern $left Left node
		 *
		 * @return $this
		 */
		public function setLeft( \Peast\Syntax\Node\Pattern $left ) {       }
		/**
		 * Returns the right node of the assignment
		 *
		 * @return Expression
		 */
		public function getRight() {        }
		/**
		 * Sets the right node of the assignment
		 *
		 * @param Expression $right Right node
		 *
		 * @return $this
		 */
		public function setRight( \Peast\Syntax\Node\Expression $right ) {      }
	}
	/**
	 * A node that represents an array literal.
	 * For example: [a, b, c]
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ArrayExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'elements' => true );
		/**
		 * Array elements
		 *
		 * @var Expression[]|SpreadElement[]
		 */
		protected $elements = array();
		/**
		 * Returns array elements
		 *
		 * @return Expression[]|SpreadElement[]
		 */
		public function getElements() {         }
		/**
		 * Sets array elements
		 *
		 * @param Expression[]|SpreadElement[] $elements Array elements to set
		 *
		 * @return $this
		 */
		public function setElements( $elements ) {      }
	}
	/**
	 * A node that represents a private identifier.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PrivateIdentifier extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'name' => false );
		/**
		 * The identifier's name
		 *
		 * @var string
		 */
		protected $name;
		/**
		 * Returns the identifier's name
		 *
		 * @return string
		 */
		public function getName() {         }
		/**
		 * Sets the identifier's name
		 *
		 * @param string $name The name to set
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
	}
	/**
	 * A node that represents an if statement.
	 * For example: if (test) {} else {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class IfStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'test'       => true,
			'consequent' => true,
			'alternate'  => true,
		);
		/**
		 * The test expression
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * The statement that is activated if the test expression is true
		 *
		 * @var Statement|FunctionDeclaration
		 */
		protected $consequent;
		/**
		 * The "else" statement
		 *
		 * @var Statement
		 */
		protected $alternate;
		/**
		 * Returns the test expression
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the test expression
		 *
		 * @param Expression $test Test expression
		 *
		 * @return $this
		 */
		public function setTest( \Peast\Syntax\Node\Expression $test ) {        }
		/**
		 * Returns the statement that is activated if the test expression is true
		 *
		 * @return Statement|FunctionDeclaration
		 */
		public function getConsequent() {       }
		/**
		 * Sets the statement that is activated if the test expression is true
		 *
		 * @param Statement|FunctionDeclaration $consequent The consequent expression
		 *
		 * @return $this
		 */
		public function setConsequent( $consequent ) {      }
		/**
		 * Returns the "else" statement
		 *
		 * @return Statement
		 */
		public function getAlternate() {        }
		/**
		 * Sets the "else" statement
		 *
		 * @param Statement|FunctionDeclaration $alternate The "else" statement
		 *
		 * @return $this
		 */
		public function setAlternate( $alternate ) {        }
	}
	/**
	 * A node that represents a logical expression.
	 * For example: a && b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class LogicalExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'     => true,
			'operator' => false,
			'right'    => true,
		);
		/**
		 * Operator
		 *
		 * @var string
		 */
		protected $operator;
		/**
		 * Left expression
		 *
		 * @var Expression
		 */
		protected $left;
		/**
		 * Right expression
		 *
		 * @var Expression
		 */
		protected $right;
		/**
		 * Returns the operator
		 *
		 * @return string
		 */
		public function getOperator() {         }
		/**
		 * Sets the operator
		 *
		 * @param string $operator Operator
		 *
		 * @return $this
		 */
		public function setOperator( $operator ) {      }
		/**
		 * Returns the left expression
		 *
		 * @return Expression
		 */
		public function getLeft() {         }
		/**
		 * Sets the left expression
		 *
		 * @param Expression $left Left expression
		 *
		 * @return $this
		 */
		public function setLeft( \Peast\Syntax\Node\Expression $left ) {        }
		/**
		 * Returns the right expression
		 *
		 * @return Expression
		 */
		public function getRight() {        }
		/**
		 * Sets the right expression
		 *
		 * @param Expression $right Right expression
		 *
		 * @return $this
		 */
		public function setRight( \Peast\Syntax\Node\Expression $right ) {      }
	}
	/**
	 * A node that represents a comment.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Comment extends \Peast\Syntax\Node\Node {

		// Comment kind constants
		/**
		 * Inline comment
		 */
		const KIND_INLINE = 'inline';
		/**
		 * Multiline comment
		 */
		const KIND_MULTILINE = 'multiline';
		/**
		 * Html open comment
		 */
		const KIND_HTML_OPEN = 'html-open';
		/**
		 * Html close comment
		 */
		const KIND_HTML_CLOSE = 'html-close';
		/**
		 * Hashbang comment
		 */
		const KIND_HASHBANG = 'hashbang';
		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'kind' => false,
			'text' => false,
		);
		/**
		 * The comment kind
		 *
		 * @var string
		 */
		protected $kind;
		/**
		 * The comment text
		 *
		 * @var string
		 */
		protected $text;
		/**
		 * Returns the comment kind
		 *
		 * @return string
		 */
		public function getKind() {         }
		/**
		 * Sets the comment kind
		 *
		 * @param string $kind Comment kind
		 *
		 * @return $this
		 */
		public function setKind( $kind ) {      }
		/**
		 * Returns the comment text
		 *
		 * @return string
		 */
		public function getText() {         }
		/**
		 * Sets the comment text
		 *
		 * @param string $text Comment text
		 *
		 * @return $this
		 */
		public function setText( $text ) {      }
		/**
		 * Returns the comment raw text
		 *
		 * @return string
		 */
		public function getRawText() {      }
		/**
		 * Sets the comment raw text
		 *
		 * @param string $rawText Comment raw text
		 *
		 * @return $this
		 */
		public function setRawText( $rawText ) {        }
		/**
		 * Sets leading comments array
		 *
		 * @param Comment[] $comments Comments array
		 *
		 * @return $this
		 */
		public function setLeadingComments( $comments ) {       }
		/**
		 * Sets trailing comments array
		 *
		 * @param Comment[] $comments Comments array
		 *
		 * @return $this
		 */
		public function setTrailingComments( $comments ) {      }
		/**
		 * Returns a serializable version of the node
		 *
		 * @return array
		 */
		#[\ReturnTypeWillChange]
		public function jsonSerialize() {       }
	}
	/**
	 * A node that represents the catch clause in a try-catch statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class CatchClause extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'param' => true,
			'body'  => true,
		);
		/**
		 * The catch clause parameter
		 *
		 * @var Pattern
		 */
		protected $param;
		/**
		 * The body of the catch clause
		 *
		 * @var BlockStatement
		 */
		protected $body;
		/**
		 * Returns the catch clause parameter
		 *
		 * @return Pattern
		 */
		public function getParam() {        }
		/**
		 * Sets the catch clause parameter
		 *
		 * @param Pattern $param Catch clause parameter
		 *
		 * @return $this
		 */
		public function setParam( $param ) {        }
		/**
		 * Returns the body of the catch clause
		 *
		 * @return BlockStatement
		 */
		public function getBody() {         }
		/**
		 * Sets the body of the catch clause
		 *
		 * @param BlockStatement $body The block of code inside the catch clause
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\BlockStatement $body ) {        }
	}
	/**
	 * A node that represents an await expression.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class AwaitExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'argument' => true );
		/**
		 * Expression's argument
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the expression's argument
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the expression's argument
		 *
		 * @param Expression $argument Argument
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Expression $argument ) {        }
	}
	/**
	 * A node that represents the "for...of" statement.
	 * For example: for (var a of b) {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ForOfStatement extends \Peast\Syntax\Node\ForInStatement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'left'  => true,
			'right' => true,
			'body'  => true,
			'await' => false,
		);
		/**
		 * Async iteration flag
		 *
		 * @var bool
		 */
		protected $await = false;
		/**
		 * Returns the async iteration flag
		 *
		 * @return bool
		 */
		public function getAwait() {        }
		/**
		 * Sets the async iteration flag
		 *
		 * @param bool $await Async iteration flag
		 *
		 * @return $this
		 */
		public function setAwait( $await ) {        }
	}
	/**
	 * A node that represents a null literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class NullLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Node's value
		 *
		 * @var mixed
		 */
		protected $value = null;
		/**
		 * Node's raw value
		 *
		 * @var string
		 */
		protected $raw = 'null';
		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
	}
	/**
	 * Root node for scripts and modules.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class Program extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'body'       => true,
			'sourceType' => false,
		);
		/**
		 * Source type that is one of the source type constants in the Peast class
		 *
		 * @var string
		 */
		protected $sourceType = \Peast\Peast::SOURCE_TYPE_SCRIPT;
		/**
		 * Program's body
		 *
		 * @var Statement[]|ModuleDeclaration[]
		 */
		protected $body = array();
		/**
		 * Returns the source type that is one of the source type constants in the
		 * Peast class
		 *
		 * @return string
		 */
		public function getSourceType() {       }
		/**
		 * Sets the source type that is one of the source type constants in the
		 * Peast class
		 *
		 * @param string $sourceType Source type
		 *
		 * @return $this
		 */
		public function setSourceType( $sourceType ) {      }
		/**
		 * Returns the program's body
		 *
		 * @return Statement[]|ModuleDeclaration[]
		 */
		public function getBody() {         }
		/**
		 * Sets the program's body
		 *
		 * @param Statement[]|ModuleDeclaration[] $body Program's body
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
		/**
		 * Finds nodes matching the given selector.
		 *
		 * @param string $selector   Selector
		 * @param array  $options    Options array. See Query class
		 *                           documentation for available options
		 *
		 * @return Query
		 *
		 * @throws Selector\Exception
		 */
		public function query( $selector, $options = array() ) {        }
	}
	/**
	 * A node that represents an object binding pattern.
	 * For example: var {a, b, c} = d
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ObjectPattern extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'properties' => true );
		/**
		 * Object properties
		 *
		 * @var Property[]
		 */
		protected $properties = array();
		/**
		 * Returns object properties
		 *
		 * @return Property[]
		 */
		public function getProperties() {       }
		/**
		 * Sets object properties
		 *
		 * @param Property[] $properties Object properties
		 *
		 * @return $this
		 */
		public function setProperties( $properties ) {      }
	}
	/**
	 * A node that represents a switch statement.
	 * For example: switch (test) {}
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class SwitchStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'discriminant' => true,
			'cases'        => true,
		);
		/**
		 * Discriminant expression
		 *
		 * @var Expression
		 */
		protected $discriminant;
		/**
		 * Cases array
		 *
		 * @var SwitchCase[]
		 */
		protected $cases = array();
		/**
		 * Returns the discriminant expression
		 *
		 * @return Expression
		 */
		public function getDiscriminant() {         }
		/**
		 * Sets the discriminant expression
		 *
		 * @param Expression $discriminant Discriminant expression
		 *
		 * @return $this
		 */
		public function setDiscriminant( \Peast\Syntax\Node\Expression $discriminant ) {        }
		/**
		 * Returns the cases array
		 *
		 * @return SwitchCase[]
		 */
		public function getCases() {        }
		/**
		 * Sets the cases array
		 *
		 * @param SwitchCase[] $cases Cases array
		 *
		 * @return $this
		 */
		public function setCases( $cases ) {        }
	}
	/**
	 * A node that represents in import declaration.
	 * For example: import a from "mod"
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ImportDeclaration extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\ModuleDeclaration {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'specifiers' => true,
			'source'     => true,
		);
		/**
		 * Import specifiers array
		 *
		 * @var array
		 */
		protected $specifiers = array();
		/**
		 * Import source
		 *
		 * @var Literal
		 */
		protected $source;
		/**
		 * Returns the import specifiers array
		 *
		 * @return array
		 */
		public function getSpecifiers() {       }
		/**
		 * Sets the import specifiers array
		 *
		 * @param array $specifiers Import specifiers array
		 *
		 * @return $this
		 */
		public function setSpecifiers( $specifiers ) {      }
		/**
		 * Returns the import source
		 *
		 * @return Literal
		 */
		public function getSource() {       }
		/**
		 * Sets the import source
		 *
		 * @param Literal $source Import source
		 *
		 * @return $this
		 */
		public function setSource( \Peast\Syntax\Node\Literal $source ) {       }
	}
	/**
	 * A node that represents a string literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class StringLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'format' => false );
		// Format constants
		/**
		 * Double quoted string
		 */
		const DOUBLE_QUOTED = 'double';
		/**
		 * Single quoted string
		 */
		const SINGLE_QUOTED = 'single';
		/**
		 * String format
		 *
		 * @var string
		 */
		protected $format = self::DOUBLE_QUOTED;
		/**
		 * Sets node's value
		 *
		 * @param string $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Sets node's raw value
		 *
		 * @param mixed $raw Raw value
		 *
		 * @return $this
		 *
		 * @throws \Exception
		 */
		public function setRaw( $raw ) {        }
		/**
		 * Returns string format
		 *
		 * @return string
		 */
		public function getFormat() {       }
		/**
		 * Sets string format
		 *
		 * @param string $format Format, one of the format constants
		 *
		 * @return $this
		 */
		public function setFormat( $format ) {      }
	}
	/**
	 * A node that represents an "export all" declaration.
	 * For example: export * from "test"
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ExportAllDeclaration extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\ModuleDeclaration {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'source'   => true,
			'exported' => true,
		);
		/**
		 * The export source
		 *
		 * @var Literal
		 */
		protected $source;
		/**
		 * The exported name
		 *
		 * @var Identifier|StringLiteral
		 */
		protected $exported;
		/**
		 * Returns the export source
		 *
		 * @return Literal
		 */
		public function getSource() {       }
		/**
		 * Sets the export source
		 *
		 * @param Literal $source Export source
		 *
		 * @return $this
		 */
		public function setSource( \Peast\Syntax\Node\Literal $source ) {       }
		/**
		 * Returns the exported name
		 *
		 * @return Identifier|StringLiteral
		 */
		public function getExported() {         }
		/**
		 * Sets the exported name
		 * W
		 *
		 * @param Identifier|StringLiteral $exported Exported name
		 *
		 * @return $this
		 */
		public function setExported( $exported ) {      }
	}
	/**
	 * A node that represents a tagged template expression.
	 * For example: fn`template`
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class TaggedTemplateExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'tag'   => true,
			'quasi' => true,
		);
		/**
		 * Tag expression
		 *
		 * @var Expression
		 */
		protected $tag;
		/**
		 * Template
		 *
		 * @var TemplateLiteral
		 */
		protected $quasi;
		/**
		 * Returns the tag expression
		 *
		 * @return Expression
		 */
		public function getTag() {      }
		/**
		 * Sets the tag expression
		 *
		 * @param Expression $tag Tag expression
		 *
		 * @return $this
		 */
		public function setTag( \Peast\Syntax\Node\Expression $tag ) {      }
		/**
		 * Returns the template
		 *
		 * @return TemplateLiteral
		 */
		public function getQuasi() {        }
		/**
		 * Sets the the template
		 *
		 * @param TemplateLiteral $quasi Template
		 *
		 * @return $this
		 */
		public function setQuasi( \Peast\Syntax\Node\TemplateLiteral $quasi ) {         }
	}
	/**
	 * A node that represents an empty statement (;).
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class EmptyStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

	}
	/**
	 * A node that represents a conditional expression.
	 * For example: test() ? ok() : fail()
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ConditionalExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'test'       => true,
			'consequent' => true,
			'alternate'  => true,
		);
		/**
		 * The test expression
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * The consequent expression
		 *
		 * @var Expression
		 */
		protected $consequent;
		/**
		 * The alternate expression
		 *
		 * @var Expression
		 */
		protected $alternate;
		/**
		 * Returns the test expression
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the test expression
		 *
		 * @param Expression $test Test expression
		 *
		 * @return $this
		 */
		public function setTest( \Peast\Syntax\Node\Expression $test ) {        }
		/**
		 * Returns the consequent expression
		 *
		 * @return Expression
		 */
		public function getConsequent() {       }
		/**
		 * Sets the consequent expression
		 *
		 * @param Expression $consequent Consequent expression
		 *
		 * @return $this
		 */
		public function setConsequent( \Peast\Syntax\Node\Expression $consequent ) {        }
		/**
		 * Returns the alternate expression
		 *
		 * @return Expression
		 */
		public function getAlternate() {        }
		/**
		 * Sets the alternate expression
		 *
		 * @param Expression $alternate Alternate expression
		 *
		 * @return $this
		 */
		public function setAlternate( \Peast\Syntax\Node\Expression $alternate ) {      }
	}
	/**
	 * A node that represents a numeric literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class NumericLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'format' => false );
		// Format constants
		/**
		 * Decimal number format
		 */
		const DECIMAL = 'decimal';
		/**
		 * Hexadecimal number format
		 */
		const HEXADECIMAL = 'hexadecimal';
		/**
		 * Octal number format
		 */
		const OCTAL = 'octal';
		/**
		 * Binary number format
		 */
		const BINARY = 'binary';
		/**
		 * Node's numeric format
		 *
		 * @var string
		 */
		protected $format = self::DECIMAL;
		/**
		 * Numeric forms conversion rules
		 *
		 * @var array
		 */
		protected $forms = array(
			'b' => array(
				'check'  => '/^0b[01]+[01_]*$/i',
				'conv'   => 'bindec',
				'format' => self::BINARY,
			),
			'o' => array(
				'check'  => '/^0o[0-7]+[0-7_]*$/i',
				'conv'   => 'octdec',
				'format' => self::OCTAL,
			),
			'x' => array(
				'check'  => '/^0x[0-9a-f]+[0-9a-f_]*$/i',
				'conv'   => 'hexdec',
				'format' => self::HEXADECIMAL,
			),
		);
		/**
		 * Sets node's value
		 *
		 * @param float $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Sets node's raw value
		 *
		 * @param mixed $raw Raw value
		 *
		 * @return $this
		 *
		 * @throws \Exception
		 */
		public function setRaw( $raw ) {        }
		/**
		 * Returns node's numeric format
		 *
		 * @return string
		 */
		public function getFormat() {       }
		/**
		 * Sets node's numeric format
		 *
		 * @param string $format Format, one of the format constants
		 *
		 * @return $this
		 */
		public function setFormat( $format ) {      }
	}
	/**
	 * A node that represents a property definition in class body.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class PropertyDefinition extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'key'      => true,
			'value'    => true,
			'computed' => false,
			'static'   => false,
		);
		/**
		 * Property key
		 *
		 * @var Expression|PrivateIdentifier
		 */
		protected $key;
		/**
		 * Optional property value
		 *
		 * @var Expression|null
		 */
		protected $value;
		/**
		 * Property computed flag that is true when the property is declared using
		 * the square brackets syntax
		 *
		 * @var bool
		 */
		protected $computed = false;
		/**
		 * Property static flag that is true when the property is declared static
		 *
		 * @var bool
		 */
		protected $static = false;
		/**
		 * Returns the property key
		 *
		 * @return Expression|PrivateIdentifier
		 */
		public function getKey() {      }
		/**
		 * Sets the property key
		 *
		 * @param Expression|PrivateIdentifier $key Property key
		 *
		 * @return $this
		 */
		public function setKey( $key ) {        }
		/**
		 * Returns the property value
		 *
		 * @return Expression|null
		 */
		public function getValue() {        }
		/**
		 * Sets the property value
		 *
		 * @param Expression|null $value Property value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Returns the property computed flag that is true when the property is
		 * declared using the square brackets syntax
		 *
		 * @return bool
		 */
		public function getComputed() {         }
		/**
		 * Sets the property computed flag that is true when the property is
		 * declared using the square brackets syntax
		 *
		 * @param bool $computed Property computed flag
		 *
		 * @return $this
		 */
		public function setComputed( $computed ) {      }
		/**
		 * Returns the property static flag that is true when the property is
		 * declared static
		 *
		 * @return bool
		 */
		public function getStatic() {       }
		/**
		 * Sets the property static flag that is true when the property is
		 * declared static
		 *
		 * @param bool $static Property static flag
		 *
		 * @return $this
		 */
		public function setStatic( $static ) {      }
	}
	/**
	 * A node that represents a class body.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ClassBody extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'body' => true );
		/**
		 * Class methods and properties
		 *
		 * @var MethodDefinition[]|PropertyDefinition[]|StaticBlock[]
		 */
		protected $body = array();
		/**
		 * Returns class methods and properties
		 *
		 * @return MethodDefinition[]|PropertyDefinition[]|StaticBlock[]
		 */
		public function getBody() {         }
		/**
		 * Sets class methods and properties
		 *
		 * @param MethodDefinition[]|PropertyDefinition[]|StaticBlock[] $body Class methods array
		 *
		 * @return $this
		 */
		public function setBody( $body ) {      }
	}
}

namespace Peast\Syntax\Node\JSX {
	/**
	 * A base class for boundary elements.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @abstract
	 */
	abstract class JSXBoundaryElement extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'name' => true );
		/**
		 * Element name
		 *
		 * @var JSXIdentifier|JSXMemberExpression|JSXNamespacedName
		 */
		protected $name;
		/**
		 * Returns the element name
		 *
		 * @return JSXIdentifier|JSXMemberExpression|JSXNamespacedName
		 */
		public function getName() {         }
		/**
		 * Sets the element name
		 *
		 * @param JSXIdentifier|JSXMemberExpression|JSXNamespacedName $name Element
		 *                                                                  name
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
	}
	/**
	 * A node that represents a JSX closing element tag.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXClosingElement extends \Peast\Syntax\Node\JSX\JSXBoundaryElement {

	}
	/**
	 * A node that represents a JSX member expression.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXMemberExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'object'   => true,
			'property' => true,
		);
		/**
		 * Expression's object
		 *
		 * @var JSXMemberExpression|JSXIdentifier
		 */
		protected $object;
		/**
		 * Expression's property
		 *
		 * @var JSXIdentifier
		 */
		protected $property;
		/**
		 * Returns the expression's object
		 *
		 * @return JSXMemberExpression|JSXIdentifier
		 */
		public function getObject() {       }
		/**
		 * Sets the expression's object
		 *
		 * @param JSXMemberExpression|JSXIdentifier $object Object
		 *
		 * @return $this
		 */
		public function setObject( $object ) {      }
		/**
		 * Returns the expression's property
		 *
		 * @return JSXIdentifier
		 */
		public function getProperty() {         }
		/**
		 * Sets the expression's property
		 *
		 * @param JSXIdentifier $property Property
		 *
		 * @return $this
		 */
		public function setProperty( \Peast\Syntax\Node\JSX\JSXIdentifier $property ) {         }
	}
	/**
	 * A node that represents a JSX empty expression.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXEmptyExpression extends \Peast\Syntax\Node\Node {

	}
	/**
	 * A node that represents a JSX namespaced name.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXNamespacedName extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'namespace' => false,
			'name'      => false,
		);
		/**
		 * Node's namespace
		 *
		 * @var JSXIdentifier
		 */
		protected $namespace;
		/**
		 * Node's name
		 *
		 * @var JSXIdentifier
		 */
		protected $name;
		/**
		 * Returns node's namespace
		 *
		 * @return JSXIdentifier
		 */
		public function getNamespace() {        }
		/**
		 * Sets node's namespace
		 *
		 * @param JSXIdentifier $namespace Namespace
		 *
		 * @return $this
		 */
		public function setNamespace( $namespace ) {        }
		/**
		 * Return node's name
		 *
		 * @return JSXIdentifier
		 */
		public function getName() {         }
		/**
		 * Sets node's name
		 *
		 * @param JSXIdentifier $name Name
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
	}
	/**
	 * A node that represents a JSX opening element tag.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXOpeningElement extends \Peast\Syntax\Node\JSX\JSXBoundaryElement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'attributes'  => true,
			'selfClosing' => false,
		);
		/**
		 * Children nodes array
		 *
		 * @var JSXAttribute[]|JSXSpreadAttribute[]
		 */
		protected $attributes = array();
		/**
		 * Self closing tag mode
		 *
		 * @var bool
		 */
		protected $selfClosing = false;
		/**
		 * Returns the children attributes array
		 *
		 * @return JSXAttribute[]|JSXSpreadAttribute[]
		 */
		public function getAttributes() {       }
		/**
		 * Sets the attributes nodes array
		 *
		 * @param JSXAttribute[]|JSXSpreadAttribute[] $attributes Attributes nodes
		 *                                                         array
		 *
		 * @return $this
		 */
		public function setAttributes( $attributes ) {      }
		/**
		 * Returns the self closing tag mode
		 *
		 * @return bool
		 */
		public function getSelfClosing() {      }
		/**
		 * Sets the self closing tag mode
		 *
		 * @param bool $selfClosing Self closing tag mode
		 *
		 * @return $this
		 */
		public function setSelfClosing( $selfClosing ) {        }
	}
	/**
	 * A node that represents a JSX spread attribute.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXSpreadAttribute extends \Peast\Syntax\Node\SpreadElement {

	}
	/**
	 * A node that represents a JSX element.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXElement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'openingElement' => true,
			'children'       => true,
			'closingElement' => true,
		);
		/**
		 * Opening element node
		 *
		 * @var JSXOpeningElement
		 */
		protected $openingElement;
		/**
		 * Children nodes array
		 *
		 * @var Node[]
		 */
		protected $children = array();
		/**
		 * Closing element node
		 *
		 * @var JSXClosingElement|null
		 */
		protected $closingElement;
		/**
		 * Returns the opening element node
		 *
		 * @return JSXOpeningElement
		 */
		public function getOpeningElement() {       }
		/**
		 * Sets the opening element node
		 *
		 * @param JSXOpeningElement $openingElement Opening element node
		 *
		 * @return $this
		 */
		public function setOpeningElement( \Peast\Syntax\Node\JSX\JSXOpeningElement $openingElement ) {         }
		/**
		 * Returns the children nodes array
		 *
		 * @return Node[]
		 */
		public function getChildren() {         }
		/**
		 * Sets the children nodes array
		 *
		 * @param Node[] $children Children nodes array
		 *
		 * @return $this
		 */
		public function setChildren( $children ) {      }
		/**
		 * Returns the closing element node
		 *
		 * @return JSXClosingElement|null
		 */
		public function getClosingElement() {       }
		/**
		 * Sets the closing element node
		 *
		 * @param JSXClosingElement|null $closingElement Closing element node
		 *
		 * @return $this
		 */
		public function setClosingElement( $closingElement ) {      }
	}
	/**
	 * A node that represents a JSX closing fragment tag.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXClosingFragment extends \Peast\Syntax\Node\Node {

	}
	/**
	 * A node that represents a JSX opening fragment tag.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXOpeningFragment extends \Peast\Syntax\Node\Node {

	}
	/**
	 * A node that represents an expression container in JSX.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXExpressionContainer extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => true );
		/**
		 * The wrapped expression
		 *
		 * @var \Peast\Syntax\Node\Expression|JSXEmptyExpression
		 */
		protected $expression;
		/**
		 * Returns the wrapped expression
		 *
		 * @return \Peast\Syntax\Node\Expression|JSXEmptyExpression
		 */
		public function getExpression() {       }
		/**
		 * Sets the wrapped expression
		 *
		 * @param \Peast\Syntax\Node\Expression|JSXEmptyExpression $expression Wrapped
		 *                                                                     expression
		 *
		 * @return $this
		 */
		public function setExpression( $expression ) {      }
	}
	/**
	 * A node that represents a spread child expression in JSX.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXSpreadChild extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'expression' => true );
		/**
		 * The wrapped expression
		 *
		 * @var Expression
		 */
		protected $expression;
		/**
		 * Returns the wrapped expression
		 *
		 * @return Expression
		 */
		public function getExpression() {       }
		/**
		 * Sets the wrapped expression
		 *
		 * @param Expression $expression Wrapped expression
		 *
		 * @return $this
		 */
		public function setExpression( \Peast\Syntax\Node\Expression $expression ) {        }
	}
	/**
	 * A node that represents a JSX attribute.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXAttribute extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'name'  => true,
			'value' => true,
		);
		/**
		 * Attribute name
		 *
		 * @var JSXIdentifier|JSXNamespacedName
		 */
		protected $name;
		/**
		 * Attribute value
		 *
		 * @var Node|null
		 */
		protected $value;
		/**
		 * Returns the attribute name
		 *
		 * @return Node
		 */
		public function getName() {         }
		/**
		 * Sets the attribute name
		 *
		 * @param JSXIdentifier|JSXNamespacedName $name Attribute name
		 *
		 * @return $this
		 */
		public function setName( $name ) {      }
		/**
		 * Returns the attribute value
		 *
		 * @return Node|null
		 */
		public function getValue() {        }
		/**
		 * Sets the attribute value
		 *
		 * @param Node|null $value Attribute value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
	}
	/**
	 * A node that represents a JSX identifier.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXIdentifier extends \Peast\Syntax\Node\Identifier {

	}
	/**
	 * A node that represents a JSX fragment.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXFragment extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'openingFragment' => true,
			'children'        => true,
			'closingFragment' => true,
		);
		/**
		 * Opening fragment node
		 *
		 * @var JSXOpeningFragment
		 */
		protected $openingFragment;
		/**
		 * Children nodes array
		 *
		 * @var Node[]
		 */
		protected $children = array();
		/**
		 * Closing fragment node
		 *
		 * @var JSXClosingFragment
		 */
		protected $closingFragment;
		/**
		 * Returns the opening fragment node
		 *
		 * @return JSXOpeningFragment
		 */
		public function getOpeningFragment() {      }
		/**
		 * Sets the opening fragment node
		 *
		 * @param JSXOpeningFragment $openingFragment Opening fragment node
		 *
		 * @return $this
		 */
		public function setOpeningFragment( \Peast\Syntax\Node\JSX\JSXOpeningFragment $openingFragment ) {      }
		/**
		 * Returns the children nodes array
		 *
		 * @return Node[]
		 */
		public function getChildren() {         }
		/**
		 * Sets the children nodes array
		 *
		 * @param Node[] $children Children nodes array
		 *
		 * @return $this
		 */
		public function setChildren( $children ) {      }
		/**
		 * Returns the closing fragment node
		 *
		 * @return JSXClosingFragment
		 */
		public function getClosingFragment() {      }
		/**
		 * Sets the closing fragment node
		 *
		 * @param JSXClosingFragment $closingFragment Closing fragment node
		 *
		 * @return $this
		 */
		public function setClosingFragment( \Peast\Syntax\Node\JSX\JSXClosingFragment $closingFragment ) {      }
	}
	/**
	 * A node that represents a JSX closing fragment tag.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class JSXText extends \Peast\Syntax\Node\Node {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'value' => false,
			'raw'   => false,
		);
		/**
		 * Node's value
		 *
		 * @var mixed
		 */
		protected $value;
		/**
		 * Node's raw value
		 *
		 * @var string
		 */
		protected $raw;
		/**
		 * Returns node's value
		 *
		 * @return mixed
		 */
		public function getValue() {        }
		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
		/**
		 * Return node's raw value
		 *
		 * @return string
		 */
		public function getRaw() {      }
		/**
		 * Sets node's raw value
		 *
		 * @param mixed $raw Raw value
		 *
		 * @return $this
		 */
		public function setRaw( $raw ) {        }
	}
}

namespace Peast\Syntax\Node {
	/**
	 * A node that represents a yield statement.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class YieldExpression extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'argument' => true,
			'delegate' => false,
		);
		/**
		 * Yield argument
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Delegate flag that is true when the yield keyword is preceded by *
		 *
		 * @var bool
		 */
		protected $delegate = false;
		/**
		 * Returns yield argument
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets yield argument
		 *
		 * @param Expression $argument Argument
		 *
		 * @return $this
		 */
		public function setArgument( $argument ) {      }
		/**
		 * Returns the delegate flag that is true when the yield keyword is
		 * preceded by *
		 *
		 * @return bool
		 */
		public function getDelegate() {         }
		/**
		 * Sets the delegate flag that is true when the yield keyword is
		 * preceded by *
		 *
		 * @param bool $delegate Delegate flag
		 *
		 * @return $this
		 */
		public function setDelegate( $delegate ) {      }
	}
	/**
	 * A node that represents the rest element in array binding patterns or function
	 * parameters.
	 * For example "...rest" in: [a, ...rest] = b
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class RestElement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'argument' => true );
		/**
		 * The node's argument
		 *
		 * @var Pattern
		 */
		protected $argument;
		/**
		 * Returns the node's argument
		 *
		 * @return Pattern
		 */
		public function getArgument() {         }
		/**
		 * Sets the node's argument
		 *
		 * @param Pattern $argument Node's argument
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Pattern $argument ) {       }
	}
	/**
	 * A node that represents the throw statement.
	 * For example: throw err
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ThrowStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'argument' => true );
		/**
		 * The thrown expression
		 *
		 * @var Expression
		 */
		protected $argument;
		/**
		 * Returns the thrown expression
		 *
		 * @return Expression
		 */
		public function getArgument() {         }
		/**
		 * Sets the thrown expression
		 *
		 * @param Expression $argument The node to set
		 *
		 * @return $this
		 */
		public function setArgument( \Peast\Syntax\Node\Expression $argument ) {        }
	}
	/**
	 * A node that represents a do-while loop.
	 * For example: do {} while (test)
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class DoWhileStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'body' => true,
			'test' => true,
		);
		/**
		 * The loop body
		 *
		 * @var Statement
		 */
		protected $body;
		/**
		 * The loop condition
		 *
		 * @var Expression
		 */
		protected $test;
		/**
		 * Returns the loop body
		 *
		 * @return Statement
		 */
		public function getBody() {         }
		/**
		 * Sets the loop body
		 *
		 * @param Statement $body Loop body
		 *
		 * @return $this
		 */
		public function setBody( \Peast\Syntax\Node\Statement $body ) {         }
		/**
		 * Returns the loop condition
		 *
		 * @return Expression
		 */
		public function getTest() {         }
		/**
		 * Sets the loop condition
		 *
		 * @param Expression $test Loop
		 *
		 * @return $this
		 */
		public function setTest( \Peast\Syntax\Node\Expression $test ) {        }
	}
	/**
	 * A node that represents a regular expression literal.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class RegExpLiteral extends \Peast\Syntax\Node\Literal {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array(
			'flags'   => false,
			'pattern' => false,
		);
		/**
		 * Regex flags
		 *
		 * @var string
		 */
		protected $flags = '';
		/**
		 * Regex pattern
		 *
		 * @var string
		 */
		protected $pattern = '';
		/**
		 * Returns node's type
		 *
		 * @return string
		 */
		public function getType() {         }
		/**
		 * Returns regex pattern
		 *
		 * @return string
		 */
		public function getPattern() {      }
		/**
		 * Sets regex pattern
		 *
		 * @param string $pattern Regex pattern
		 *
		 * @return $this
		 */
		public function setPattern( $pattern ) {        }
		/**
		 * Returns regex flags
		 *
		 * @return string
		 */
		public function getFlags() {        }
		/**
		 * Sets regex flags
		 *
		 * @param string $flags Regex flags
		 *
		 * @return $this
		 */
		public function setFlags( $flags ) {        }
		/**
		 * Returns node's raw value
		 *
		 * @return string
		 */
		public function getRaw() {      }
		/**
		 * Sets node's raw value that must include delimiters
		 *
		 * @param string $raw Raw value
		 *
		 * @return $this
		 */
		public function setRaw( $raw ) {        }
		/**
		 * Returns node's value
		 *
		 * @return string
		 */
		public function getValue() {        }
		/**
		 * Sets node's value
		 *
		 * @param mixed $value Value
		 *
		 * @return $this
		 */
		public function setValue( $value ) {        }
	}
	/**
	 * A node that represents an array binding pattern.
	 * For example: [a, b, c] = d
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 */
	class ArrayPattern extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Pattern {

		/**
		 * Map of node properties
		 *
		 * @var array
		 */
		protected $propertiesMap = array( 'elements' => true );
		/**
		 * Array elements
		 *
		 * @var Pattern[]
		 */
		protected $elements = array();
		/**
		 * Returns array elements
		 *
		 * @return Pattern[]
		 */
		public function getElements() {         }
		/**
		 * Sets array elements
		 *
		 * @param Pattern[] $elements Array elements to set
		 *
		 * @return $this
		 */
		public function setElements( $elements ) {      }
	}
}

namespace Peast\Syntax {
	/**
	 * Syntax exception class. Syntax errors in the source are thrown using this
	 * using this exception class.
	 *
	 * @author Marco Marchiò <marco.mm89@gmail.com>
	 *
	 * @codeCoverageIgnore
	 */
	class Exception extends \Exception {

		/**
		 * Error position
		 *
		 * @var Position
		 */
		protected $position;
		/**
		 * Class constructor
		 *
		 * @param string   $message  Error message
		 * @param Position $position Error position
		 */
		public function __construct( $message, \Peast\Syntax\Position $position ) {         }
		/**
		 * Returns the error position
		 *
		 * @return Position
		 */
		public function getPosition() {         }
	}
}

namespace PHP_CodeSniffer {
	class Autoload {

		/**
		 * Loads a class.
		 *
		 * This method only loads classes that exist in the PHP_CodeSniffer namespace.
		 * All other classes are ignored and loaded by subsequent autoloaders.
		 *
		 * @param string $class The name of the class to load.
		 *
		 * @return bool
		 */
		public static function load( $class ) {         }//end load()
		/**
		 * Includes a file and tracks what class or interface was loaded as a result.
		 *
		 * @param string $path The path of the file to load.
		 *
		 * @return string The fully qualified name of the class in the loaded file.
		 */
		public static function loadFile( $path ) {      }//end loadFile()
		/**
		 * Determine which class was loaded based on the before and after lists of loaded classes.
		 *
		 * @param array $classesBeforeLoad The classes/interfaces/traits before the file was included.
		 * @param array $classesAfterLoad  The classes/interfaces/traits after the file was included.
		 *
		 * @return string The fully qualified name of the class in the loaded file.
		 */
		public static function determineLoadedClass( $classesBeforeLoad, $classesAfterLoad ) {      }//end determineLoadedClass()
		/**
		 * Adds a directory to search during autoloading.
		 *
		 * @param string $path     The path to the directory to search.
		 * @param string $nsPrefix The namespace prefix used by files under this path.
		 *
		 * @return void
		 */
		public static function addSearchPath( $path, $nsPrefix = '' ) {         }//end addSearchPath()
		/**
		 * Retrieve the namespaces and paths registered by external standards.
		 *
		 * @return array
		 */
		public static function getSearchPaths() {       }//end getSearchPaths()
		/**
		 * Gets the class name for the given file path.
		 *
		 * @param string $path The name of the file.
		 *
		 * @throws \Exception If the file path has not been loaded.
		 * @return string
		 */
		public static function getLoadedClassName( $path ) {        }//end getLoadedClassName()
		/**
		 * Gets the file path for the given class name.
		 *
		 * @param string $class The name of the class.
		 *
		 * @throws \Exception If the class name has not been loaded
		 * @return string
		 */
		public static function getLoadedFileName( $class ) {        }//end getLoadedFileName()
		/**
		 * Gets the mapping of file names to class names.
		 *
		 * @return array<string, string>
		 */
		public static function getLoadedClasses() {         }//end getLoadedClasses()
		/**
		 * Gets the mapping of class names to file names.
		 *
		 * @return array<string, string>
		 */
		public static function getLoadedFiles() {       }//end getLoadedFiles()
	}
}

namespace PHP_CodeSniffer\Tests {
	class PHP_CodeSniffer_AllTests {

		/**
		 * Add all PHP_CodeSniffer test suites into a single test suite.
		 *
		 * @return \PHPUnit\Framework\TestSuite
		 */
		public static function suite() {        }//end suite()
	}
	class TestSuite extends \PHPUnit\Framework\TestSuite {

		/**
		 * Runs the tests and collects their result in a TestResult.
		 *
		 * @param \PHPUnit\Framework\TestResult $result A test result.
		 *
		 * @return \PHPUnit\Framework\TestResult
		 */
		public function run( \PHPUnit\Framework\TestResult $result = null ) : void {
		}//end run()
	}
}

namespace PHP_CodeSniffer\Tests\Core {
	class AllTests {

		/**
		 * Prepare the test runner.
		 *
		 * @return void
		 */
		public static function main(): void {
		}//end main()
		/**
		 * Add all core unit tests into a test suite.
		 *
		 * @return \PHPUnit\Framework\TestSuite
		 */
		public static function suite() {        }//end suite()
	}
}

namespace PHP_CodeSniffer\Tests\Core\Filters\Filter {
	class AcceptTest extends \PHPUnit\Framework\TestCase {

		/**
		 * The Config object.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		protected static $config;
		/**
		 * The Ruleset object.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		protected static $ruleset;
		/**
		 * Initialize the test.
		 *
		 * @return void
		 */
		public function setUp(): void {
		}//end setUp()
		/**
		 * Initialize the config and ruleset objects based on the `AcceptTest.xml` ruleset file.
		 *
		 * @return void
		 */
		public static function setUpBeforeClass(): void {
		}//end setUpBeforeClass()
		/**
		 * Test filtering a file list for excluded paths.
		 *
		 * @param array $inputPaths     List of file paths to be filtered.
		 * @param array $expectedOutput Expected filtering result.
		 *
		 * @dataProvider dataExcludePatterns
		 *
		 * @return void
		 */
		public function testExcludePatterns( $inputPaths, $expectedOutput ) {       }//end testExcludePatterns()
		/**
		 * Data provider.
		 *
		 * @see testExcludePatterns
		 *
		 * @return array
		 */
		public function dataExcludePatterns() {         }//end dataExcludePatterns()
	}
}

namespace PHP_CodeSniffer\Tests\Core {
	class ErrorSuppressionTest extends \PHPUnit\Framework\TestCase {

		/**
		 * Test suppressing a single error.
		 *
		 * @return void
		 */
		public function testSuppressError() {       }//end testSuppressError()
		/**
		 * Test suppressing 1 out of 2 errors.
		 *
		 * @return void
		 */
		public function testSuppressSomeErrors() {      }//end testSuppressSomeErrors()
		/**
		 * Test suppressing a single warning.
		 *
		 * @return void
		 */
		public function testSuppressWarning() {         }//end testSuppressWarning()
		/**
		 * Test suppressing a single error using a single line ignore.
		 *
		 * @return void
		 */
		public function testSuppressLine() {        }//end testSuppressLine()
		/**
		 * Test that using a single line ignore does not interfere with other suppressions.
		 *
		 * @return void
		 */
		public function testNestedSuppressLine() {      }//end testNestedSuppressLine()
		/**
		 * Test suppressing a scope opener.
		 *
		 * @return void
		 */
		public function testSuppressScope() {       }//end testSuppressScope()
		/**
		 * Test suppressing a whole file.
		 *
		 * @return void
		 */
		public function testSuppressFile() {        }//end testSuppressFile()
		/**
		 * Test disabling specific sniffs.
		 *
		 * @return void
		 */
		public function testDisableSelected() {         }//end testDisableSelected()
		/**
		 * Test re-enabling specific sniffs that have been disabled.
		 *
		 * @return void
		 */
		public function testEnableSelected() {      }//end testEnableSelected()
		/**
		 * Test ignoring specific sniffs.
		 *
		 * @return void
		 */
		public function testIgnoreSelected() {      }//end testIgnoreSelected()
		/**
		 * Test ignoring specific sniffs.
		 *
		 * @return void
		 */
		public function testCommenting() {      }//end testCommenting()
	}
}

namespace PHP_CodeSniffer\Tests\Core\Ruleset {
	class RuleInclusionAbsoluteLinuxTest extends \PHPUnit\Framework\TestCase {

		/**
		 * The Ruleset object.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		protected $ruleset;
		/**
		 * Initialize the config and ruleset objects.
		 *
		 * @return void
		 */
		public function setUp(): void {
		}//end setUp()
		/**
		 * Reset ruleset file.
		 *
		 * @return void
		 */
		public function tearDown(): void {
		}//end tearDown()
		/**
		 * Test that sniffs registed with a Linux absolute path are correctly recognized and that
		 * properties are correctly set for them.
		 *
		 * @return void
		 */
		public function testLinuxStylePathRuleInclusion() {         }//end testLinuxStylePathRuleInclusion()
	}
	class RuleInclusionTest extends \PHPUnit\Framework\TestCase {

		/**
		 * The Ruleset object.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		protected static $ruleset;
		/**
		 * Initialize the test.
		 *
		 * @return void
		 */
		public function setUp(): void {
		}//end setUp()
		/**
		 * Initialize the config and ruleset objects based on the `RuleInclusionTest.xml` ruleset file.
		 *
		 * @return void
		 */
		public static function setUpBeforeClass(): void {
		}//end setUpBeforeClass()
		/**
		 * Reset ruleset file.
		 *
		 * @return void
		 */
		public function tearDown(): void {
		}//end tearDown()
		/**
		 * Test that sniffs are registered.
		 *
		 * @return void
		 */
		public function testHasSniffCodes(): void {
		}//end testHasSniffCodes()
		/**
		 * Test that sniffs are correctly registered, independently on the syntax used to include the sniff.
		 *
		 * @param string $key   Expected array key.
		 * @param string $value Expected array value.
		 *
		 * @dataProvider dataRegisteredSniffCodes
		 *
		 * @return void
		 */
		public function testRegisteredSniffCodes( $key, $value ): void {
		}//end testRegisteredSniffCodes()
		/**
		 * Data provider.
		 *
		 * @see self::testRegisteredSniffCodes()
		 *
		 * @return array
		 */
		public function dataRegisteredSniffCodes() {        }//end dataRegisteredSniffCodes()
		/**
		 * Test that setting properties for standards, categories, sniffs works for all supported rule
		 * inclusion methods.
		 *
		 * @param string $sniffClass    The name of the sniff class.
		 * @param string $propertyName  The name of the changed property.
		 * @param mixed  $expectedValue The value expected for the property.
		 *
		 * @dataProvider dataSettingProperties
		 *
		 * @return void
		 */
		public function testSettingProperties( $sniffClass, $propertyName, $expectedValue ): void {
		}//end testSettingProperties()
		/**
		 * Data provider.
		 *
		 * @see self::testSettingProperties()
		 *
		 * @return array
		 */
		public function dataSettingProperties() {       }//end dataSettingProperties()
	}
	class RuleInclusionAbsoluteWindowsTest extends \PHPUnit\Framework\TestCase {

		/**
		 * The Ruleset object.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		protected $ruleset;
		/**
		 * Initialize the config and ruleset objects.
		 *
		 * @return void
		 */
		public function setUp(): void {
		}//end setUp()
		/**
		 * Reset ruleset file.
		 *
		 * @return void
		 */
		public function tearDown(): void {
		}//end tearDown()
		/**
		 * Test that sniffs registed with a Windows absolute path are correctly recognized and that
		 * properties are correctly set for them.
		 *
		 * @return void
		 */
		public function testWindowsStylePathRuleInclusion(): void {
		}//end testWindowsStylePathRuleInclusion()
	}
}

namespace PHP_CodeSniffer\Tests\Core {
	abstract class AbstractMethodUnitTest extends \PHPUnit\Framework\TestCase {

		/**
		 * The file extension of the test case file (without leading dot).
		 *
		 * This allows child classes to overrule the default `inc` with, for instance,
		 * `js` or `css` when applicable.
		 *
		 * @var string
		 */
		protected static $fileExtension = 'inc';
		/**
		 * The \PHP_CodeSniffer\Files\File object containing the parsed contents of the test case file.
		 *
		 * @var \PHP_CodeSniffer\Files\File
		 */
		protected static $phpcsFile;
		/**
		 * Initialize & tokenize \PHP_CodeSniffer\Files\File with code from the test case file.
		 *
		 * The test case file for a unit test class has to be in the same directory
		 * directory and use the same file name as the test class, using the .inc extension.
		 *
		 * @return void
		 */
		public static function setUpBeforeClass(): void {
		}//end setUpBeforeClass()
		/**
		 * Clean up after finished test.
		 *
		 * @return void
		 */
		public static function tearDownAfterClass(): void {
		}//end tearDownAfterClass()
		/**
		 * Get the token pointer for a target token based on a specific comment found on the line before.
		 *
		 * Note: the test delimiter comment MUST start with "/* test" to allow this function to
		 * distinguish between comments used *in* a test and test delimiters.
		 *
		 * @param string           $commentString The delimiter comment to look for.
		 * @param int|string|array $tokenType     The type of token(s) to look for.
		 * @param string           $tokenContent  Optional. The token content for the target token.
		 *
		 * @return int
		 */
		public function getTargetToken( $commentString, $tokenType, $tokenContent = null ) {        }//end getTargetToken()
	}
}

namespace PHP_CodeSniffer\Tests\Core\File {
	class GetMemberPropertiesTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test the getMemberProperties() method.
		 *
		 * @param string $identifier Comment which precedes the test case.
		 * @param bool   $expected   Expected function output.
		 *
		 * @dataProvider dataGetMemberProperties
		 *
		 * @return void
		 */
		public function testGetMemberProperties( $identifier, $expected ): void {
		}//end testGetMemberProperties()
		/**
		 * Data provider for the GetMemberProperties test.
		 *
		 * @see testGetMemberProperties()
		 *
		 * @return array
		 */
		public function dataGetMemberProperties() {         }//end dataGetMemberProperties()
		/**
		 * Test receiving an expected exception when a non property is passed.
		 *
		 * @param string $identifier Comment which precedes the test case.
		 *
		 * @expectedException        PHP_CodeSniffer\Exceptions\RuntimeException
		 * @expectedExceptionMessage $stackPtr is not a class member var
		 *
		 * @dataProvider dataNotClassProperty
		 *
		 * @return void
		 */
		public function testNotClassPropertyException( $identifier ): void {
		}//end testNotClassPropertyException()
		/**
		 * Data provider for the NotClassPropertyException test.
		 *
		 * @see testNotClassPropertyException()
		 *
		 * @return array
		 */
		public function dataNotClassProperty() {        }//end dataNotClassProperty()
		/**
		 * Test receiving an expected exception when a non variable is passed.
		 *
		 * @expectedException        PHP_CodeSniffer\Exceptions\RuntimeException
		 * @expectedExceptionMessage $stackPtr must be of type T_VARIABLE
		 *
		 * @return void
		 */
		public function testNotAVariableException() {       }//end testNotAVariableException()
	}
	class FindImplementedInterfaceNamesTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test retrieving the name(s) of the interfaces being implemented by a class.
		 *
		 * @param string $identifier Comment which precedes the test case.
		 * @param bool   $expected   Expected function output.
		 *
		 * @dataProvider dataImplementedInterface
		 *
		 * @return void
		 */
		public function testFindImplementedInterfaceNames( $identifier, $expected ): void {
		}//end testFindImplementedInterfaceNames()
		/**
		 * Data provider for the FindImplementedInterfaceNames test.
		 *
		 * @see testFindImplementedInterfaceNames()
		 *
		 * @return array
		 */
		public function dataImplementedInterface() {        }//end dataImplementedInterface()
	}
	class IsReferenceTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test correctly identifying whether a "bitwise and" token is a reference or not.
		 *
		 * @param string $identifier Comment which precedes the test case.
		 * @param bool   $expected   Expected function output.
		 *
		 * @dataProvider dataIsReference
		 *
		 * @return void
		 */
		public function testIsReference( $identifier, $expected ) {         }//end testIsReference()
		/**
		 * Data provider for the IsReference test.
		 *
		 * @see testIsReference()
		 *
		 * @return array
		 */
		public function dataIsReference() {         }//end dataIsReference()
	}
	class FindEndOfStatementTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test a simple assignment.
		 *
		 * @return void
		 */
		public function testSimpleAssignment() {        }//end testSimpleAssignment()
		/**
		 * Test a direct call to a control structure.
		 *
		 * @return void
		 */
		public function testControlStructure() {        }//end testControlStructure()
		/**
		 * Test the assignment of a closure.
		 *
		 * @return void
		 */
		public function testClosureAssignment() {       }//end testClosureAssignment()
		/**
		 * Test using a heredoc in a function argument.
		 *
		 * @return void
		 */
		public function testHeredocFunctionArg() {      }//end testHeredocFunctionArg()
		/**
		 * Test parts of a switch statement.
		 *
		 * @return void
		 */
		public function testSwitch() {      }//end testSwitch()
		/**
		 * Test statements that are array values.
		 *
		 * @return void
		 */
		public function testStatementAsArrayValue() {       }//end testStatementAsArrayValue()
		/**
		 * Test a use group.
		 *
		 * @return void
		 */
		public function testUseGroup() {        }//end testUseGroup()
		/**
		 * Test arrow function as array value.
		 *
		 * @return void
		 */
		public function testArrowFunctionArrayValue() {         }//end testArrowFunctionArrayValue()
		/**
		 * Test static arrow function.
		 *
		 * @return void
		 */
		public function testStaticArrowFunction() {         }//end testStaticArrowFunction()
		/**
		 * Test arrow function with return value.
		 *
		 * @return void
		 */
		public function testArrowFunctionReturnValue() {        }//end testArrowFunctionReturnValue()
		/**
		 * Test arrow function used as a function argument.
		 *
		 * @return void
		 */
		public function testArrowFunctionAsArgument() {         }//end testArrowFunctionAsArgument()
		/**
		 * Test arrow function with arrays used as a function argument.
		 *
		 * @return void
		 */
		public function testArrowFunctionWithArrayAsArgument() {        }//end testArrowFunctionWithArrayAsArgument()
		/**
		 * Test simple match expression case.
		 *
		 * @return void
		 */
		public function testMatchCase() {       }//end testMatchCase()
		/**
		 * Test simple match expression default case.
		 *
		 * @return void
		 */
		public function testMatchDefault() {        }//end testMatchDefault()
		/**
		 * Test multiple comma-separated match expression case values.
		 *
		 * @return void
		 */
		public function testMatchMultipleCase() {       }//end testMatchMultipleCase()
		/**
		 * Test match expression default case with trailing comma.
		 *
		 * @return void
		 */
		public function testMatchDefaultComma() {       }//end testMatchDefaultComma()
		/**
		 * Test match expression with function call.
		 *
		 * @return void
		 */
		public function testMatchFunctionCall() {       }//end testMatchFunctionCall()
		/**
		 * Test match expression with function call in the arm.
		 *
		 * @return void
		 */
		public function testMatchFunctionCallArm() {        }//end testMatchFunctionCallArm()
		/**
		 * Test match expression with closure.
		 *
		 * @return void
		 */
		public function testMatchClosure() {        }//end testMatchClosure()
		/**
		 * Test match expression with array declaration.
		 *
		 * @return void
		 */
		public function testMatchArray() {      }//end testMatchArray()
		/**
		 * Test nested match expressions.
		 *
		 * @return void
		 */
		public function testNestedMatch() {         }//end testNestedMatch()
	}
	class FindExtendedClassNameTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test retrieving the name of the class being extended by another class
		 * (or interface).
		 *
		 * @param string $identifier Comment which precedes the test case.
		 * @param bool   $expected   Expected function output.
		 *
		 * @dataProvider dataExtendedClass
		 *
		 * @return void
		 */
		public function testFindExtendedClassName( $identifier, $expected ) {       }//end testFindExtendedClassName()
		/**
		 * Data provider for the FindExtendedClassName test.
		 *
		 * @see testFindExtendedClassName()
		 *
		 * @return array
		 */
		public function dataExtendedClass() {       }//end dataExtendedClass()
	}
	class GetMethodPropertiesTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test a basic function.
		 *
		 * @return void
		 */
		public function testBasicFunction() {       }//end testBasicFunction()
		/**
		 * Test a function with a return type.
		 *
		 * @return void
		 */
		public function testReturnFunction() {      }//end testReturnFunction()
		/**
		 * Test a closure used as a function argument.
		 *
		 * @return void
		 */
		public function testNestedClosure() {       }//end testNestedClosure()
		/**
		 * Test a basic method.
		 *
		 * @return void
		 */
		public function testBasicMethod() {         }//end testBasicMethod()
		/**
		 * Test a private static method.
		 *
		 * @return void
		 */
		public function testPrivateStaticMethod() {         }//end testPrivateStaticMethod()
		/**
		 * Test a basic final method.
		 *
		 * @return void
		 */
		public function testFinalMethod() {         }//end testFinalMethod()
		/**
		 * Test a protected method with a return type.
		 *
		 * @return void
		 */
		public function testProtectedReturnMethod() {       }//end testProtectedReturnMethod()
		/**
		 * Test a public method with a return type.
		 *
		 * @return void
		 */
		public function testPublicReturnMethod() {      }//end testPublicReturnMethod()
		/**
		 * Test a public method with a nullable return type.
		 *
		 * @return void
		 */
		public function testNullableReturnMethod() {        }//end testNullableReturnMethod()
		/**
		 * Test a public method with a nullable return type.
		 *
		 * @return void
		 */
		public function testMessyNullableReturnMethod() {       }//end testMessyNullableReturnMethod()
		/**
		 * Test a method with a namespaced return type.
		 *
		 * @return void
		 */
		public function testReturnNamespace() {         }//end testReturnNamespace()
		/**
		 * Test a method with a messy namespaces return type.
		 *
		 * @return void
		 */
		public function testReturnMultilineNamespace() {        }//end testReturnMultilineNamespace()
		/**
		 * Test a basic abstract method.
		 *
		 * @return void
		 */
		public function testAbstractMethod() {      }//end testAbstractMethod()
		/**
		 * Test an abstract method with a return type.
		 *
		 * @return void
		 */
		public function testAbstractReturnMethod() {        }//end testAbstractReturnMethod()
		/**
		 * Test a basic interface method.
		 *
		 * @return void
		 */
		public function testInterfaceMethod() {         }//end testInterfaceMethod()
		/**
		 * Test a static arrow function.
		 *
		 * @return void
		 */
		public function testArrowFunction() {       }//end testArrowFunction()
		/**
		 * Test a function with return type "static".
		 *
		 * @return void
		 */
		public function testReturnTypeStatic() {        }//end testReturnTypeStatic()
		/**
		 * Test a function with return type "mixed".
		 *
		 * @return void
		 */
		public function testPHP8MixedTypeHint() {       }//end testPHP8MixedTypeHint()
		/**
		 * Test a function with return type "mixed" and nullability.
		 *
		 * @return void
		 */
		public function testPHP8MixedTypeHintNullable() {       }//end testPHP8MixedTypeHintNullable()
		/**
		 * Test a function with return type using the namespace operator.
		 *
		 * @return void
		 */
		public function testNamespaceOperatorTypeHint() {       }//end testNamespaceOperatorTypeHint()
		/**
		 * Verify recognition of PHP8 union type declaration.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesSimple() {        }//end testPHP8UnionTypesSimple()
		/**
		 * Verify recognition of PHP8 union type declaration with two classes.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesTwoClasses() {        }//end testPHP8UnionTypesTwoClasses()
		/**
		 * Verify recognition of PHP8 union type declaration with all base types.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesAllBaseTypes() {      }//end testPHP8UnionTypesAllBaseTypes()
		/**
		 * Verify recognition of PHP8 union type declaration with all pseudo types.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesAllPseudoTypes() {        }//end testPHP8UnionTypesAllPseudoTypes()
		/**
		 * Verify recognition of PHP8 union type declaration with (illegal) nullability.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesNullable() {      }//end testPHP8UnionTypesNullable()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) single type null.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeNull() {      }//end testPHP8PseudoTypeNull()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) single type false.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeFalse() {         }//end testPHP8PseudoTypeFalse()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type false combined with type bool.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeFalseAndBool() {      }//end testPHP8PseudoTypeFalseAndBool()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type object combined with a class name.
		 *
		 * @return void
		 */
		public function testPHP8ObjectAndClass() {      }//end testPHP8ObjectAndClass()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type iterable combined with array/Traversable.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeIterableAndArray() {      }//end testPHP8PseudoTypeIterableAndArray()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) duplicate types.
		 *
		 * @return void
		 */
		public function testPHP8DuplicateTypeInUnionWhitespaceAndComment() {        }
		// end getMethodPropertiesTestHelper()
	}
	class FindStartOfStatementTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test a simple assignment.
		 *
		 * @return void
		 */
		public function testSimpleAssignment() {        }//end testSimpleAssignment()
		/**
		 * Test a function call.
		 *
		 * @return void
		 */
		public function testFunctionCall() {        }//end testFunctionCall()
		/**
		 * Test a function call.
		 *
		 * @return void
		 */
		public function testFunctionCallArgument() {        }//end testFunctionCallArgument()
		/**
		 * Test a direct call to a control structure.
		 *
		 * @return void
		 */
		public function testControlStructure() {        }//end testControlStructure()
		/**
		 * Test the assignment of a closure.
		 *
		 * @return void
		 */
		public function testClosureAssignment() {       }//end testClosureAssignment()
		/**
		 * Test using a heredoc in a function argument.
		 *
		 * @return void
		 */
		public function testHeredocFunctionArg() {      }//end testHeredocFunctionArg()
		/**
		 * Test parts of a switch statement.
		 *
		 * @return void
		 */
		public function testSwitch() {      }//end testSwitch()
		/**
		 * Test statements that are array values.
		 *
		 * @return void
		 */
		public function testStatementAsArrayValue() {       }//end testStatementAsArrayValue()
		/**
		 * Test a use group.
		 *
		 * @return void
		 */
		public function testUseGroup() {        }//end testUseGroup()
		/**
		 * Test arrow function as array value.
		 *
		 * @return void
		 */
		public function testArrowFunctionArrayValue() {         }//end testArrowFunctionArrayValue()
		/**
		 * Test static arrow function.
		 *
		 * @return void
		 */
		public function testStaticArrowFunction() {         }//end testStaticArrowFunction()
		/**
		 * Test arrow function with return value.
		 *
		 * @return void
		 */
		public function testArrowFunctionReturnValue() {        }//end testArrowFunctionReturnValue()
		/**
		 * Test arrow function used as a function argument.
		 *
		 * @return void
		 */
		public function testArrowFunctionAsArgument() {         }//end testArrowFunctionAsArgument()
		/**
		 * Test arrow function with arrays used as a function argument.
		 *
		 * @return void
		 */
		public function testArrowFunctionWithArrayAsArgument() {        }//end testArrowFunctionWithArrayAsArgument()
		/**
		 * Test simple match expression case.
		 *
		 * @return void
		 */
		public function testMatchCase() {       }//end testMatchCase()
		/**
		 * Test simple match expression default case.
		 *
		 * @return void
		 */
		public function testMatchDefault() {        }//end testMatchDefault()
		/**
		 * Test multiple comma-separated match expression case values.
		 *
		 * @return void
		 */
		public function testMatchMultipleCase() {       }//end testMatchMultipleCase()
		/**
		 * Test match expression default case with trailing comma.
		 *
		 * @return void
		 */
		public function testMatchDefaultComma() {       }//end testMatchDefaultComma()
		/**
		 * Test match expression with function call.
		 *
		 * @return void
		 */
		public function testMatchFunctionCall() {       }//end testMatchFunctionCall()
		/**
		 * Test match expression with function call in the arm.
		 *
		 * @return void
		 */
		public function testMatchFunctionCallArm() {        }//end testMatchFunctionCallArm()
		/**
		 * Test match expression with closure.
		 *
		 * @return void
		 */
		public function testMatchClosure() {        }//end testMatchClosure()
		/**
		 * Test match expression with array declaration.
		 *
		 * @return void
		 */
		public function testMatchArray() {      }//end testMatchArray()
		/**
		 * Test nested match expressions.
		 *
		 * @return void
		 */
		public function testNestedMatch() {         }//end testNestedMatch()
	}
	class GetMethodParametersTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Verify pass-by-reference parsing.
		 *
		 * @return void
		 */
		public function testPassByReference() {         }//end testPassByReference()
		/**
		 * Verify array hint parsing.
		 *
		 * @return void
		 */
		public function testArrayHint() {       }//end testArrayHint()
		/**
		 * Verify type hint parsing.
		 *
		 * @return void
		 */
		public function testTypeHint() {        }//end testTypeHint()
		/**
		 * Verify self type hint parsing.
		 *
		 * @return void
		 */
		public function testSelfTypeHint() {        }//end testSelfTypeHint()
		/**
		 * Verify nullable type hint parsing.
		 *
		 * @return void
		 */
		public function testNullableTypeHint() {        }//end testNullableTypeHint()
		/**
		 * Verify variable.
		 *
		 * @return void
		 */
		public function testVariable() {        }//end testVariable()
		/**
		 * Verify default value parsing with a single function param.
		 *
		 * @return void
		 */
		public function testSingleDefaultValue() {      }//end testSingleDefaultValue()
		/**
		 * Verify default value parsing.
		 *
		 * @return void
		 */
		public function testDefaultValues() {       }//end testDefaultValues()
		/**
		 * Verify "bitwise and" in default value !== pass-by-reference.
		 *
		 * @return void
		 */
		public function testBitwiseAndConstantExpressionDefaultValue() {        }//end testBitwiseAndConstantExpressionDefaultValue()
		/**
		 * Verify that arrow functions are supported.
		 *
		 * @return void
		 */
		public function testArrowFunction() {       }//end testArrowFunction()
		/**
		 * Verify recognition of PHP8 mixed type declaration.
		 *
		 * @return void
		 */
		public function testPHP8MixedTypeHint() {       }//end testPHP8MixedTypeHint()
		/**
		 * Verify recognition of PHP8 mixed type declaration with nullability.
		 *
		 * @return void
		 */
		public function testPHP8MixedTypeHintNullable() {       }//end testPHP8MixedTypeHintNullable()
		/**
		 * Verify recognition of type declarations using the namespace operator.
		 *
		 * @return void
		 */
		public function testNamespaceOperatorTypeHint() {       }//end testNamespaceOperatorTypeHint()
		/**
		 * Verify recognition of PHP8 union type declaration.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesSimple() {        }//end testPHP8UnionTypesSimple()
		/**
		 * Verify recognition of PHP8 union type declaration when the variable has either a spread operator or a reference.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesWithSpreadOperatorAndReference() {        }//end testPHP8UnionTypesWithSpreadOperatorAndReference()
		/**
		 * Verify recognition of PHP8 union type declaration with a bitwise or in the default value.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesSimpleWithBitwiseOrInDefault() {      }//end testPHP8UnionTypesSimpleWithBitwiseOrInDefault()
		/**
		 * Verify recognition of PHP8 union type declaration with two classes.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesTwoClasses() {        }//end testPHP8UnionTypesTwoClasses()
		/**
		 * Verify recognition of PHP8 union type declaration with all base types.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesAllBaseTypes() {      }//end testPHP8UnionTypesAllBaseTypes()
		/**
		 * Verify recognition of PHP8 union type declaration with all pseudo types.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesAllPseudoTypes() {        }//end testPHP8UnionTypesAllPseudoTypes()
		/**
		 * Verify recognition of PHP8 union type declaration with (illegal) nullability.
		 *
		 * @return void
		 */
		public function testPHP8UnionTypesNullable() {      }//end testPHP8UnionTypesNullable()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) single type null.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeNull() {      }//end testPHP8PseudoTypeNull()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) single type false.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeFalse() {         }//end testPHP8PseudoTypeFalse()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type false combined with type bool.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeFalseAndBool() {      }//end testPHP8PseudoTypeFalseAndBool()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type object combined with a class name.
		 *
		 * @return void
		 */
		public function testPHP8ObjectAndClass() {      }//end testPHP8ObjectAndClass()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) type iterable combined with array/Traversable.
		 *
		 * @return void
		 */
		public function testPHP8PseudoTypeIterableAndArray() {      }//end testPHP8PseudoTypeIterableAndArray()
		/**
		 * Verify recognition of PHP8 type declaration with (illegal) duplicate types.
		 *
		 * @return void
		 */
		public function testPHP8DuplicateTypeInUnionWhitespaceAndComment() {        }//end testPHP8DuplicateTypeInUnionWhitespaceAndComment()
		/**
		 * Verify recognition of PHP8 constructor property promotion without type declaration, with defaults.
		 *
		 * @return void
		 */
		public function testPHP8ConstructorPropertyPromotionNoTypes() {         }//end testPHP8ConstructorPropertyPromotionNoTypes()
		/**
		 * Verify recognition of PHP8 constructor property promotion with type declarations.
		 *
		 * @return void
		 */
		public function testPHP8ConstructorPropertyPromotionWithTypes() {       }//end testPHP8ConstructorPropertyPromotionWithTypes()
		/**
		 * Verify recognition of PHP8 constructor with both property promotion as well as normal parameters.
		 *
		 * @return void
		 */
		public function testPHP8ConstructorPropertyPromotionAndNormalParam() {      }//end testPHP8ConstructorPropertyPromotionAndNormalParam()
		/**
		 * Verify behaviour when a non-constructor function uses PHP 8 property promotion syntax.
		 *
		 * @return void
		 */
		public function testPHP8ConstructorPropertyPromotionGlobalFunction() {      }//end testPHP8ConstructorPropertyPromotionGlobalFunction()
		/**
		 * Verify behaviour when an abstract constructor uses PHP 8 property promotion syntax.
		 *
		 * @return void
		 */
		public function testPHP8ConstructorPropertyPromotionAbstractMethod() {      }
		// end getMethodParametersTestHelper()
	}
}

namespace PHP_CodeSniffer\Tests\Core\Tokenizer {
	class StableCommentWhitespaceTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that comment tokenization with new lines at the end of the comment is stable.
		 *
		 * @param string $testMarker     The comment prefacing the test.
		 * @param array  $expectedTokens The tokenization expected.
		 *
		 * @dataProvider dataCommentTokenization
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testCommentTokenization( $testMarker, $expectedTokens ) {       }//end testCommentTokenization()
		/**
		 * Data provider.
		 *
		 * @see testCommentTokenization()
		 *
		 * @return array
		 */
		public function dataCommentTokenization() {         }//end dataCommentTokenization()
	}
	class BitwiseOrTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that non-union type bitwise or tokens are still tokenized as bitwise or.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataBitwiseOr
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testBitwiseOr( $testMarker ) {      }//end testBitwiseOr()
		/**
		 * Data provider.
		 *
		 * @see testBitwiseOr()
		 *
		 * @return array
		 */
		public function dataBitwiseOr() {       }//end dataBitwiseOr()
		/**
		 * Test that bitwise or tokens when used as part of a union type are tokenized as `T_TYPE_UNION`.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataTypeUnion
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testTypeUnion( $testMarker ) {      }//end testTypeUnion()
		/**
		 * Data provider.
		 *
		 * @see testTypeUnion()
		 *
		 * @return array
		 */
		public function dataTypeUnion() {       }//end dataTypeUnion()
	}
	class NullsafeObjectOperatorTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Tokens to search for.
		 *
		 * @var array
		 */
		protected $find = array( T_NULLSAFE_OBJECT_OPERATOR, T_OBJECT_OPERATOR, T_INLINE_THEN );
		/**
		 * Test that a normal object operator is still tokenized as such.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testObjectOperator() {      }//end testObjectOperator()
		/**
		 * Test that a nullsafe object operator is tokenized as such.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataNullsafeObjectOperator
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testNullsafeObjectOperator( $testMarker ) {         }//end testNullsafeObjectOperator()
		/**
		 * Data provider.
		 *
		 * @see testNullsafeObjectOperator()
		 *
		 * @return array
		 */
		public function dataNullsafeObjectOperator() {      }//end dataNullsafeObjectOperator()
		/**
		 * Test that a question mark not followed by an object operator is tokenized as T_TERNARY_THEN.
		 *
		 * @param string $testMarker         The comment which prefaces the target token in the test file.
		 * @param bool   $testObjectOperator Whether to test for the next non-empty token being tokenized
		 *                                   as an object operator.
		 *
		 * @dataProvider dataTernaryThen
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testTernaryThen( $testMarker, $testObjectOperator = false ) {       }//end testTernaryThen()
		/**
		 * Data provider.
		 *
		 * @see testTernaryThen()
		 *
		 * @return array
		 */
		public function dataTernaryThen() {         }//end dataTernaryThen()
	}
	class StableCommentWhitespaceWinTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that comment tokenization with new lines at the end of the comment is stable.
		 *
		 * @param string $testMarker     The comment prefacing the test.
		 * @param array  $expectedTokens The tokenization expected.
		 *
		 * @dataProvider dataCommentTokenization
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testCommentTokenization( $testMarker, $expectedTokens ) {       }//end testCommentTokenization()
		/**
		 * Data provider.
		 *
		 * @see testCommentTokenization()
		 *
		 * @return array
		 */
		public function dataCommentTokenization() {         }//end dataCommentTokenization()
	}
	class GotoLabelTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Verify that the label in a goto statement is tokenized as T_STRING.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to expect.
		 *
		 * @dataProvider dataGotoStatement
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testGotoStatement( $testMarker, $testContent ) {        }//end testGotoStatement()
		/**
		 * Data provider.
		 *
		 * @see testGotoStatement()
		 *
		 * @return array
		 */
		public function dataGotoStatement() {       }//end dataGotoStatement()
		/**
		 * Verify that the label in a goto declaration is tokenized as T_GOTO_LABEL.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to expect.
		 *
		 * @dataProvider dataGotoDeclaration
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testGotoDeclaration( $testMarker, $testContent ) {      }//end testGotoDeclaration()
		/**
		 * Data provider.
		 *
		 * @see testGotoDeclaration()
		 *
		 * @return array
		 */
		public function dataGotoDeclaration() {         }//end dataGotoDeclaration()
		/**
		 * Verify that the constant used in a switch - case statement is not confused with a goto label.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to expect.
		 *
		 * @dataProvider dataNotAGotoDeclaration
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testNotAGotoDeclaration( $testMarker, $testContent ) {      }//end testNotAGotoDeclaration()
		/**
		 * Data provider.
		 *
		 * @see testNotAGotoDeclaration()
		 *
		 * @return array
		 */
		public function dataNotAGotoDeclaration() {         }//end dataNotAGotoDeclaration()
	}
	class AnonClassParenthesisOwnerTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that anonymous class tokens without parenthesis do not get assigned a parenthesis owner.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataAnonClassNoParentheses
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testAnonClassNoParentheses( $testMarker ) {         }//end testAnonClassNoParentheses()
		/**
		 * Test that the next open/close parenthesis after an anonymous class without parenthesis
		 * do not get assigned the anonymous class as a parenthesis owner.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataAnonClassNoParentheses
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testAnonClassNoParenthesesNextOpenClose( $testMarker ) {        }//end testAnonClassNoParenthesesNextOpenClose()
		/**
		 * Data provider.
		 *
		 * @see testAnonClassNoParentheses()
		 * @see testAnonClassNoParenthesesNextOpenClose()
		 *
		 * @return array
		 */
		public function dataAnonClassNoParentheses() {      }//end dataAnonClassNoParentheses()
		/**
		 * Test that anonymous class tokens with parenthesis get assigned a parenthesis owner,
		 * opener and closer; and that the opener/closer get the anonymous class assigned as owner.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataAnonClassWithParentheses
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testAnonClassWithParentheses( $testMarker ) {       }//end testAnonClassWithParentheses()
		/**
		 * Data provider.
		 *
		 * @see testAnonClassWithParentheses()
		 *
		 * @return array
		 */
		public function dataAnonClassWithParentheses() {        }//end dataAnonClassWithParentheses()
	}
	class DefaultKeywordTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test the retokenization of the `default` keyword for match structure to `T_MATCH_DEFAULT`.
		 *
		 * Note: Cases and default structures within a match structure do *NOT* get case/default scope
		 * conditions, in contrast to case and default structures in switch control structures.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to look for.
		 *
		 * @dataProvider dataMatchDefault
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers       PHP_CodeSniffer\Tokenizers\Tokenizer::recurseScopeMap
		 *
		 * @return void
		 */
		public function testMatchDefault( $testMarker, $testContent = 'default' ) {         }//end testMatchDefault()
		/**
		 * Data provider.
		 *
		 * @see testMatchDefault()
		 *
		 * @return array
		 */
		public function dataMatchDefault() {        }//end dataMatchDefault()
		/**
		 * Verify that the retokenization of `T_DEFAULT` tokens in match constructs, doesn't negatively
		 * impact the tokenization of `T_DEFAULT` tokens in switch control structures.
		 *
		 * Note: Cases and default structures within a switch control structure *do* get case/default scope
		 * conditions.
		 *
		 * @param string   $testMarker    The comment prefacing the target token.
		 * @param int      $openerOffset  The expected offset of the scope opener in relation to the testMarker.
		 * @param int      $closerOffset  The expected offset of the scope closer in relation to the testMarker.
		 * @param int|null $conditionStop The expected offset at which tokens stop having T_DEFAULT as a scope condition.
		 * @param string   $testContent   The token content to look for.
		 *
		 * @dataProvider dataSwitchDefault
		 * @covers       PHP_CodeSniffer\Tokenizers\Tokenizer::recurseScopeMap
		 *
		 * @return void
		 */
		public function testSwitchDefault( $testMarker, $openerOffset, $closerOffset, $conditionStop = null, $testContent = 'default' ) {       }//end testSwitchDefault()
		/**
		 * Data provider.
		 *
		 * @see testSwitchDefault()
		 *
		 * @return array
		 */
		public function dataSwitchDefault() {       }//end dataSwitchDefault()
		/**
		 * Verify that the retokenization of `T_DEFAULT` tokens in match constructs, doesn't negatively
		 * impact the tokenization of `T_STRING` tokens with the contents 'default' which aren't in
		 * actual fact the default keyword.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to look for.
		 *
		 * @dataProvider dataNotDefaultKeyword
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNotDefaultKeyword( $testMarker, $testContent = 'DEFAULT' ) {        }//end testNotDefaultKeyword()
		/**
		 * Data provider.
		 *
		 * @see testNotDefaultKeyword()
		 *
		 * @return array
		 */
		public function dataNotDefaultKeyword() {       }//end dataNotDefaultKeyword()
	}
	class AttributesTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that attributes are parsed correctly.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 * @param int    $length     The number of tokens between opener and closer.
		 * @param array  $tokenCodes The codes of tokens inside the attributes.
		 *
		 * @dataProvider dataAttribute
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testAttribute( $testMarker, $length, $tokenCodes ) {        }//end testAttribute()
		/**
		 * Data provider.
		 *
		 * @see testAttribute()
		 *
		 * @return array
		 */
		public function dataAttribute() {       }//end dataAttribute()
		/**
		 * Test that multiple attributes on the same line are parsed correctly.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testTwoAttributesOnTheSameLine() {      }//end testTwoAttributesOnTheSameLine()
		/**
		 * Test that attribute followed by a line comment is parsed correctly.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testAttributeAndLineComment() {         }//end testAttributeAndLineComment()
		/**
		 * Test that attribute followed by a line comment is parsed correctly.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 * @param int    $position   The token position (starting from T_FUNCTION) of T_ATTRIBUTE token.
		 * @param int    $length     The number of tokens between opener and closer.
		 * @param array  $tokenCodes The codes of tokens inside the attributes.
		 *
		 * @dataProvider dataAttributeOnParameters
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testAttributeOnParameters( $testMarker, $position, $length, array $tokenCodes ) {       }//end testAttributeOnParameters()
		/**
		 * Data provider.
		 *
		 * @see testAttributeOnParameters()
		 *
		 * @return array
		 */
		public function dataAttributeOnParameters() {       }//end dataAttributeOnParameters()
		/**
		 * Test that invalid attribute (or comment starting with #[ and without ]) are parsed correctly.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testInvalidAttribute() {        }//end testInvalidAttribute()
		/**
		 * Test that nested attributes are parsed correctly.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::findCloser
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::parsePhpAttribute
		 *
		 * @return void
		 */
		public function testNestedAttributes() {        }//end testNestedAttributes()
	}
	class UndoNamespacedNameSingleTokenTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that identifier names are tokenized the same across PHP versions, based on the PHP 5/7 tokenization.
		 *
		 * @param string $testMarker     The comment prefacing the test.
		 * @param array  $expectedTokens The tokenization expected.
		 *
		 * @dataProvider dataIdentifierTokenization
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testIdentifierTokenization( $testMarker, $expectedTokens ) {        }//end testIdentifierTokenization()
		/**
		 * Data provider.
		 *
		 * @see testIdentifierTokenization()
		 *
		 * @return array
		 */
		public function dataIdentifierTokenization() {      }//end dataIdentifierTokenization()
	}
	class BackfillNumericSeparatorTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that numbers using numeric separators are tokenized correctly.
		 *
		 * @param array $testData The data required for the specific test case.
		 *
		 * @dataProvider dataTestBackfill
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testBackfill( $testData ) {         }//end testBackfill()
		/**
		 * Data provider.
		 *
		 * @see testBackfill()
		 *
		 * @return array
		 */
		public function dataTestBackfill() {        }//end dataTestBackfill()
		/**
		 * Test that numbers using numeric separators which are considered parse errors and/or
		 * which aren't relevant to the backfill, do not incorrectly trigger the backfill anyway.
		 *
		 * @param string $testMarker     The comment which prefaces the target token in the test file.
		 * @param array  $expectedTokens The token type and content of the expected token sequence.
		 *
		 * @dataProvider dataNoBackfill
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testNoBackfill( $testMarker, $expectedTokens ) {        }//end testNoBackfill()
		/**
		 * Data provider.
		 *
		 * @see testBackfill()
		 *
		 * @return array
		 */
		public function dataNoBackfill() {      }//end dataNoBackfill()
	}
	class BackfillMatchTokenTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test tokenization of match expressions.
		 *
		 * @param string $testMarker   The comment prefacing the target token.
		 * @param int    $openerOffset The expected offset of the scope opener in relation to the testMarker.
		 * @param int    $closerOffset The expected offset of the scope closer in relation to the testMarker.
		 * @param string $testContent  The token content to look for.
		 *
		 * @dataProvider dataMatchExpression
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testMatchExpression( $testMarker, $openerOffset, $closerOffset, $testContent = 'match' ) {      }//end testMatchExpression()
		/**
		 * Data provider.
		 *
		 * @see testMatchExpression()
		 *
		 * @return array
		 */
		public function dataMatchExpression() {         }//end dataMatchExpression()
		/**
		 * Verify that "match" keywords which are not match control structures get tokenized as T_STRING
		 * and don't have the extra token array indexes.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to look for.
		 *
		 * @dataProvider dataNotAMatchStructure
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNotAMatchStructure( $testMarker, $testContent = 'match' ) {         }//end testNotAMatchStructure()
		/**
		 * Data provider.
		 *
		 * @see testNotAMatchStructure()
		 *
		 * @return array
		 */
		public function dataNotAMatchStructure() {      }//end dataNotAMatchStructure()
		/**
		 * Verify that the tokenization of switch structures is not affected by the backfill.
		 *
		 * @param string $testMarker   The comment prefacing the target token.
		 * @param int    $openerOffset The expected offset of the scope opener in relation to the testMarker.
		 * @param int    $closerOffset The expected offset of the scope closer in relation to the testMarker.
		 *
		 * @dataProvider dataSwitchExpression
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testSwitchExpression( $testMarker, $openerOffset, $closerOffset ) {         }//end testSwitchExpression()
		/**
		 * Data provider.
		 *
		 * @see testSwitchExpression()
		 *
		 * @return array
		 */
		public function dataSwitchExpression() {        }//end dataSwitchExpression()
		/**
		 * Verify that the tokenization of a switch case/default structure containing a match structure
		 * or contained *in* a match structure is not affected by the backfill.
		 *
		 * @param string $testMarker   The comment prefacing the target token.
		 * @param int    $openerOffset The expected offset of the scope opener in relation to the testMarker.
		 * @param int    $closerOffset The expected offset of the scope closer in relation to the testMarker.
		 *
		 * @dataProvider dataSwitchCaseVersusMatch
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testSwitchCaseVersusMatch( $testMarker, $openerOffset, $closerOffset ) {        }//end testSwitchCaseVersusMatch()
		/**
		 * Data provider.
		 *
		 * @see testSwitchCaseVersusMatch()
		 *
		 * @return array
		 */
		public function dataSwitchCaseVersusMatch() {       }
		// end parenthesisTestHelper()
	}
	class BackfillFnTokenTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test simple arrow functions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testSimple() {      }//end testSimple()
		/**
		 * Test whitespace inside arrow function definitions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testWhitespace() {      }//end testWhitespace()
		/**
		 * Test comments inside arrow function definitions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testComment() {         }//end testComment()
		/**
		 * Test heredocs inside arrow function definitions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testHeredoc() {         }//end testHeredoc()
		/**
		 * Test nested arrow functions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNestedOuter() {         }//end testNestedOuter()
		/**
		 * Test nested arrow functions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNestedInner() {         }//end testNestedInner()
		/**
		 * Test arrow functions that call functions.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testFunctionCall() {        }//end testFunctionCall()
		/**
		 * Test arrow functions that are included in chained calls.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testChainedFunctionCall() {         }//end testChainedFunctionCall()
		/**
		 * Test arrow functions that are used as function arguments.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testFunctionArgument() {        }//end testFunctionArgument()
		/**
		 * Test arrow functions that use closures.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testClosure() {         }//end testClosure()
		/**
		 * Test arrow functions using an array index.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testArrayIndex() {      }//end testArrayIndex()
		/**
		 * Test arrow functions with a return type.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testReturnType() {      }//end testReturnType()
		/**
		 * Test arrow functions that return a reference.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testReference() {       }//end testReference()
		/**
		 * Test arrow functions that are grouped by parenthesis.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testGrouped() {         }//end testGrouped()
		/**
		 * Test arrow functions that are used as array values.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testArrayValue() {      }//end testArrayValue()
		/**
		 * Test arrow functions that use the yield keyword.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testYield() {       }//end testYield()
		/**
		 * Test arrow functions that use nullable namespace types.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNullableNamespace() {       }//end testNullableNamespace()
		/**
		 * Test arrow functions that use the namespace operator in the return type.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNamespaceOperatorInTypes() {        }//end testNamespaceOperatorInTypes()
		/**
		 * Test arrow functions that use self/parent/callable/array/static return types.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testKeywordReturnTypes() {      }//end testKeywordReturnTypes()
		/**
		 * Test arrow function with a union parameter type.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testUnionParamType() {      }//end testUnionParamType()
		/**
		 * Test arrow function with a union return type.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testUnionReturnType() {         }//end testUnionReturnType()
		/**
		 * Test arrow functions used in ternary operators.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testTernary() {         }//end testTernary()
		/**
		 * Test arrow function returning a match control structure.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testWithMatchValue() {      }//end testWithMatchValue()
		/**
		 * Test arrow function returning a match control structure with something behind it.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testWithMatchValueAndMore() {       }//end testWithMatchValueAndMore()
		/**
		 * Test match control structure returning arrow functions.
		 *
		 * @param string $testMarker                 The comment prefacing the target token.
		 * @param int    $openerOffset               The expected offset of the scope opener in relation to the testMarker.
		 * @param int    $closerOffset               The expected offset of the scope closer in relation to the testMarker.
		 * @param string $expectedCloserType         The type of token expected for the scope closer.
		 * @param string $expectedCloserFriendlyName A friendly name for the type of token expected for the scope closer
		 *                                           to be used in the error message for failing tests.
		 *
		 * @dataProvider dataInMatchValue
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testInMatchValue( $testMarker, $openerOffset, $closerOffset, $expectedCloserType, $expectedCloserFriendlyName ) {       }//end testInMatchValue()
		/**
		 * Data provider.
		 *
		 * @see testInMatchValue()
		 *
		 * @return array
		 */
		public function dataInMatchValue() {        }//end dataInMatchValue()
		/**
		 * Test arrow function nested within a method declaration.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNestedInMethod() {      }//end testNestedInMethod()
		/**
		 * Verify that "fn" keywords which are not arrow functions get tokenized as T_STRING and don't
		 * have the extra token array indexes.
		 *
		 * @param string $testMarker  The comment prefacing the target token.
		 * @param string $testContent The token content to look for.
		 *
		 * @dataProvider dataNotAnArrowFunction
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testNotAnArrowFunction( $testMarker, $testContent = 'fn' ) {        }//end testNotAnArrowFunction()
		/**
		 * Data provider.
		 *
		 * @see testNotAnArrowFunction()
		 *
		 * @return array
		 */
		public function dataNotAnArrowFunction() {      }
		// end scopePositionTestHelper()
	}
	class ShortArrayTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that real square brackets are still tokenized as square brackets.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataSquareBrackets
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testSquareBrackets( $testMarker ) {         }//end testSquareBrackets()
		/**
		 * Data provider.
		 *
		 * @see testSquareBrackets()
		 *
		 * @return array
		 */
		public function dataSquareBrackets() {      }//end dataSquareBrackets()
		/**
		 * Test that short arrays and short lists are still tokenized as short arrays.
		 *
		 * @param string $testMarker The comment which prefaces the target token in the test file.
		 *
		 * @dataProvider dataShortArrays
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testShortArrays( $testMarker ) {        }//end testShortArrays()
		/**
		 * Data provider.
		 *
		 * @see testShortArrays()
		 *
		 * @return array
		 */
		public function dataShortArrays() {         }//end dataShortArrays()
	}
	class NamedFunctionCallArgumentsTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Verify that parameter labels are tokenized as T_PARAM_NAME and that
		 * the colon after it is tokenized as a T_COLON.
		 *
		 * @param string $testMarker The comment prefacing the target token.
		 * @param array  $parameters The token content for each parameter label to look for.
		 *
		 * @dataProvider dataNamedFunctionCallArguments
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testNamedFunctionCallArguments( $testMarker, $parameters ) {        }//end testNamedFunctionCallArguments()
		/**
		 * Data provider.
		 *
		 * @see testNamedFunctionCallArguments()
		 *
		 * @return array
		 */
		public function dataNamedFunctionCallArguments() {      }//end dataNamedFunctionCallArguments()
		/**
		 * Verify that other T_STRING tokens within a function call are still tokenized as T_STRING.
		 *
		 * @param string $testMarker The comment prefacing the target token.
		 * @param string $content    The token content to look for.
		 *
		 * @dataProvider dataOtherTstringInFunctionCall
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testOtherTstringInFunctionCall( $testMarker, $content ) {       }//end testOtherTstringInFunctionCall()
		/**
		 * Data provider.
		 *
		 * @see testOtherTstringInFunctionCall()
		 *
		 * @return array
		 */
		public function dataOtherTstringInFunctionCall() {      }//end dataOtherTstringInFunctionCall()
		/**
		 * Verify whether the colons are tokenized correctly when a ternary is used in a mixed
		 * positional and named arguments function call.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testMixedPositionalAndNamedArgsWithTernary() {      }//end testMixedPositionalAndNamedArgsWithTernary()
		/**
		 * Verify whether the colons are tokenized correctly when a ternary is used
		 * in a named arguments function call.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testNamedArgWithTernary() {         }//end testNamedArgWithTernary()
		/**
		 * Verify whether the colons are tokenized correctly when named arguments
		 * function calls are used in a ternary.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testTernaryWithFunctionCallsInThenElse() {      }//end testTernaryWithFunctionCallsInThenElse()
		/**
		 * Verify whether the colons are tokenized correctly when constants are used in a ternary.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testTernaryWithConstantsInThenElse() {      }//end testTernaryWithConstantsInThenElse()
		/**
		 * Verify whether the colons are tokenized correctly in a switch statement.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testSwitchStatement() {         }//end testSwitchStatement()
		/**
		 * Verify that a variable parameter label (parse error) is still tokenized as T_VARIABLE.
		 *
		 * @covers PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testParseErrorVariableLabel() {         }//end testParseErrorVariableLabel()
		/**
		 * Verify that reserved keywords used as a parameter label are tokenized as T_PARAM_NAME
		 * and that the colon after it is tokenized as a T_COLON.
		 *
		 * @param string $testMarker   The comment prefacing the target token.
		 * @param array  $tokenTypes   The token codes to look for.
		 * @param string $tokenContent The token content to look for.
		 *
		 * @dataProvider dataReservedKeywordsAsName
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::tokenize
		 *
		 * @return void
		 */
		public function testReservedKeywordsAsName( $testMarker, $tokenTypes, $tokenContent ) {         }//end testReservedKeywordsAsName()
		/**
		 * Data provider.
		 *
		 * @see testReservedKeywordsAsName()
		 *
		 * @return array
		 */
		public function dataReservedKeywordsAsName() {      }//end dataReservedKeywordsAsName()
	}
	class ScopeSettingWithNamespaceOperatorTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that the scope opener/closers are set correctly when the namespace keyword is encountered as an operator.
		 *
		 * @param string       $testMarker The comment which prefaces the target tokens in the test file.
		 * @param int|string[] $tokenTypes The token type to search for.
		 * @param int|string[] $open       Optional. The token type for the scope opener.
		 * @param int|string[] $close      Optional. The token type for the scope closer.
		 *
		 * @dataProvider dataScopeSetting
		 * @covers       PHP_CodeSniffer\Tokenizers\Tokenizer::recurseScopeMap
		 *
		 * @return void
		 */
		public function testScopeSetting( $testMarker, $tokenTypes, $open = T_OPEN_CURLY_BRACKET, $close = T_CLOSE_CURLY_BRACKET ) {        }//end testScopeSetting()
		/**
		 * Data provider.
		 *
		 * @see testScopeSetting()
		 *
		 * @return array
		 */
		public function dataScopeSetting() {        }//end dataScopeSetting()
	}
	class DoubleArrowTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * Test that "normal" double arrows are correctly tokenized as `T_DOUBLE_ARROW`.
		 *
		 * @param string $testMarker The comment prefacing the target token.
		 *
		 * @dataProvider  dataDoubleArrow
		 * @coversNothing
		 *
		 * @return void
		 */
		public function testDoubleArrow( $testMarker ) {        }//end testDoubleArrow()
		/**
		 * Data provider.
		 *
		 * @see testDoubleArrow()
		 *
		 * @return array
		 */
		public function dataDoubleArrow() {         }//end dataDoubleArrow()
		/**
		 * Test that double arrows in match expressions which are the demarkation between a case and the return value
		 * are correctly tokenized as `T_MATCH_ARROW`.
		 *
		 * @param string $testMarker The comment prefacing the target token.
		 *
		 * @dataProvider dataMatchArrow
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testMatchArrow( $testMarker ) {         }//end testMatchArrow()
		/**
		 * Data provider.
		 *
		 * @see testMatchArrow()
		 *
		 * @return array
		 */
		public function dataMatchArrow() {      }//end dataMatchArrow()
		/**
		 * Test that double arrows used as the scope opener for an arrow function
		 * are correctly tokenized as `T_FN_ARROW`.
		 *
		 * @param string $testMarker The comment prefacing the target token.
		 *
		 * @dataProvider dataFnArrow
		 * @covers       PHP_CodeSniffer\Tokenizers\PHP::processAdditional
		 *
		 * @return void
		 */
		public function testFnArrow( $testMarker ) {        }//end testFnArrow()
		/**
		 * Data provider.
		 *
		 * @see testFnArrow()
		 *
		 * @return array
		 */
		public function dataFnArrow() {         }//end dataFnArrow()
	}
}

namespace PHP_CodeSniffer\Tests\Core {
	class IsCamelCapsTest extends \PHPUnit\Framework\TestCase {

		/**
		 * Test valid public function/method names.
		 *
		 * @return void
		 */
		public function testValidNotClassFormatPublic() {       }//end testValidNotClassFormatPublic()
		/**
		 * Test invalid public function/method names.
		 *
		 * @return void
		 */
		public function testInvalidNotClassFormatPublic() {         }//end testInvalidNotClassFormatPublic()
		/**
		 * Test valid private method names.
		 *
		 * @return void
		 */
		public function testValidNotClassFormatPrivate() {      }//end testValidNotClassFormatPrivate()
		/**
		 * Test invalid private method names.
		 *
		 * @return void
		 */
		public function testInvalidNotClassFormatPrivate() {        }//end testInvalidNotClassFormatPrivate()
		/**
		 * Test valid class names.
		 *
		 * @return void
		 */
		public function testValidClassFormatPublic() {      }//end testValidClassFormatPublic()
		/**
		 * Test invalid class names.
		 *
		 * @return void
		 */
		public function testInvalidClassFormat() {      }//end testInvalidClassFormat()
		/**
		 * Test invalid class names with the private flag set.
		 *
		 * Note that the private flag is ignored if the class format
		 * flag is set, so these names are all invalid.
		 *
		 * @return void
		 */
		public function testInvalidClassFormatPrivate() {       }//end testInvalidClassFormatPrivate()
	}
}

namespace PHP_CodeSniffer\Tests\Core\Autoloader {
	class DetermineLoadedClassTest extends \PHPUnit\Framework\TestCase {

		/**
		 * Load the test files.
		 *
		 * @return void
		 */
		public static function setUpBeforeClass(): void {
		}//end setUpBeforeClass()
		/**
		 * Test for when class list is ordered.
		 *
		 * @return void
		 */
		public function testOrdered() {         }//end testOrdered()
		/**
		 * Test for when class list is out of order.
		 *
		 * @return void
		 */
		public function testUnordered() {       }//end testUnordered()
	}
}

namespace PHP_CodeSniffer\Sniffs {
	abstract class AbstractArraySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		final public function register() {      }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end getNext()
		/**
		 * Processes a single-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		abstract protected function processSingleLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices);
		/**
		 * Processes a multi-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		abstract protected function processMultiLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices);
	}
}

namespace PHP_CodeSniffer\Tests\Core\Sniffs {
	class AbstractArraySniffTestable extends \PHP_CodeSniffer\Sniffs\AbstractArraySniff {

		/**
		 * The array indicies that were found during processing.
		 *
		 * @var array
		 */
		public $indicies = array();
		/**
		 * Processes a single-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		public function processSingleLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices ) {         }//end processSingleLineArray()
		/**
		 * Processes a multi-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		public function processMultiLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices ) {      }//end processMultiLineArray()
	}
	class AbstractArraySniffTest extends \PHP_CodeSniffer\Tests\Core\AbstractMethodUnitTest {

		/**
		 * The sniff objects we are testing.
		 *
		 * This extends the \PHP_CodeSniffer\Sniffs\AbstractArraySniff class to make the
		 * internal workings of the sniff observable.
		 *
		 * @var \PHP_CodeSniffer\Sniffs\AbstractArraySniffTestable
		 */
		protected static $sniff;
		/**
		 * Initialize & tokenize \PHP_CodeSniffer\Files\File with code from the test case file.
		 *
		 * The test case file for a unit test class has to be in the same directory
		 * directory and use the same file name as the test class, using the .inc extension.
		 *
		 * @return void
		 */
		public static function setUpBeforeClass(): void {
		}//end setUpBeforeClass()
		/**
		 * Test an array of simple values only.
		 *
		 * @return void
		 */
		public function testSimpleValues() {        }//end testSimpleValues()
		/**
		 * Test an array of simple keys and values.
		 *
		 * @return void
		 */
		public function testSimpleKeyValues() {         }//end testSimpleKeyValues()
		/**
		 * Test an array of simple keys and values.
		 *
		 * @return void
		 */
		public function testMissingKeys() {         }//end testMissingKeys()
		/**
		 * Test an array with keys that span multiple tokens.
		 *
		 * @return void
		 */
		public function testMultiTokenKeys() {      }//end testMultiTokenKeys()
		/**
		 * Test an array of simple keys and values.
		 *
		 * @return void
		 */
		public function testMissingKeysCoalesceTernary() {      }//end testMissingKeysCoalesceTernary()
		/**
		 * Test an array of ternary values.
		 *
		 * @return void
		 */
		public function testTernaryValues() {       }//end testTernaryValues()
		/**
		 * Test an array of heredocs.
		 *
		 * @return void
		 */
		public function testHeredocValues() {       }//end testHeredocValues()
		/**
		 * Test an array of with an arrow function as a value.
		 *
		 * @return void
		 */
		public function testArrowFunctionValue() {      }//end testArrowFunctionValue()
	}
}

namespace PHP_CodeSniffer\Tests {
	class FileList {

		/**
		 * The path to the project root directory.
		 *
		 * @var string
		 */
		protected $rootPath;
		/**
		 * Recursive directory iterator.
		 *
		 * @var \DirectoryIterator
		 */
		public $fileIterator;
		/**
		 * Constructor.
		 *
		 * @param string $directory The directory to examine.
		 * @param string $rootPath  Path to the project root.
		 * @param string $filter    PCRE regular expression to filter the file list with.
		 */
		public function __construct( $directory, $rootPath = '', $filter = '' ) {       }//end __construct()
		/**
		 * Retrieve the filtered file list as an array.
		 *
		 * @return array
		 */
		public function getList() {         }//end getList()
	}
}

namespace PHP_CodeSniffer\Tests\Standards {
	class AllSniffs {

		/**
		 * Prepare the test runner.
		 *
		 * @return void
		 */
		public static function main() {         }//end main()
		/**
		 * Add all sniff unit tests into a test suite.
		 *
		 * Sniff unit tests are found by recursing through the 'Tests' directory
		 * of each installed coding standard.
		 *
		 * @return \PHPUnit\Framework\TestSuite
		 */
		public static function suite() {        }//end suite()
		/**
		 * Get the details of all coding standards installed.
		 *
		 * @return array
		 * @see    Standards::getInstalledStandardDetails()
		 */
		protected static function getInstalledStandardDetails() {       }//end getInstalledStandardDetails()
	}
	abstract class AbstractSniffUnitTest extends \PHPUnit\Framework\TestCase {

		/**
		 * Enable or disable the backup and restoration of the $GLOBALS array.
		 * Overwrite this attribute in a child class of TestCase.
		 * Setting this attribute in setUp() has no effect!
		 *
		 * @var boolean
		 */
		protected $backupGlobals = false;
		/**
		 * The path to the standard's main directory.
		 *
		 * @var string
		 */
		public $standardsDir = null;
		/**
		 * The path to the standard's test directory.
		 *
		 * @var string
		 */
		public $testsDir = null;
		/**
		 * Sets up this unit test.
		 *
		 * @return void
		 */
		protected function setUp(): void {
		}//end setUp()
		/**
		 * Get a list of all test files to check.
		 *
		 * These will have the same base as the sniff name but different extensions.
		 * We ignore the .php file as it is the class.
		 *
		 * @param string $testFileBase The base path that the unit tests files will have.
		 *
		 * @return string[]
		 */
		protected function getTestFiles( $testFileBase ) {      }//end getTestFiles()
		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return boolean
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Tests the extending classes Sniff class.
		 *
		 * @return void
		 * @throws \PHPUnit\Framework\Exception
		 */
		final public function testSniff() {         }//end testSniff()
		/**
		 * Generate a list of test failures for a given sniffed file.
		 *
		 * @param \PHP_CodeSniffer\Files\LocalFile $file The file being tested.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException
		 */
		public function generateFailureMessages( \PHP_CodeSniffer\Files\LocalFile $file ) {         }//end generateFailureMessages()
		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $filename The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the run.
		 *
		 * @return void
		 */
		public function setCliValues( $filename, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		abstract protected function getErrorList();
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		abstract protected function getWarningList();
	}
}

namespace PHP_CodeSniffer\Filters {
	class Filter extends \RecursiveFilterIterator {

		/**
		 * The top-level path we are filtering.
		 *
		 * @var string
		 */
		protected $basedir = null;
		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		protected $config = null;
		/**
		 * The ruleset used for the run.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		protected $ruleset = null;
		/**
		 * A list of ignore patterns that apply to directories only.
		 *
		 * @var array
		 */
		protected $ignoreDirPatterns = null;
		/**
		 * A list of ignore patterns that apply to files only.
		 *
		 * @var array
		 */
		protected $ignoreFilePatterns = null;
		/**
		 * A list of file paths we've already accepted.
		 *
		 * Used to ensure we aren't following circular symlinks.
		 *
		 * @var array
		 */
		protected $acceptedPaths = array();
		/**
		 * Constructs a filter.
		 *
		 * @param \RecursiveIterator       $iterator The iterator we are using to get file paths.
		 * @param string                   $basedir  The top-level path we are filtering.
		 * @param \PHP_CodeSniffer\Config  $config   The config data for the run.
		 * @param \PHP_CodeSniffer\Ruleset $ruleset  The ruleset used for the run.
		 *
		 * @return void
		 */
		public function __construct( $iterator, $basedir, \PHP_CodeSniffer\Config $config, \PHP_CodeSniffer\Ruleset $ruleset ) {        }//end __construct()
		/**
		 * Check whether the current element of the iterator is acceptable.
		 *
		 * Files are checked for allowed extensions and ignore patterns.
		 * Directories are checked for ignore patterns only.
		 *
		 * @return bool
		 */
		public function accept(): bool {
		}//end accept()
		/**
		 * Returns an iterator for the current entry.
		 *
		 * Ensures that the ignore patterns are preserved so they don't have
		 * to be generated each time.
		 *
		 * @return \RecursiveIterator
		 */

		// end getChildren()
		/**
		 * Checks filtering rules to see if a file should be checked.
		 *
		 * Checks both file extension filters and path ignore filters.
		 *
		 * @param string $path The path to the file being checked.
		 *
		 * @return bool
		 */
		protected function shouldProcessFile( $path ) {         }//end shouldProcessFile()
		/**
		 * Checks filtering rules to see if a path should be ignored.
		 *
		 * @param string $path The path to the file or directory being checked.
		 *
		 * @return bool
		 */
		protected function shouldIgnorePath( $path ) {      }//end shouldIgnorePath()
	}
	abstract class ExactMatch extends \PHP_CodeSniffer\Filters\Filter {

		/**
		 * Check whether the current element of the iterator is acceptable.
		 *
		 * If a file is both blacklisted and whitelisted, it will be deemed unacceptable.
		 *
		 * @return bool
		 */
		public function accept(): bool {
		}//end accept()
		/**
		 * Returns an iterator for the current entry.
		 *
		 * Ensures that the blacklist and whitelist are preserved so they don't have
		 * to be generated each time.
		 *
		 * @return \RecursiveIterator
		 */
		#[\ReturnTypeWillChange]
		public function getChildren() {         }//end getChildren()
		/**
		 * Get a list of blacklisted file paths.
		 *
		 * @return array
		 */
		abstract protected function getBlacklist();
		/**
		 * Get a list of whitelisted file paths.
		 *
		 * @return array
		 */
		abstract protected function getWhitelist();
	}
	class GitStaged extends \PHP_CodeSniffer\Filters\ExactMatch {

		/**
		 * Get a list of blacklisted file paths.
		 *
		 * @return array
		 */
		protected function getBlacklist() {         }//end getBlacklist()
		/**
		 * Get a list of whitelisted file paths.
		 *
		 * @return array
		 */
		protected function getWhitelist() {         }//end getWhitelist()
	}
	class GitModified extends \PHP_CodeSniffer\Filters\ExactMatch {

		/**
		 * Get a list of blacklisted file paths.
		 *
		 * @return array
		 */
		protected function getBlacklist() {         }//end getBlacklist()
		/**
		 * Get a list of whitelisted file paths.
		 *
		 * @return array
		 */
		protected function getWhitelist() {         }//end getWhitelist()
	}
}

namespace PHP_CodeSniffer\Tokenizers {
	abstract class Tokenizer {

		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		protected $config = null;
		/**
		 * The EOL char used in the content.
		 *
		 * @var string
		 */
		protected $eolChar = array();
		/**
		 * A token-based representation of the content.
		 *
		 * @var array
		 */
		protected $tokens = array();
		/**
		 * The number of tokens in the tokens array.
		 *
		 * @var integer
		 */
		protected $numTokens = 0;
		/**
		 * A list of tokens that are allowed to open a scope.
		 *
		 * @var array
		 */
		public $scopeOpeners = array();
		/**
		 * A list of tokens that end the scope.
		 *
		 * @var array
		 */
		public $endScopeTokens = array();
		/**
		 * Known lengths of tokens.
		 *
		 * @var array<int, int>
		 */
		public $knownLengths = array();
		/**
		 * A list of lines being ignored due to error suppression comments.
		 *
		 * @var array
		 */
		public $ignoredLines = array();
		/**
		 * Initialise and run the tokenizer.
		 *
		 * @param string                         $content The content to tokenize,
		 * @param \PHP_CodeSniffer\Config | null $config  The config data for the run.
		 * @param string                         $eolChar The EOL char used in the content.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\TokenizerException If the file appears to be minified.
		 */
		public function __construct( $content, $config, $eolChar = '\\n' ) {        }//end __construct()
		/**
		 * Checks the content to see if it looks minified.
		 *
		 * @param string $content The content to tokenize.
		 * @param string $eolChar The EOL char used in the content.
		 *
		 * @return boolean
		 */
		protected function isMinifiedContent( $content, $eolChar = '\\n' ) {        }//end isMinifiedContent()
		/**
		 * Gets the array of tokens.
		 *
		 * @return array
		 */
		public function getTokens() {       }//end getTokens()
		/**
		 * Creates an array of tokens when given some content.
		 *
		 * @param string $string The string to tokenize.
		 *
		 * @return array
		 */
		abstract protected function tokenize( $string);
		/**
		 * Performs additional processing after main tokenizing.
		 *
		 * @return void
		 */
		abstract protected function processAdditional();
		// end createPositionMap()
		/**
		 * Replaces tabs in original token content with spaces.
		 *
		 * Each tab can represent between 1 and $config->tabWidth spaces,
		 * so this cannot be a straight string replace. The original content
		 * is placed into an orig_content index and the new token length is also
		 * set in the length index.
		 *
		 * @param array  $token    The token to replace tabs inside.
		 * @param string $prefix   The character to use to represent the start of a tab.
		 * @param string $padding  The character to use to represent the end of a tab.
		 * @param int    $tabWidth The number of spaces each tab represents.
		 *
		 * @return void
		 */
		public function replaceTabsInToken( &$token, $prefix = ' ', $padding = ' ', $tabWidth = null ) {        }
		// end createLevelMap()
	}
	class JS extends \PHP_CodeSniffer\Tokenizers\Tokenizer {

		/**
		 * A list of tokens that are allowed to open a scope.
		 *
		 * This array also contains information about what kind of token the scope
		 * opener uses to open and close the scope, if the token strictly requires
		 * an opener, if the token can share a scope closer, and who it can be shared
		 * with. An example of a token that shares a scope closer is a CASE scope.
		 *
		 * @var array
		 */
		public $scopeOpeners = array(
			T_IF       => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_TRY      => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_CATCH    => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_ELSE     => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_FOR      => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_CLASS    => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_FUNCTION => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_WHILE    => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_DO       => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_SWITCH   => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_CASE     => array(
				'start'  => array( T_COLON => T_COLON ),
				'end'    => array(
					T_BREAK    => T_BREAK,
					T_RETURN   => T_RETURN,
					T_CONTINUE => T_CONTINUE,
					T_THROW    => T_THROW,
				),
				'strict' => true,
				'shared' => true,
				'with'   => array(
					T_DEFAULT => T_DEFAULT,
					T_CASE    => T_CASE,
					T_SWITCH  => T_SWITCH,
				),
			),
			T_DEFAULT  => array(
				'start'  => array( T_COLON => T_COLON ),
				'end'    => array(
					T_BREAK    => T_BREAK,
					T_RETURN   => T_RETURN,
					T_CONTINUE => T_CONTINUE,
					T_THROW    => T_THROW,
				),
				'strict' => true,
				'shared' => true,
				'with'   => array(
					T_CASE   => T_CASE,
					T_SWITCH => T_SWITCH,
				),
			),
		);
		/**
		 * A list of tokens that end the scope.
		 *
		 * This array is just a unique collection of the end tokens
		 * from the _scopeOpeners array. The data is duplicated here to
		 * save time during parsing of the file.
		 *
		 * @var array
		 */
		public $endScopeTokens = array(
			T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
			T_BREAK               => T_BREAK,
		);
		/**
		 * A list of special JS tokens and their types.
		 *
		 * @var array
		 */
		protected $tokenValues = array(
			'class'     => 'T_CLASS',
			'function'  => 'T_FUNCTION',
			'prototype' => 'T_PROTOTYPE',
			'try'       => 'T_TRY',
			'catch'     => 'T_CATCH',
			'return'    => 'T_RETURN',
			'throw'     => 'T_THROW',
			'break'     => 'T_BREAK',
			'switch'    => 'T_SWITCH',
			'continue'  => 'T_CONTINUE',
			'if'        => 'T_IF',
			'else'      => 'T_ELSE',
			'do'        => 'T_DO',
			'while'     => 'T_WHILE',
			'for'       => 'T_FOR',
			'var'       => 'T_VAR',
			'case'      => 'T_CASE',
			'default'   => 'T_DEFAULT',
			'true'      => 'T_TRUE',
			'false'     => 'T_FALSE',
			'null'      => 'T_NULL',
			'this'      => 'T_THIS',
			'typeof'    => 'T_TYPEOF',
			'('         => 'T_OPEN_PARENTHESIS',
			')'         => 'T_CLOSE_PARENTHESIS',
			'{'         => 'T_OPEN_CURLY_BRACKET',
			'}'         => 'T_CLOSE_CURLY_BRACKET',
			'['         => 'T_OPEN_SQUARE_BRACKET',
			']'         => 'T_CLOSE_SQUARE_BRACKET',
			'?'         => 'T_INLINE_THEN',
			'.'         => 'T_OBJECT_OPERATOR',
			'+'         => 'T_PLUS',
			'-'         => 'T_MINUS',
			'*'         => 'T_MULTIPLY',
			'%'         => 'T_MODULUS',
			'/'         => 'T_DIVIDE',
			'^'         => 'T_LOGICAL_XOR',
			','         => 'T_COMMA',
			';'         => 'T_SEMICOLON',
			':'         => 'T_COLON',
			'<'         => 'T_LESS_THAN',
			'>'         => 'T_GREATER_THAN',
			'<<'        => 'T_SL',
			'>>'        => 'T_SR',
			'>>>'       => 'T_ZSR',
			'<<='       => 'T_SL_EQUAL',
			'>>='       => 'T_SR_EQUAL',
			'>>>='      => 'T_ZSR_EQUAL',
			'<='        => 'T_IS_SMALLER_OR_EQUAL',
			'>='        => 'T_IS_GREATER_OR_EQUAL',
			'=>'        => 'T_DOUBLE_ARROW',
			'!'         => 'T_BOOLEAN_NOT',
			'||'        => 'T_BOOLEAN_OR',
			'&&'        => 'T_BOOLEAN_AND',
			'|'         => 'T_BITWISE_OR',
			'&'         => 'T_BITWISE_AND',
			'!='        => 'T_IS_NOT_EQUAL',
			'!=='       => 'T_IS_NOT_IDENTICAL',
			'='         => 'T_EQUAL',
			'=='        => 'T_IS_EQUAL',
			'==='       => 'T_IS_IDENTICAL',
			'-='        => 'T_MINUS_EQUAL',
			'+='        => 'T_PLUS_EQUAL',
			'*='        => 'T_MUL_EQUAL',
			'/='        => 'T_DIV_EQUAL',
			'%='        => 'T_MOD_EQUAL',
			'++'        => 'T_INC',
			'--'        => 'T_DEC',
			'//'        => 'T_COMMENT',
			'/*'        => 'T_COMMENT',
			'/**'       => 'T_DOC_COMMENT',
			'*/'        => 'T_COMMENT',
		);
		/**
		 * A list string delimiters.
		 *
		 * @var array
		 */
		protected $stringTokens = array(
			'\'' => '\'',
			'"'  => '"',
		);
		/**
		 * A list tokens that start and end comments.
		 *
		 * @var array
		 */
		protected $commentTokens = array(
			'//'  => null,
			'/*'  => '*/',
			'/**' => '*/',
		);
		/**
		 * Initialise the tokenizer.
		 *
		 * Pre-checks the content to see if it looks minified.
		 *
		 * @param string                  $content The content to tokenize,
		 * @param \PHP_CodeSniffer\Config $config  The config data for the run.
		 * @param string                  $eolChar The EOL char used in the content.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\TokenizerException If the file appears to be minified.
		 */
		public function __construct( $content, \PHP_CodeSniffer\Config $config, $eolChar = '\\n' ) {        }//end __construct()
		/**
		 * Creates an array of tokens when given some JS code.
		 *
		 * @param string $string The string to tokenize.
		 *
		 * @return array
		 */
		public function tokenize( $string ) {       }//end tokenize()
		/**
		 * Tokenizes a regular expression if one is found.
		 *
		 * If a regular expression is not found, NULL is returned.
		 *
		 * @param string $char   The index of the possible regex start character.
		 * @param string $string The complete content of the string being tokenized.
		 * @param string $chars  An array of characters being tokenized.
		 * @param string $tokens The current array of tokens found in the string.
		 *
		 * @return array<string, string>|null
		 */
		public function getRegexToken( $char, $string, $chars, $tokens ) {      }//end getRegexToken()
		/**
		 * Performs additional processing after main tokenizing.
		 *
		 * This additional processing looks for properties, closures, labels and objects.
		 *
		 * @return void
		 */
		public function processAdditional() {       }//end processAdditional()
	}
	class Comment {

		/**
		 * Creates an array of tokens when given some PHP code.
		 *
		 * Starts by using token_get_all() but does a lot of extra processing
		 * to insert information about the context of the token.
		 *
		 * @param string $string   The string to tokenize.
		 * @param string $eolChar  The EOL character to use for splitting strings.
		 * @param int    $stackPtr The position of the first token in the file.
		 *
		 * @return array
		 */
		public function tokenizeString( $string, $eolChar, $stackPtr ) {        }
		// end collectWhitespace()
	}
	class PHP extends \PHP_CodeSniffer\Tokenizers\Tokenizer {

		/**
		 * A list of tokens that are allowed to open a scope.
		 *
		 * This array also contains information about what kind of token the scope
		 * opener uses to open and close the scope, if the token strictly requires
		 * an opener, if the token can share a scope closer, and who it can be shared
		 * with. An example of a token that shares a scope closer is a CASE scope.
		 *
		 * @var array
		 */
		public $scopeOpeners = array(
			T_IF            => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDIF               => T_ENDIF,
					T_ELSE                => T_ELSE,
					T_ELSEIF              => T_ELSEIF,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(
					T_ELSE   => T_ELSE,
					T_ELSEIF => T_ELSEIF,
				),
			),
			T_TRY           => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_CATCH         => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_FINALLY       => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_ELSE          => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDIF               => T_ENDIF,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(
					T_IF     => T_IF,
					T_ELSEIF => T_ELSEIF,
				),
			),
			T_ELSEIF        => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDIF               => T_ENDIF,
					T_ELSE                => T_ELSE,
					T_ELSEIF              => T_ELSEIF,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(
					T_IF   => T_IF,
					T_ELSE => T_ELSE,
				),
			),
			T_FOR           => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDFOR              => T_ENDFOR,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_FOREACH       => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDFOREACH          => T_ENDFOREACH,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_INTERFACE     => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_FUNCTION      => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_CLASS         => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_TRAIT         => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_USE           => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_DECLARE       => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDDECLARE          => T_ENDDECLARE,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_NAMESPACE     => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_WHILE         => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDWHILE            => T_ENDWHILE,
				),
				'strict' => false,
				'shared' => false,
				'with'   => array(),
			),
			T_DO            => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_SWITCH        => array(
				'start'  => array(
					T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
					T_COLON              => T_COLON,
				),
				'end'    => array(
					T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
					T_ENDSWITCH           => T_ENDSWITCH,
				),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_CASE          => array(
				'start'  => array(
					T_COLON     => T_COLON,
					T_SEMICOLON => T_SEMICOLON,
				),
				'end'    => array(
					T_BREAK    => T_BREAK,
					T_RETURN   => T_RETURN,
					T_CONTINUE => T_CONTINUE,
					T_THROW    => T_THROW,
					T_EXIT     => T_EXIT,
				),
				'strict' => true,
				'shared' => true,
				'with'   => array(
					T_DEFAULT => T_DEFAULT,
					T_CASE    => T_CASE,
					T_SWITCH  => T_SWITCH,
				),
			),
			T_DEFAULT       => array(
				'start'  => array(
					T_COLON     => T_COLON,
					T_SEMICOLON => T_SEMICOLON,
				),
				'end'    => array(
					T_BREAK    => T_BREAK,
					T_RETURN   => T_RETURN,
					T_CONTINUE => T_CONTINUE,
					T_THROW    => T_THROW,
					T_EXIT     => T_EXIT,
				),
				'strict' => true,
				'shared' => true,
				'with'   => array(
					T_CASE   => T_CASE,
					T_SWITCH => T_SWITCH,
				),
			),
			T_MATCH         => array(
				'start'  => array( T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET ),
				'end'    => array( T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_START_HEREDOC => array(
				'start'  => array( T_START_HEREDOC => T_START_HEREDOC ),
				'end'    => array( T_END_HEREDOC => T_END_HEREDOC ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
			T_START_NOWDOC  => array(
				'start'  => array( T_START_NOWDOC => T_START_NOWDOC ),
				'end'    => array( T_END_NOWDOC => T_END_NOWDOC ),
				'strict' => true,
				'shared' => false,
				'with'   => array(),
			),
		);
		/**
		 * A list of tokens that end the scope.
		 *
		 * This array is just a unique collection of the end tokens
		 * from the scopeOpeners array. The data is duplicated here to
		 * save time during parsing of the file.
		 *
		 * @var array
		 */
		public $endScopeTokens = array(
			T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
			T_ENDIF               => T_ENDIF,
			T_ENDFOR              => T_ENDFOR,
			T_ENDFOREACH          => T_ENDFOREACH,
			T_ENDWHILE            => T_ENDWHILE,
			T_ENDSWITCH           => T_ENDSWITCH,
			T_ENDDECLARE          => T_ENDDECLARE,
			T_BREAK               => T_BREAK,
			T_END_HEREDOC         => T_END_HEREDOC,
			T_END_NOWDOC          => T_END_NOWDOC,
		);
		/**
		 * Known lengths of tokens.
		 *
		 * @var array<int, int>
		 */
		public $knownLengths = array(
			T_ABSTRACT                 => 8,
			T_AND_EQUAL                => 2,
			T_ARRAY                    => 5,
			T_AS                       => 2,
			T_BOOLEAN_AND              => 2,
			T_BOOLEAN_OR               => 2,
			T_BREAK                    => 5,
			T_CALLABLE                 => 8,
			T_CASE                     => 4,
			T_CATCH                    => 5,
			T_CLASS                    => 5,
			T_CLASS_C                  => 9,
			T_CLONE                    => 5,
			T_CONCAT_EQUAL             => 2,
			T_CONST                    => 5,
			T_CONTINUE                 => 8,
			T_CURLY_OPEN               => 2,
			T_DEC                      => 2,
			T_DECLARE                  => 7,
			T_DEFAULT                  => 7,
			T_DIR                      => 7,
			T_DIV_EQUAL                => 2,
			T_DO                       => 2,
			T_DOLLAR_OPEN_CURLY_BRACES => 2,
			T_DOUBLE_ARROW             => 2,
			T_DOUBLE_COLON             => 2,
			T_ECHO                     => 4,
			T_ELLIPSIS                 => 3,
			T_ELSE                     => 4,
			T_ELSEIF                   => 6,
			T_EMPTY                    => 5,
			T_ENDDECLARE               => 10,
			T_ENDFOR                   => 6,
			T_ENDFOREACH               => 10,
			T_ENDIF                    => 5,
			T_ENDSWITCH                => 9,
			T_ENDWHILE                 => 8,
			T_EVAL                     => 4,
			T_EXTENDS                  => 7,
			T_FILE                     => 8,
			T_FINAL                    => 5,
			T_FINALLY                  => 7,
			T_FN                       => 2,
			T_FOR                      => 3,
			T_FOREACH                  => 7,
			T_FUNCTION                 => 8,
			T_FUNC_C                   => 12,
			T_GLOBAL                   => 6,
			T_GOTO                     => 4,
			T_HALT_COMPILER            => 15,
			T_IF                       => 2,
			T_IMPLEMENTS               => 10,
			T_INC                      => 2,
			T_INCLUDE                  => 7,
			T_INCLUDE_ONCE             => 12,
			T_INSTANCEOF               => 10,
			T_INSTEADOF                => 9,
			T_INTERFACE                => 9,
			T_ISSET                    => 5,
			T_IS_EQUAL                 => 2,
			T_IS_GREATER_OR_EQUAL      => 2,
			T_IS_IDENTICAL             => 3,
			T_IS_NOT_EQUAL             => 2,
			T_IS_NOT_IDENTICAL         => 3,
			T_IS_SMALLER_OR_EQUAL      => 2,
			T_LINE                     => 8,
			T_LIST                     => 4,
			T_LOGICAL_AND              => 3,
			T_LOGICAL_OR               => 2,
			T_LOGICAL_XOR              => 3,
			T_MATCH                    => 5,
			T_MATCH_ARROW              => 2,
			T_MATCH_DEFAULT            => 7,
			T_METHOD_C                 => 10,
			T_MINUS_EQUAL              => 2,
			T_POW_EQUAL                => 3,
			T_MOD_EQUAL                => 2,
			T_MUL_EQUAL                => 2,
			T_NAMESPACE                => 9,
			T_NS_C                     => 13,
			T_NS_SEPARATOR             => 1,
			T_NEW                      => 3,
			T_NULLSAFE_OBJECT_OPERATOR => 3,
			T_OBJECT_OPERATOR          => 2,
			T_OPEN_TAG_WITH_ECHO       => 3,
			T_OR_EQUAL                 => 2,
			T_PLUS_EQUAL               => 2,
			T_PRINT                    => 5,
			T_PRIVATE                  => 7,
			T_PUBLIC                   => 6,
			T_PROTECTED                => 9,
			T_REQUIRE                  => 7,
			T_REQUIRE_ONCE             => 12,
			T_RETURN                   => 6,
			T_STATIC                   => 6,
			T_SWITCH                   => 6,
			T_THROW                    => 5,
			T_TRAIT                    => 5,
			T_TRAIT_C                  => 9,
			T_TRY                      => 3,
			T_UNSET                    => 5,
			T_USE                      => 3,
			T_VAR                      => 3,
			T_WHILE                    => 5,
			T_XOR_EQUAL                => 2,
			T_YIELD                    => 5,
			T_OPEN_CURLY_BRACKET       => 1,
			T_CLOSE_CURLY_BRACKET      => 1,
			T_OPEN_SQUARE_BRACKET      => 1,
			T_CLOSE_SQUARE_BRACKET     => 1,
			T_OPEN_PARENTHESIS         => 1,
			T_CLOSE_PARENTHESIS        => 1,
			T_COLON                    => 1,
			T_STRING_CONCAT            => 1,
			T_INLINE_THEN              => 1,
			T_INLINE_ELSE              => 1,
			T_NULLABLE                 => 1,
			T_NULL                     => 4,
			T_FALSE                    => 5,
			T_TRUE                     => 4,
			T_SEMICOLON                => 1,
			T_EQUAL                    => 1,
			T_MULTIPLY                 => 1,
			T_DIVIDE                   => 1,
			T_PLUS                     => 1,
			T_MINUS                    => 1,
			T_MODULUS                  => 1,
			T_POW                      => 2,
			T_SPACESHIP                => 3,
			T_COALESCE                 => 2,
			T_COALESCE_EQUAL           => 3,
			T_BITWISE_AND              => 1,
			T_BITWISE_OR               => 1,
			T_BITWISE_XOR              => 1,
			T_SL                       => 2,
			T_SR                       => 2,
			T_SL_EQUAL                 => 3,
			T_SR_EQUAL                 => 3,
			T_GREATER_THAN             => 1,
			T_LESS_THAN                => 1,
			T_BOOLEAN_NOT              => 1,
			T_SELF                     => 4,
			T_PARENT                   => 6,
			T_COMMA                    => 1,
			T_THIS                     => 4,
			T_CLOSURE                  => 8,
			T_BACKTICK                 => 1,
			T_OPEN_SHORT_ARRAY         => 1,
			T_CLOSE_SHORT_ARRAY        => 1,
			T_TYPE_UNION               => 1,
		);
		/**
		 * Creates an array of tokens when given some PHP code.
		 *
		 * Starts by using token_get_all() but does a lot of extra processing
		 * to insert information about the context of the token.
		 *
		 * @param string $string The string to tokenize.
		 *
		 * @return array
		 */
		protected function tokenize( $string ) {        }//end tokenize()
		/**
		 * Performs additional processing after main tokenizing.
		 *
		 * This additional processing checks for CASE statements that are using curly
		 * braces for scope openers and closers. It also turns some T_FUNCTION tokens
		 * into T_CLOSURE when they are not standard function definitions. It also
		 * detects short array syntax and converts those square brackets into new tokens.
		 * It also corrects some usage of the static and class keywords. It also
		 * assigns tokens to function return types.
		 *
		 * @return void
		 */
		protected function processAdditional() {        }//end processAdditional()
		/**
		 * Takes a token produced from <code>token_get_all()</code> and produces a
		 * more uniform token.
		 *
		 * @param string|array $token The token to convert.
		 *
		 * @return array The new token.
		 */
		public static function standardiseToken( $token ) {         }//end standardiseToken()
		/**
		 * Converts simple tokens into a format that conforms to complex tokens
		 * produced by token_get_all().
		 *
		 * Simple tokens are tokens that are not in array form when produced from
		 * token_get_all().
		 *
		 * @param string $token The simple token to convert.
		 *
		 * @return array The new token in array format.
		 */
		public static function resolveSimpleToken( $token ) {       }
		// end createAttributesNestingMap()
	}
	class CSS extends \PHP_CodeSniffer\Tokenizers\PHP {

		/**
		 * Initialise the tokenizer.
		 *
		 * Pre-checks the content to see if it looks minified.
		 *
		 * @param string                  $content The content to tokenize,
		 * @param \PHP_CodeSniffer\Config $config  The config data for the run.
		 * @param string                  $eolChar The EOL char used in the content.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\TokenizerException If the file appears to be minified.
		 */
		public function __construct( $content, \PHP_CodeSniffer\Config $config, $eolChar = '\\n' ) {        }//end __construct()
		/**
		 * Creates an array of tokens when given some CSS code.
		 *
		 * Uses the PHP tokenizer to do all the tricky work
		 *
		 * @param string $string The string to tokenize.
		 *
		 * @return array
		 */
		public function tokenize( $string ) {       }//end tokenize()
		/**
		 * Performs additional processing after main tokenizing.
		 *
		 * @return void
		 */
		public function processAdditional() {       }//end processAdditional()
	}
}

namespace PHP_CodeSniffer\Util {
	final class Tokens {

		/**
		 * The token weightings.
		 *
		 * @var array<int|string, int>
		 */
		public static $weightings = array(
			T_CLASS               => 1000,
			T_INTERFACE           => 1000,
			T_TRAIT               => 1000,
			T_NAMESPACE           => 1000,
			T_FUNCTION            => 100,
			T_CLOSURE             => 100,
			/*
			 * Conditions.
			 */
			T_WHILE               => 50,
			T_FOR                 => 50,
			T_FOREACH             => 50,
			T_IF                  => 50,
			T_ELSE                => 50,
			T_ELSEIF              => 50,
			T_DO                  => 50,
			T_TRY                 => 50,
			T_CATCH               => 50,
			T_FINALLY             => 50,
			T_SWITCH              => 50,
			T_MATCH               => 50,
			T_SELF                => 25,
			T_PARENT              => 25,
			/*
			 * Operators and arithmetic.
			 */
			T_BITWISE_AND         => 8,
			T_BITWISE_OR          => 8,
			T_BITWISE_XOR         => 8,
			T_MULTIPLY            => 5,
			T_DIVIDE              => 5,
			T_PLUS                => 5,
			T_MINUS               => 5,
			T_MODULUS             => 5,
			T_POW                 => 5,
			T_SPACESHIP           => 5,
			T_COALESCE            => 5,
			T_COALESCE_EQUAL      => 5,
			T_SL                  => 5,
			T_SR                  => 5,
			T_SL_EQUAL            => 5,
			T_SR_EQUAL            => 5,
			T_EQUAL               => 5,
			T_AND_EQUAL           => 5,
			T_CONCAT_EQUAL        => 5,
			T_DIV_EQUAL           => 5,
			T_MINUS_EQUAL         => 5,
			T_MOD_EQUAL           => 5,
			T_MUL_EQUAL           => 5,
			T_OR_EQUAL            => 5,
			T_PLUS_EQUAL          => 5,
			T_XOR_EQUAL           => 5,
			T_BOOLEAN_AND         => 5,
			T_BOOLEAN_OR          => 5,
			/*
			 * Equality.
			 */
			T_IS_EQUAL            => 5,
			T_IS_NOT_EQUAL        => 5,
			T_IS_IDENTICAL        => 5,
			T_IS_NOT_IDENTICAL    => 5,
			T_IS_SMALLER_OR_EQUAL => 5,
			T_IS_GREATER_OR_EQUAL => 5,
		);
		/**
		 * Tokens that represent assignments.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $assignmentTokens = array(
			T_EQUAL          => T_EQUAL,
			T_AND_EQUAL      => T_AND_EQUAL,
			T_OR_EQUAL       => T_OR_EQUAL,
			T_CONCAT_EQUAL   => T_CONCAT_EQUAL,
			T_DIV_EQUAL      => T_DIV_EQUAL,
			T_MINUS_EQUAL    => T_MINUS_EQUAL,
			T_POW_EQUAL      => T_POW_EQUAL,
			T_MOD_EQUAL      => T_MOD_EQUAL,
			T_MUL_EQUAL      => T_MUL_EQUAL,
			T_PLUS_EQUAL     => T_PLUS_EQUAL,
			T_XOR_EQUAL      => T_XOR_EQUAL,
			T_DOUBLE_ARROW   => T_DOUBLE_ARROW,
			T_SL_EQUAL       => T_SL_EQUAL,
			T_SR_EQUAL       => T_SR_EQUAL,
			T_COALESCE_EQUAL => T_COALESCE_EQUAL,
			T_ZSR_EQUAL      => T_ZSR_EQUAL,
		);
		/**
		 * Tokens that represent equality comparisons.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $equalityTokens = array(
			T_IS_EQUAL            => T_IS_EQUAL,
			T_IS_NOT_EQUAL        => T_IS_NOT_EQUAL,
			T_IS_IDENTICAL        => T_IS_IDENTICAL,
			T_IS_NOT_IDENTICAL    => T_IS_NOT_IDENTICAL,
			T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL,
			T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL,
		);
		/**
		 * Tokens that represent comparison operator.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $comparisonTokens = array(
			T_IS_EQUAL            => T_IS_EQUAL,
			T_IS_IDENTICAL        => T_IS_IDENTICAL,
			T_IS_NOT_EQUAL        => T_IS_NOT_EQUAL,
			T_IS_NOT_IDENTICAL    => T_IS_NOT_IDENTICAL,
			T_LESS_THAN           => T_LESS_THAN,
			T_GREATER_THAN        => T_GREATER_THAN,
			T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL,
			T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL,
			T_SPACESHIP           => T_SPACESHIP,
			T_COALESCE            => T_COALESCE,
		);
		/**
		 * Tokens that represent arithmetic operators.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $arithmeticTokens = array(
			T_PLUS     => T_PLUS,
			T_MINUS    => T_MINUS,
			T_MULTIPLY => T_MULTIPLY,
			T_DIVIDE   => T_DIVIDE,
			T_MODULUS  => T_MODULUS,
			T_POW      => T_POW,
		);
		/**
		 * Tokens that perform operations.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $operators = array(
			T_MINUS       => T_MINUS,
			T_PLUS        => T_PLUS,
			T_MULTIPLY    => T_MULTIPLY,
			T_DIVIDE      => T_DIVIDE,
			T_MODULUS     => T_MODULUS,
			T_POW         => T_POW,
			T_SPACESHIP   => T_SPACESHIP,
			T_COALESCE    => T_COALESCE,
			T_BITWISE_AND => T_BITWISE_AND,
			T_BITWISE_OR  => T_BITWISE_OR,
			T_BITWISE_XOR => T_BITWISE_XOR,
			T_SL          => T_SL,
			T_SR          => T_SR,
		);
		/**
		 * Tokens that perform boolean operations.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $booleanOperators = array(
			T_BOOLEAN_AND => T_BOOLEAN_AND,
			T_BOOLEAN_OR  => T_BOOLEAN_OR,
			T_LOGICAL_AND => T_LOGICAL_AND,
			T_LOGICAL_OR  => T_LOGICAL_OR,
			T_LOGICAL_XOR => T_LOGICAL_XOR,
		);
		/**
		 * Tokens that represent casting.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $castTokens = array(
			T_INT_CAST    => T_INT_CAST,
			T_STRING_CAST => T_STRING_CAST,
			T_DOUBLE_CAST => T_DOUBLE_CAST,
			T_ARRAY_CAST  => T_ARRAY_CAST,
			T_BOOL_CAST   => T_BOOL_CAST,
			T_OBJECT_CAST => T_OBJECT_CAST,
			T_UNSET_CAST  => T_UNSET_CAST,
			T_BINARY_CAST => T_BINARY_CAST,
		);
		/**
		 * Token types that open parenthesis.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $parenthesisOpeners = array(
			T_ARRAY      => T_ARRAY,
			T_LIST       => T_LIST,
			T_FUNCTION   => T_FUNCTION,
			T_CLOSURE    => T_CLOSURE,
			T_ANON_CLASS => T_ANON_CLASS,
			T_WHILE      => T_WHILE,
			T_FOR        => T_FOR,
			T_FOREACH    => T_FOREACH,
			T_SWITCH     => T_SWITCH,
			T_IF         => T_IF,
			T_ELSEIF     => T_ELSEIF,
			T_CATCH      => T_CATCH,
			T_DECLARE    => T_DECLARE,
			T_MATCH      => T_MATCH,
		);
		/**
		 * Tokens that are allowed to open scopes.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $scopeOpeners = array(
			T_CLASS      => T_CLASS,
			T_ANON_CLASS => T_ANON_CLASS,
			T_INTERFACE  => T_INTERFACE,
			T_TRAIT      => T_TRAIT,
			T_NAMESPACE  => T_NAMESPACE,
			T_FUNCTION   => T_FUNCTION,
			T_CLOSURE    => T_CLOSURE,
			T_IF         => T_IF,
			T_SWITCH     => T_SWITCH,
			T_CASE       => T_CASE,
			T_DECLARE    => T_DECLARE,
			T_DEFAULT    => T_DEFAULT,
			T_WHILE      => T_WHILE,
			T_ELSE       => T_ELSE,
			T_ELSEIF     => T_ELSEIF,
			T_FOR        => T_FOR,
			T_FOREACH    => T_FOREACH,
			T_DO         => T_DO,
			T_TRY        => T_TRY,
			T_CATCH      => T_CATCH,
			T_FINALLY    => T_FINALLY,
			T_PROPERTY   => T_PROPERTY,
			T_OBJECT     => T_OBJECT,
			T_USE        => T_USE,
			T_MATCH      => T_MATCH,
		);
		/**
		 * Tokens that represent scope modifiers.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $scopeModifiers = array(
			T_PRIVATE   => T_PRIVATE,
			T_PUBLIC    => T_PUBLIC,
			T_PROTECTED => T_PROTECTED,
		);
		/**
		 * Tokens that can prefix a method name
		 *
		 * @var array<int|string, int|string>
		 */
		public static $methodPrefixes = array(
			T_PRIVATE   => T_PRIVATE,
			T_PUBLIC    => T_PUBLIC,
			T_PROTECTED => T_PROTECTED,
			T_ABSTRACT  => T_ABSTRACT,
			T_STATIC    => T_STATIC,
			T_FINAL     => T_FINAL,
		);
		/**
		 * Tokens that open code blocks.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $blockOpeners = array(
			T_OPEN_CURLY_BRACKET  => T_OPEN_CURLY_BRACKET,
			T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET,
			T_OPEN_PARENTHESIS    => T_OPEN_PARENTHESIS,
			T_OBJECT              => T_OBJECT,
		);
		/**
		 * Tokens that don't represent code.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $emptyTokens = array(
			T_WHITESPACE             => T_WHITESPACE,
			T_COMMENT                => T_COMMENT,
			T_DOC_COMMENT            => T_DOC_COMMENT,
			T_DOC_COMMENT_STAR       => T_DOC_COMMENT_STAR,
			T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE,
			T_DOC_COMMENT_TAG        => T_DOC_COMMENT_TAG,
			T_DOC_COMMENT_OPEN_TAG   => T_DOC_COMMENT_OPEN_TAG,
			T_DOC_COMMENT_CLOSE_TAG  => T_DOC_COMMENT_CLOSE_TAG,
			T_DOC_COMMENT_STRING     => T_DOC_COMMENT_STRING,
			T_PHPCS_ENABLE           => T_PHPCS_ENABLE,
			T_PHPCS_DISABLE          => T_PHPCS_DISABLE,
			T_PHPCS_SET              => T_PHPCS_SET,
			T_PHPCS_IGNORE           => T_PHPCS_IGNORE,
			T_PHPCS_IGNORE_FILE      => T_PHPCS_IGNORE_FILE,
		);
		/**
		 * Tokens that are comments.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $commentTokens = array(
			T_COMMENT                => T_COMMENT,
			T_DOC_COMMENT            => T_DOC_COMMENT,
			T_DOC_COMMENT_STAR       => T_DOC_COMMENT_STAR,
			T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE,
			T_DOC_COMMENT_TAG        => T_DOC_COMMENT_TAG,
			T_DOC_COMMENT_OPEN_TAG   => T_DOC_COMMENT_OPEN_TAG,
			T_DOC_COMMENT_CLOSE_TAG  => T_DOC_COMMENT_CLOSE_TAG,
			T_DOC_COMMENT_STRING     => T_DOC_COMMENT_STRING,
			T_PHPCS_ENABLE           => T_PHPCS_ENABLE,
			T_PHPCS_DISABLE          => T_PHPCS_DISABLE,
			T_PHPCS_SET              => T_PHPCS_SET,
			T_PHPCS_IGNORE           => T_PHPCS_IGNORE,
			T_PHPCS_IGNORE_FILE      => T_PHPCS_IGNORE_FILE,
		);
		/**
		 * Tokens that are comments containing PHPCS instructions.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $phpcsCommentTokens = array(
			T_PHPCS_ENABLE      => T_PHPCS_ENABLE,
			T_PHPCS_DISABLE     => T_PHPCS_DISABLE,
			T_PHPCS_SET         => T_PHPCS_SET,
			T_PHPCS_IGNORE      => T_PHPCS_IGNORE,
			T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE,
		);
		/**
		 * Tokens that represent strings.
		 *
		 * Note that T_STRINGS are NOT represented in this list.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $stringTokens = array(
			T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING,
			T_DOUBLE_QUOTED_STRING     => T_DOUBLE_QUOTED_STRING,
		);
		/**
		 * Tokens that represent text strings.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $textStringTokens = array(
			T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING,
			T_DOUBLE_QUOTED_STRING     => T_DOUBLE_QUOTED_STRING,
			T_INLINE_HTML              => T_INLINE_HTML,
			T_HEREDOC                  => T_HEREDOC,
			T_NOWDOC                   => T_NOWDOC,
		);
		/**
		 * Tokens that represent brackets and parenthesis.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $bracketTokens = array(
			T_OPEN_CURLY_BRACKET   => T_OPEN_CURLY_BRACKET,
			T_CLOSE_CURLY_BRACKET  => T_CLOSE_CURLY_BRACKET,
			T_OPEN_SQUARE_BRACKET  => T_OPEN_SQUARE_BRACKET,
			T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET,
			T_OPEN_PARENTHESIS     => T_OPEN_PARENTHESIS,
			T_CLOSE_PARENTHESIS    => T_CLOSE_PARENTHESIS,
		);
		/**
		 * Tokens that include files.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $includeTokens = array(
			T_REQUIRE_ONCE => T_REQUIRE_ONCE,
			T_REQUIRE      => T_REQUIRE,
			T_INCLUDE_ONCE => T_INCLUDE_ONCE,
			T_INCLUDE      => T_INCLUDE,
		);
		/**
		 * Tokens that make up a heredoc string.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $heredocTokens = array(
			T_START_HEREDOC => T_START_HEREDOC,
			T_END_HEREDOC   => T_END_HEREDOC,
			T_HEREDOC       => T_HEREDOC,
			T_START_NOWDOC  => T_START_NOWDOC,
			T_END_NOWDOC    => T_END_NOWDOC,
			T_NOWDOC        => T_NOWDOC,
		);
		/**
		 * Tokens that represent the names of called functions.
		 *
		 * Mostly, these are just strings. But PHP tokenizes some language
		 * constructs and functions using their own tokens.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $functionNameTokens = array(
			T_STRING       => T_STRING,
			T_EVAL         => T_EVAL,
			T_EXIT         => T_EXIT,
			T_INCLUDE      => T_INCLUDE,
			T_INCLUDE_ONCE => T_INCLUDE_ONCE,
			T_REQUIRE      => T_REQUIRE,
			T_REQUIRE_ONCE => T_REQUIRE_ONCE,
			T_ISSET        => T_ISSET,
			T_UNSET        => T_UNSET,
			T_EMPTY        => T_EMPTY,
			T_SELF         => T_SELF,
			T_STATIC       => T_STATIC,
		);
		/**
		 * Tokens that open class and object scopes.
		 *
		 * @var array<int|string, int|string>
		 */
		public static $ooScopeTokens = array(
			T_CLASS      => T_CLASS,
			T_ANON_CLASS => T_ANON_CLASS,
			T_INTERFACE  => T_INTERFACE,
			T_TRAIT      => T_TRAIT,
		);
		/**
		 * Tokens representing PHP magic constants.
		 *
		 * @var array <int|string> => <int|string>
		 *
		 * @link https://www.php.net/language.constants.predefined PHP Manual on magic constants
		 */
		public static $magicConstants = array(
			T_CLASS_C  => T_CLASS_C,
			T_DIR      => T_DIR,
			T_FILE     => T_FILE,
			T_FUNC_C   => T_FUNC_C,
			T_LINE     => T_LINE,
			T_METHOD_C => T_METHOD_C,
			T_NS_C     => T_NS_C,
			T_TRAIT_C  => T_TRAIT_C,
		);
		/**
		 * Given a token, returns the name of the token.
		 *
		 * If passed an integer, the token name is sourced from PHP's token_name()
		 * function. If passed a string, it is assumed to be a PHPCS-supplied token
		 * that begins with PHPCS_T_, so the name is sourced from the token value itself.
		 *
		 * @param int|string $token The token to get the name for.
		 *
		 * @return string
		 */
		public static function tokenName( $token ) {        }//end tokenName()
		/**
		 * Returns the highest weighted token type.
		 *
		 * Tokens are weighted by their approximate frequency of appearance in code
		 * - the less frequently they appear in the code, the higher the weighting.
		 * For example T_CLASS tokens appear very infrequently in a file, and
		 * therefore have a high weighting.
		 *
		 * Returns false if there are no weightings for any of the specified tokens.
		 *
		 * @param array<int|string> $tokens The token types to get the highest weighted
		 *                                  type for.
		 *
		 * @return int|false The highest weighted token.
		 */
		public static function getHighestWeightedToken( array $tokens ) {       }//end getHighestWeightedToken()
	}
	class Timing {

		/**
		 * Start recording time for the run.
		 *
		 * @return void
		 */
		public static function startTiming() {      }//end startTiming()
		/**
		 * Print information about the run.
		 *
		 * @param boolean $force If TRUE, prints the output even if it has
		 *                       already been printed during the run.
		 *
		 * @return void
		 */
		public static function printRunTime( $force = false ) {         }//end printRunTime()
	}
	class Cache {

		/**
		 * Loads existing cache data for the run, if any.
		 *
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 * @param \PHP_CodeSniffer\Config  $config  The config data for the run.
		 *
		 * @return void
		 */
		public static function load( \PHP_CodeSniffer\Ruleset $ruleset, \PHP_CodeSniffer\Config $config ) {         }//end load()
		/**
		 * Saves the current cache to the filesystem.
		 *
		 * @return void
		 */
		public static function save() {         }//end save()
		/**
		 * Retrieves a single entry from the cache.
		 *
		 * @param string $key The key of the data to get. If NULL,
		 *                    everything in the cache is returned.
		 *
		 * @return mixed
		 */
		public static function get( $key = null ) {         }//end get()
		/**
		 * Retrieves a single entry from the cache.
		 *
		 * @param string $key   The key of the data to set. If NULL,
		 *                      sets the entire cache.
		 * @param mixed  $value The value to set.
		 *
		 * @return void
		 */
		public static function set( $key, $value ) {        }//end set()
		/**
		 * Retrieves the number of cache entries.
		 *
		 * @return int
		 */
		public static function getSize() {      }//end getSize()
	}
	class Common {

		/**
		 * An array of variable types for param/var we will check.
		 *
		 * @var string[]
		 */
		public static $allowedTypes = array( 'array', 'boolean', 'float', 'integer', 'mixed', 'object', 'string', 'resource', 'callable' );
		/**
		 * Return TRUE if the path is a PHAR file.
		 *
		 * @param string $path The path to use.
		 *
		 * @return mixed
		 */
		public static function isPharFile( $path ) {        }//end isPharFile()
		/**
		 * Checks if a file is readable.
		 *
		 * Addresses PHP bug related to reading files from network drives on Windows.
		 * e.g. when using WSL2.
		 *
		 * @param string $path The path to the file.
		 *
		 * @return boolean
		 */
		public static function isReadable( $path ) {        }//end isReadable()
		/**
		 * CodeSniffer alternative for realpath.
		 *
		 * Allows for PHAR support.
		 *
		 * @param string $path The path to use.
		 *
		 * @return mixed
		 */
		public static function realpath( $path ) {      }//end realpath()
		/**
		 * Removes a base path from the front of a file path.
		 *
		 * @param string $path     The path of the file.
		 * @param string $basepath The base path to remove. This should not end
		 *                         with a directory separator.
		 *
		 * @return string
		 */
		public static function stripBasepath( $path, $basepath ) {      }//end stripBasepath()
		/**
		 * Detects the EOL character being used in a string.
		 *
		 * @param string $contents The contents to check.
		 *
		 * @return string
		 */
		public static function detectLineEndings( $contents ) {         }//end detectLineEndings()
		/**
		 * Check if STDIN is a TTY.
		 *
		 * @return boolean
		 */
		public static function isStdinATTY() {      }//end isStdinATTY()
		/**
		 * Escape a path to a system command.
		 *
		 * @param string $cmd The path to the system command.
		 *
		 * @return string
		 */
		public static function escapeshellcmd( $cmd ) {         }//end escapeshellcmd()
		/**
		 * Prepares token content for output to screen.
		 *
		 * Replaces invisible characters so they are visible. On non-Windows
		 * operating systems it will also colour the invisible characters.
		 *
		 * @param string   $content The content to prepare.
		 * @param string[] $exclude A list of characters to leave invisible.
		 *                          Can contain \r, \n, \t and a space.
		 *
		 * @return string
		 */
		public static function prepareForOutput( $content, $exclude = array() ) {       }//end prepareForOutput()
		/**
		 * Returns true if the specified string is in the camel caps format.
		 *
		 * @param string  $string      The string the verify.
		 * @param boolean $classFormat If true, check to see if the string is in the
		 *                             class format. Class format strings must start
		 *                             with a capital letter and contain no
		 *                             underscores.
		 * @param boolean $public      If true, the first character in the string
		 *                             must be an a-z character. If false, the
		 *                             character must be an underscore. This
		 *                             argument is only applicable if $classFormat
		 *                             is false.
		 * @param boolean $strict      If true, the string must not have two capital
		 *                             letters next to each other. If false, a
		 *                             relaxed camel caps policy is used to allow
		 *                             for acronyms.
		 *
		 * @return boolean
		 */
		public static function isCamelCaps( $string, $classFormat = false, $public = true, $strict = true ) {       }//end isCamelCaps()
		/**
		 * Returns true if the specified string is in the underscore caps format.
		 *
		 * @param string $string The string to verify.
		 *
		 * @return boolean
		 */
		public static function isUnderscoreName( $string ) {        }//end isUnderscoreName()
		/**
		 * Returns a valid variable type for param/var tags.
		 *
		 * If type is not one of the standard types, it must be a custom type.
		 * Returns the correct type name suggestion if type name is invalid.
		 *
		 * @param string $varType The variable type to process.
		 *
		 * @return string
		 */
		public static function suggestType( $varType ) {        }//end suggestType()
		/**
		 * Given a sniff class name, returns the code for the sniff.
		 *
		 * @param string $sniffClass The fully qualified sniff class name.
		 *
		 * @return string
		 */
		public static function getSniffCode( $sniffClass ) {        }//end getSniffCode()
		/**
		 * Removes project-specific information from a sniff class name.
		 *
		 * @param string $sniffClass The fully qualified sniff class name.
		 *
		 * @return string
		 */
		public static function cleanSniffClass( $sniffClass ) {         }//end cleanSniffClass()
	}
	class Standards {

		/**
		 * Get a list of paths where standards are installed.
		 *
		 * Unresolvable relative paths will be excluded from the results.
		 *
		 * @return array
		 */
		public static function getInstalledStandardPaths() {        }//end getInstalledStandardPaths()
		/**
		 * Get the details of all coding standards installed.
		 *
		 * Coding standards are directories located in the
		 * CodeSniffer/Standards directory. Valid coding standards
		 * include a Sniffs subdirectory.
		 *
		 * The details returned for each standard are:
		 * - path:      the path to the coding standard's main directory
		 * - name:      the name of the coding standard, as sourced from the ruleset.xml file
		 * - namespace: the namespace used by the coding standard, as sourced from the ruleset.xml file
		 *
		 * If you only need the paths to the installed standards,
		 * use getInstalledStandardPaths() instead as it performs less work to
		 * retrieve coding standard names.
		 *
		 * @param boolean $includeGeneric If true, the special "Generic"
		 *                                coding standard will be included
		 *                                if installed.
		 * @param string  $standardsDir   A specific directory to look for standards
		 *                                in. If not specified, PHP_CodeSniffer will
		 *                                look in its default locations.
		 *
		 * @return array
		 * @see    getInstalledStandardPaths()
		 */
		public static function getInstalledStandardDetails( $includeGeneric = false, $standardsDir = '' ) {         }//end getInstalledStandardDetails()
		/**
		 * Get a list of all coding standards installed.
		 *
		 * Coding standards are directories located in the
		 * CodeSniffer/Standards directory. Valid coding standards
		 * include a Sniffs subdirectory.
		 *
		 * @param boolean $includeGeneric If true, the special "Generic"
		 *                                coding standard will be included
		 *                                if installed.
		 * @param string  $standardsDir   A specific directory to look for standards
		 *                                in. If not specified, PHP_CodeSniffer will
		 *                                look in its default locations.
		 *
		 * @return array
		 * @see    isInstalledStandard()
		 */
		public static function getInstalledStandards( $includeGeneric = false, $standardsDir = '' ) {       }//end getInstalledStandards()
		/**
		 * Determine if a standard is installed.
		 *
		 * Coding standards are directories located in the
		 * CodeSniffer/Standards directory. Valid coding standards
		 * include a ruleset.xml file.
		 *
		 * @param string $standard The name of the coding standard.
		 *
		 * @return boolean
		 * @see    getInstalledStandards()
		 */
		public static function isInstalledStandard( $standard ) {       }//end isInstalledStandard()
		/**
		 * Return the path of an installed coding standard.
		 *
		 * Coding standards are directories located in the
		 * CodeSniffer/Standards directory. Valid coding standards
		 * include a ruleset.xml file.
		 *
		 * @param string $standard The name of the coding standard.
		 *
		 * @return string|null
		 */
		public static function getInstalledStandardPath( $standard ) {      }//end getInstalledStandardPath()
		/**
		 * Prints out a list of installed coding standards.
		 *
		 * @return void
		 */
		public static function printInstalledStandards() {      }//end printInstalledStandards()
	}
}

namespace PHP_CodeSniffer {
	class Ruleset {

		/**
		 * The name of the coding standard being used.
		 *
		 * If a top-level standard includes other standards, or sniffs
		 * from other standards, only the name of the top-level standard
		 * will be stored in here.
		 *
		 * If multiple top-level standards are being loaded into
		 * a single ruleset object, this will store a comma separated list
		 * of the top-level standard names.
		 *
		 * @var string
		 */
		public $name = '';
		/**
		 * A list of file paths for the ruleset files being used.
		 *
		 * @var string[]
		 */
		public $paths = array();
		/**
		 * A list of regular expressions used to ignore specific sniffs for files and folders.
		 *
		 * Is also used to set global exclude patterns.
		 * The key is the regular expression and the value is the type
		 * of ignore pattern (absolute or relative).
		 *
		 * @var array<string, string>
		 */
		public $ignorePatterns = array();
		/**
		 * A list of regular expressions used to include specific sniffs for files and folders.
		 *
		 * The key is the sniff code and the value is an array with
		 * the key being a regular expression and the value is the type
		 * of ignore pattern (absolute or relative).
		 *
		 * @var array<string, array<string, string>>
		 */
		public $includePatterns = array();
		/**
		 * An array of sniff objects that are being used to check files.
		 *
		 * The key is the fully qualified name of the sniff class
		 * and the value is the sniff object.
		 *
		 * @var array<string, \PHP_CodeSniffer\Sniffs\Sniff>
		 */
		public $sniffs = array();
		/**
		 * A mapping of sniff codes to fully qualified class names.
		 *
		 * The key is the sniff code and the value
		 * is the fully qualified name of the sniff class.
		 *
		 * @var array<string, string>
		 */
		public $sniffCodes = array();
		/**
		 * An array of token types and the sniffs that are listening for them.
		 *
		 * The key is the token name being listened for and the value
		 * is the sniff object.
		 *
		 * @var array<int, \PHP_CodeSniffer\Sniffs\Sniff>
		 */
		public $tokenListeners = array();
		/**
		 * An array of rules from the ruleset.xml file.
		 *
		 * It may be empty, indicating that the ruleset does not override
		 * any of the default sniff settings.
		 *
		 * @var array<string, mixed>
		 */
		public $ruleset = array();
		/**
		 * The directories that the processed rulesets are in.
		 *
		 * @var string[]
		 */
		protected $rulesetDirs = array();
		/**
		 * Initialise the ruleset that the run will use.
		 *
		 * @param \PHP_CodeSniffer\Config $config The config data for the run.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If no sniffs were registered.
		 */
		public function __construct( \PHP_CodeSniffer\Config $config ) {        }//end __construct()
		/**
		 * Prints a report showing the sniffs contained in a standard.
		 *
		 * @return void
		 */
		public function explain() {         }//end explain()
		/**
		 * Processes a single ruleset and returns a list of the sniffs it represents.
		 *
		 * Rules founds within the ruleset are processed immediately, but sniff classes
		 * are not registered by this method.
		 *
		 * @param string $rulesetPath The path to a ruleset XML file.
		 * @param int    $depth       How many nested processing steps we are in. This
		 *                            is only used for debug output.
		 *
		 * @return string[]
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException - If the ruleset path is invalid.
		 *                                                      - If a specified autoload file could not be found.
		 */
		public function processRuleset( $rulesetPath, $depth = 0 ) {        }
		// end shouldProcessElement()
		/**
		 * Loads and stores sniffs objects used for sniffing files.
		 *
		 * @param array $files        Paths to the sniff files to register.
		 * @param array $restrictions The sniff class names to restrict the allowed
		 *                            listeners to.
		 * @param array $exclusions   The sniff class names to exclude from the
		 *                            listeners list.
		 *
		 * @return void
		 */
		public function registerSniffs( $files, $restrictions, $exclusions ) {      }//end registerSniffs()
		/**
		 * Populates the array of PHP_CodeSniffer_Sniff objects for this file.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If sniff registration fails.
		 */
		public function populateTokenListeners() {      }//end populateTokenListeners()
		/**
		 * Set a single property for a sniff.
		 *
		 * @param string $sniffClass The class name of the sniff.
		 * @param string $name       The name of the property to change.
		 * @param string $value      The new value of the property.
		 *
		 * @return void
		 */
		public function setSniffProperty( $sniffClass, $name, $value ) {        }//end setSniffProperty()
		/**
		 * Gets the array of ignore patterns.
		 *
		 * Optionally takes a listener to get ignore patterns specified
		 * for that sniff only.
		 *
		 * @param string $listener The listener to get patterns for. If NULL, all
		 *                         patterns are returned.
		 *
		 * @return array
		 */
		public function getIgnorePatterns( $listener = null ) {         }//end getIgnorePatterns()
		/**
		 * Gets the array of include patterns.
		 *
		 * Optionally takes a listener to get include patterns specified
		 * for that sniff only.
		 *
		 * @param string $listener The listener to get patterns for. If NULL, all
		 *                         patterns are returned.
		 *
		 * @return array
		 */
		public function getIncludePatterns( $listener = null ) {        }//end getIncludePatterns()
	}
}

namespace PHP_CodeSniffer\Exceptions {
	class RuntimeException extends \RuntimeException {

	}
	class DeepExitException extends \Exception {

	}
	class TokenizerException extends \Exception {

	}
}

namespace PHP_CodeSniffer {
	/**
	 * Stores the configuration used to run PHPCS and PHPCBF.
	 *
	 * @property string[] $files           The files and directories to check.
	 * @property string[] $standards       The standards being used for checking.
	 * @property int      $verbosity       How verbose the output should be.
	 *                                     0: no unnecessary output
	 *                                     1: basic output for files being checked
	 *                                     2: ruleset and file parsing output
	 *                                     3: sniff execution output
	 * @property bool     $interactive     Enable interactive checking mode.
	 * @property bool     $parallel        Check files in parallel.
	 * @property bool     $cache           Enable the use of the file cache.
	 * @property bool     $cacheFile       A file where the cache data should be written
	 * @property bool     $colors          Display colours in output.
	 * @property bool     $explain         Explain the coding standards.
	 * @property bool     $local           Process local files in directories only (no recursion).
	 * @property bool     $showSources     Show sniff source codes in report output.
	 * @property bool     $showProgress    Show basic progress information while running.
	 * @property bool     $quiet           Quiet mode; disables progress and verbose output.
	 * @property bool     $annotations     Process phpcs: annotations.
	 * @property int      $tabWidth        How many spaces each tab is worth.
	 * @property string   $encoding        The encoding of the files being checked.
	 * @property string[] $sniffs          The sniffs that should be used for checking.
	 *                                     If empty, all sniffs in the supplied standards will be used.
	 * @property string[] $exclude         The sniffs that should be excluded from checking.
	 *                                     If empty, all sniffs in the supplied standards will be used.
	 * @property string[] $ignored         Regular expressions used to ignore files and folders during checking.
	 * @property string   $reportFile      A file where the report output should be written.
	 * @property string   $generator       The documentation generator to use.
	 * @property string   $filter          The filter to use for the run.
	 * @property string[] $bootstrap       One of more files to include before the run begins.
	 * @property int      $reportWidth     The maximum number of columns that reports should use for output.
	 *                                     Set to "auto" for have this value changed to the width of the terminal.
	 * @property int      $errorSeverity   The minimum severity an error must have to be displayed.
	 * @property int      $warningSeverity The minimum severity a warning must have to be displayed.
	 * @property bool     $recordErrors    Record the content of error messages as well as error counts.
	 * @property string   $suffix          A suffix to add to fixed files.
	 * @property string   $basepath        A file system location to strip from the paths of files shown in reports.
	 * @property bool     $stdin           Read content from STDIN instead of supplied files.
	 * @property string   $stdinContent    Content passed directly to PHPCS on STDIN.
	 * @property string   $stdinPath       The path to use for content passed on STDIN.
	 *
	 * @property array<string, string>      $extensions File extensions that should be checked, and what tokenizer to use.
	 *                                                  E.g., array('inc' => 'PHP');
	 * @property array<string, string|null> $reports    The reports to use for printing output after the run.
	 *                                                  The format of the array is:
	 *                                                      array(
	 *                                                          'reportName1' => 'outputFile',
	 *                                                          'reportName2' => null,
	 *                                                      );
	 *                                                  If the array value is NULL, the report will be written to the screen.
	 *
	 * @property string[] $unknown Any arguments gathered on the command line that are unknown to us.
	 *                             E.g., using `phpcs -c` will give array('c');
	 */
	class Config {

		/**
		 * The current version.
		 *
		 * @var string
		 */
		const VERSION = '3.6.0';
		/**
		 * Package stability; either stable, beta or alpha.
		 *
		 * @var string
		 */
		const STABILITY = 'stable';
		/**
		 * Whether or not to kill the process when an unknown command line arg is found.
		 *
		 * If FALSE, arguments that are not command line options or file/directory paths
		 * will be ignored and execution will continue. These values will be stored in
		 * $this->unknown.
		 *
		 * @var boolean
		 */
		public $dieOnUnknownArg;
		/**
		 * Get the value of an inaccessible property.
		 *
		 * @param string $name The name of the property.
		 *
		 * @return mixed
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the setting name is invalid.
		 */
		public function __get( $name ) {        }//end __get()
		/**
		 * Set the value of an inaccessible property.
		 *
		 * @param string $name  The name of the property.
		 * @param mixed  $value The value of the property.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the setting name is invalid.
		 */
		public function __set( $name, $value ) {        }//end __set()
		/**
		 * Check if the value of an inaccessible property is set.
		 *
		 * @param string $name The name of the property.
		 *
		 * @return bool
		 */
		public function __isset( $name ) {      }//end __isset()
		/**
		 * Unset the value of an inaccessible property.
		 *
		 * @param string $name The name of the property.
		 *
		 * @return void
		 */
		public function __unset( $name ) {      }//end __unset()
		/**
		 * Get the array of all config settings.
		 *
		 * @return array<string, mixed>
		 */
		public function getSettings() {         }//end getSettings()
		/**
		 * Set the array of all config settings.
		 *
		 * @param array<string, mixed> $settings The array of config settings.
		 *
		 * @return void
		 */
		public function setSettings( $settings ) {      }//end setSettings()
		/**
		 * Creates a Config object and populates it with command line values.
		 *
		 * @param array $cliArgs         An array of values gathered from CLI args.
		 * @param bool  $dieOnUnknownArg Whether or not to kill the process when an
		 *                               unknown command line arg is found.
		 *
		 * @return void
		 */
		public function __construct( array $cliArgs = array(), $dieOnUnknownArg = true ) {      }//end __construct()
		/**
		 * Set the command line values.
		 *
		 * @param array $args An array of command line arguments to set.
		 *
		 * @return void
		 */
		public function setCommandLineValues( $args ) {         }//end setCommandLineValues()
		/**
		 * Restore default values for all possible command line arguments.
		 *
		 * @return array
		 */
		public function restoreDefaults() {         }//end restoreDefaults()
		/**
		 * Processes a short (-e) command line argument.
		 *
		 * @param string $arg The command line argument.
		 * @param int    $pos The position of the argument on the command line.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function processShortArgument( $arg, $pos ) {        }//end processShortArgument()
		/**
		 * Processes a long (--example) command line argument.
		 *
		 * @param string $arg The command line argument.
		 * @param int    $pos The position of the argument on the command line.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function processLongArgument( $arg, $pos ) {         }//end processLongArgument()
		/**
		 * Processes an unknown command line argument.
		 *
		 * Assumes all unknown arguments are files and folders to check.
		 *
		 * @param string $arg The command line argument.
		 * @param int    $pos The position of the argument on the command line.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function processUnknownArgument( $arg, $pos ) {      }//end processUnknownArgument()
		/**
		 * Processes a file path and add it to the file list.
		 *
		 * @param string $path The path to the file to add.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function processFilePath( $path ) {      }//end processFilePath()
		/**
		 * Prints out the usage information for this script.
		 *
		 * @return void
		 */
		public function printUsage() {      }//end printUsage()
		/**
		 * Prints out the short usage information for this script.
		 *
		 * @param bool $return If TRUE, the usage string is returned
		 *                     instead of output to screen.
		 *
		 * @return string|void
		 */
		public function printShortUsage( $return = false ) {        }//end printShortUsage()
		/**
		 * Prints out the usage information for PHPCS.
		 *
		 * @return void
		 */
		public function printPHPCSUsage() {         }//end printPHPCSUsage()
		/**
		 * Prints out the usage information for PHPCBF.
		 *
		 * @return void
		 */
		public function printPHPCBFUsage() {        }//end printPHPCBFUsage()
		/**
		 * Get a single config value.
		 *
		 * @param string $key The name of the config value.
		 *
		 * @return string|null
		 * @see    setConfigData()
		 * @see    getAllConfigData()
		 */
		public static function getConfigData( $key ) {      }//end getConfigData()
		/**
		 * Get the path to an executable utility.
		 *
		 * @param string $name The name of the executable utility.
		 *
		 * @return string|null
		 * @see    getConfigData()
		 */
		public static function getExecutablePath( $name ) {         }//end getExecutablePath()
		/**
		 * Set a single config value.
		 *
		 * @param string      $key   The name of the config value.
		 * @param string|null $value The value to set. If null, the config
		 *                           entry is deleted, reverting it to the
		 *                           default value.
		 * @param boolean     $temp  Set this config data temporarily for this
		 *                           script run. This will not write the config
		 *                           data to the config file.
		 *
		 * @return bool
		 * @see    getConfigData()
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException If the config file can not be written.
		 */
		public static function setConfigData( $key, $value, $temp = false ) {       }//end setConfigData()
		/**
		 * Get all config data.
		 *
		 * @return array<string, string>
		 * @see    getConfigData()
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException If the config file could not be read.
		 */
		public static function getAllConfigData() {         }//end getAllConfigData()
		/**
		 * Prints out the gathered config data.
		 *
		 * @param array $data The config data to print.
		 *
		 * @return void
		 */
		public function printConfigData( $data ) {      }//end printConfigData()
	}
}

namespace PHP_CodeSniffer\Files {
	class File {

		/**
		 * The absolute path to the file associated with this object.
		 *
		 * @var string
		 */
		public $path = '';
		/**
		 * The content of the file.
		 *
		 * @var string
		 */
		protected $content = '';
		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		public $config = null;
		/**
		 * The ruleset used for the run.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		public $ruleset = null;
		/**
		 * If TRUE, the entire file is being ignored.
		 *
		 * @var boolean
		 */
		public $ignored = false;
		/**
		 * The EOL character this file uses.
		 *
		 * @var string
		 */
		public $eolChar = '';
		/**
		 * The Fixer object to control fixing errors.
		 *
		 * @var \PHP_CodeSniffer\Fixer
		 */
		public $fixer = null;
		/**
		 * The tokenizer being used for this file.
		 *
		 * @var \PHP_CodeSniffer\Tokenizers\Tokenizer
		 */
		public $tokenizer = null;
		/**
		 * The name of the tokenizer being used for this file.
		 *
		 * @var string
		 */
		public $tokenizerType = 'PHP';
		/**
		 * Was the file loaded from cache?
		 *
		 * If TRUE, the file was loaded from a local cache.
		 * If FALSE, the file was tokenized and processed fully.
		 *
		 * @var boolean
		 */
		public $fromCache = false;
		/**
		 * The number of tokens in this file.
		 *
		 * Stored here to save calling count() everywhere.
		 *
		 * @var integer
		 */
		public $numTokens = 0;
		/**
		 * The tokens stack map.
		 *
		 * @var array
		 */
		protected $tokens = array();
		/**
		 * The errors raised from sniffs.
		 *
		 * @var array
		 * @see getErrors()
		 */
		protected $errors = array();
		/**
		 * The warnings raised from sniffs.
		 *
		 * @var array
		 * @see getWarnings()
		 */
		protected $warnings = array();
		/**
		 * The metrics recorded by sniffs.
		 *
		 * @var array
		 * @see getMetrics()
		 */
		protected $metrics = array();
		/**
		 * The total number of errors raised.
		 *
		 * @var integer
		 */
		protected $errorCount = 0;
		/**
		 * The total number of warnings raised.
		 *
		 * @var integer
		 */
		protected $warningCount = 0;
		/**
		 * The total number of errors and warnings that can be fixed.
		 *
		 * @var integer
		 */
		protected $fixableCount = 0;
		/**
		 * The total number of errors and warnings that were fixed.
		 *
		 * @var integer
		 */
		protected $fixedCount = 0;
		/**
		 * TRUE if errors are being replayed from the cache.
		 *
		 * @var boolean
		 */
		protected $replayingErrors = false;
		/**
		 * An array of sniffs that are being ignored.
		 *
		 * @var array
		 */
		protected $ignoredListeners = array();
		/**
		 * An array of message codes that are being ignored.
		 *
		 * @var array
		 */
		protected $ignoredCodes = array();
		/**
		 * An array of sniffs listening to this file's processing.
		 *
		 * @var \PHP_CodeSniffer\Sniffs\Sniff[]
		 */
		protected $listeners = array();
		/**
		 * The class name of the sniff currently processing the file.
		 *
		 * @var string
		 */
		protected $activeListener = '';
		/**
		 * An array of sniffs being processed and how long they took.
		 *
		 * @var array
		 */
		protected $listenerTimes = array();
		/**
		 * A cache of often used config settings to improve performance.
		 *
		 * Storing them here saves 10k+ calls to __get() in the Config class.
		 *
		 * @var array
		 */
		protected $configCache = array();
		/**
		 * Constructs a file.
		 *
		 * @param string                   $path    The absolute path to the file to process.
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 * @param \PHP_CodeSniffer\Config  $config  The config data for the run.
		 *
		 * @return void
		 */
		public function __construct( $path, \PHP_CodeSniffer\Ruleset $ruleset, \PHP_CodeSniffer\Config $config ) {      }//end __construct()
		/**
		 * Set the content of the file.
		 *
		 * Setting the content also calculates the EOL char being used.
		 *
		 * @param string $content The file content.
		 *
		 * @return void
		 */
		public function setContent( $content ) {        }//end setContent()
		/**
		 * Reloads the content of the file.
		 *
		 * By default, we have no idea where our content comes from,
		 * so we can't do anything.
		 *
		 * @return void
		 */
		public function reloadContent() {       }//end reloadContent()
		/**
		 * Disables caching of this file.
		 *
		 * @return void
		 */
		public function disableCaching() {      }//end disableCaching()
		/**
		 * Starts the stack traversal and tells listeners when tokens are found.
		 *
		 * @return void
		 */
		public function process() {         }//end process()
		/**
		 * Tokenizes the file and prepares it for the test run.
		 *
		 * @return void
		 */
		public function parse() {       }//end parse()
		/**
		 * Returns the token stack for this file.
		 *
		 * @return array
		 */
		public function getTokens() {       }//end getTokens()
		/**
		 * Remove vars stored in this file that are no longer required.
		 *
		 * @return void
		 */
		public function cleanUp() {         }//end cleanUp()
		/**
		 * Records an error against a specific token in the file.
		 *
		 * @param string  $error    The error message.
		 * @param int     $stackPtr The stack position where the error occurred.
		 * @param string  $code     A violation code unique to the sniff message.
		 * @param array   $data     Replacements for the error message.
		 * @param int     $severity The severity level for this error. A value of 0
		 *                          will be converted into the default severity level.
		 * @param boolean $fixable  Can the error be fixed by the sniff?
		 *
		 * @return boolean
		 */
		public function addError( $error, $stackPtr, $code, $data = array(), $severity = 0, $fixable = false ) {        }//end addError()
		/**
		 * Records a warning against a specific token in the file.
		 *
		 * @param string  $warning  The error message.
		 * @param int     $stackPtr The stack position where the error occurred.
		 * @param string  $code     A violation code unique to the sniff message.
		 * @param array   $data     Replacements for the warning message.
		 * @param int     $severity The severity level for this warning. A value of 0
		 *                          will be converted into the default severity level.
		 * @param boolean $fixable  Can the warning be fixed by the sniff?
		 *
		 * @return boolean
		 */
		public function addWarning( $warning, $stackPtr, $code, $data = array(), $severity = 0, $fixable = false ) {        }//end addWarning()
		/**
		 * Records an error against a specific line in the file.
		 *
		 * @param string $error    The error message.
		 * @param int    $line     The line on which the error occurred.
		 * @param string $code     A violation code unique to the sniff message.
		 * @param array  $data     Replacements for the error message.
		 * @param int    $severity The severity level for this error. A value of 0
		 *                         will be converted into the default severity level.
		 *
		 * @return boolean
		 */
		public function addErrorOnLine( $error, $line, $code, $data = array(), $severity = 0 ) {        }//end addErrorOnLine()
		/**
		 * Records a warning against a specific token in the file.
		 *
		 * @param string $warning  The error message.
		 * @param int    $line     The line on which the warning occurred.
		 * @param string $code     A violation code unique to the sniff message.
		 * @param array  $data     Replacements for the warning message.
		 * @param int    $severity The severity level for this warning. A value of 0 will
		 *                         will be converted into the default severity level.
		 *
		 * @return boolean
		 */
		public function addWarningOnLine( $warning, $line, $code, $data = array(), $severity = 0 ) {        }//end addWarningOnLine()
		/**
		 * Records a fixable error against a specific token in the file.
		 *
		 * Returns true if the error was recorded and should be fixed.
		 *
		 * @param string $error    The error message.
		 * @param int    $stackPtr The stack position where the error occurred.
		 * @param string $code     A violation code unique to the sniff message.
		 * @param array  $data     Replacements for the error message.
		 * @param int    $severity The severity level for this error. A value of 0
		 *                         will be converted into the default severity level.
		 *
		 * @return boolean
		 */
		public function addFixableError( $error, $stackPtr, $code, $data = array(), $severity = 0 ) {       }//end addFixableError()
		/**
		 * Records a fixable warning against a specific token in the file.
		 *
		 * Returns true if the warning was recorded and should be fixed.
		 *
		 * @param string $warning  The error message.
		 * @param int    $stackPtr The stack position where the error occurred.
		 * @param string $code     A violation code unique to the sniff message.
		 * @param array  $data     Replacements for the warning message.
		 * @param int    $severity The severity level for this warning. A value of 0
		 *                         will be converted into the default severity level.
		 *
		 * @return boolean
		 */
		public function addFixableWarning( $warning, $stackPtr, $code, $data = array(), $severity = 0 ) {       }//end addFixableWarning()
		/**
		 * Adds an error to the error stack.
		 *
		 * @param boolean $error    Is this an error message?
		 * @param string  $message  The text of the message.
		 * @param int     $line     The line on which the message occurred.
		 * @param int     $column   The column at which the message occurred.
		 * @param string  $code     A violation code unique to the sniff message.
		 * @param array   $data     Replacements for the message.
		 * @param int     $severity The severity level for this message. A value of 0
		 *                          will be converted into the default severity level.
		 * @param boolean $fixable  Can the problem be fixed by the sniff?
		 *
		 * @return boolean
		 */
		protected function addMessage( $error, $message, $line, $column, $code, $data, $severity, $fixable ) {      }//end addMessage()
		/**
		 * Record a metric about the file being examined.
		 *
		 * @param int    $stackPtr The stack position where the metric was recorded.
		 * @param string $metric   The name of the metric being recorded.
		 * @param string $value    The value of the metric being recorded.
		 *
		 * @return boolean
		 */
		public function recordMetric( $stackPtr, $metric, $value ) {        }//end recordMetric()
		/**
		 * Returns the number of errors raised.
		 *
		 * @return int
		 */
		public function getErrorCount() {       }//end getErrorCount()
		/**
		 * Returns the number of warnings raised.
		 *
		 * @return int
		 */
		public function getWarningCount() {         }//end getWarningCount()
		/**
		 * Returns the number of fixable errors/warnings raised.
		 *
		 * @return int
		 */
		public function getFixableCount() {         }//end getFixableCount()
		/**
		 * Returns the number of fixed errors/warnings.
		 *
		 * @return int
		 */
		public function getFixedCount() {       }//end getFixedCount()
		/**
		 * Returns the list of ignored lines.
		 *
		 * @return array
		 */
		public function getIgnoredLines() {         }//end getIgnoredLines()
		/**
		 * Returns the errors raised from processing this file.
		 *
		 * @return array
		 */
		public function getErrors() {       }//end getErrors()
		/**
		 * Returns the warnings raised from processing this file.
		 *
		 * @return array
		 */
		public function getWarnings() {         }//end getWarnings()
		/**
		 * Returns the metrics found while processing this file.
		 *
		 * @return array
		 */
		public function getMetrics() {      }//end getMetrics()
		/**
		 * Returns the absolute filename of this file.
		 *
		 * @return string
		 */
		public function getFilename() {         }//end getFilename()
		/**
		 * Returns the declaration names for classes, interfaces, traits, and functions.
		 *
		 * @param int $stackPtr The position of the declaration token which
		 *                      declared the class, interface, trait, or function.
		 *
		 * @return string|null The name of the class, interface, trait, or function;
		 *                     or NULL if the function or class is anonymous.
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified token is not of type
		 *                                                      T_FUNCTION, T_CLASS, T_ANON_CLASS,
		 *                                                      T_CLOSURE, T_TRAIT, or T_INTERFACE.
		 */
		public function getDeclarationName( $stackPtr ) {       }//end getDeclarationName()
		/**
		 * Returns the method parameters for the specified function token.
		 *
		 * Also supports passing in a USE token for a closure use group.
		 *
		 * Each parameter is in the following format:
		 *
		 * <code>
		 *   0 => array(
		 *         'name'                => '$var',  // The variable name.
		 *         'token'               => integer, // The stack pointer to the variable name.
		 *         'content'             => string,  // The full content of the variable definition.
		 *         'pass_by_reference'   => boolean, // Is the variable passed by reference?
		 *         'reference_token'     => integer, // The stack pointer to the reference operator
		 *                                           // or FALSE if the param is not passed by reference.
		 *         'variable_length'     => boolean, // Is the param of variable length through use of `...` ?
		 *         'variadic_token'      => integer, // The stack pointer to the ... operator
		 *                                           // or FALSE if the param is not variable length.
		 *         'type_hint'           => string,  // The type hint for the variable.
		 *         'type_hint_token'     => integer, // The stack pointer to the start of the type hint
		 *                                           // or FALSE if there is no type hint.
		 *         'type_hint_end_token' => integer, // The stack pointer to the end of the type hint
		 *                                           // or FALSE if there is no type hint.
		 *         'nullable_type'       => boolean, // TRUE if the type is preceded by the nullability
		 *                                           // operator.
		 *         'comma_token'         => integer, // The stack pointer to the comma after the param
		 *                                           // or FALSE if this is the last param.
		 *        )
		 * </code>
		 *
		 * Parameters with default values have additional array indexes of:
		 *         'default'             => string,  // The full content of the default value.
		 *         'default_token'       => integer, // The stack pointer to the start of the default value.
		 *         'default_equal_token' => integer, // The stack pointer to the equals sign.
		 *
		 * Parameters declared using PHP 8 constructor property promotion, have these additional array indexes:
		 *         'property_visibility' => string,  // The property visibility as declared.
		 *         'visibility_token'    => integer, // The stack pointer to the visibility modifier token.
		 *
		 * @param int $stackPtr The position in the stack of the function token
		 *                      to acquire the parameters for.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified $stackPtr is not of
		 *                                                      type T_FUNCTION, T_CLOSURE, T_USE,
		 *                                                      or T_FN.
		 */
		public function getMethodParameters( $stackPtr ) {      }//end getMethodParameters()
		/**
		 * Returns the visibility and implementation properties of a method.
		 *
		 * The format of the return value is:
		 * <code>
		 *   array(
		 *    'scope'                 => 'public', // Public, private, or protected
		 *    'scope_specified'       => true,     // TRUE if the scope keyword was found.
		 *    'return_type'           => '',       // The return type of the method.
		 *    'return_type_token'     => integer,  // The stack pointer to the start of the return type
		 *                                         // or FALSE if there is no return type.
		 *    'return_type_end_token' => integer,  // The stack pointer to the end of the return type
		 *                                         // or FALSE if there is no return type.
		 *    'nullable_return_type'  => false,    // TRUE if the return type is preceded by the
		 *                                         // nullability operator.
		 *    'is_abstract'           => false,    // TRUE if the abstract keyword was found.
		 *    'is_final'              => false,    // TRUE if the final keyword was found.
		 *    'is_static'             => false,    // TRUE if the static keyword was found.
		 *    'has_body'              => false,    // TRUE if the method has a body
		 *   );
		 * </code>
		 *
		 * @param int $stackPtr The position in the stack of the function token to
		 *                      acquire the properties for.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified position is not a
		 *                                                      T_FUNCTION, T_CLOSURE, or T_FN token.
		 */
		public function getMethodProperties( $stackPtr ) {      }//end getMethodProperties()
		/**
		 * Returns the visibility and implementation properties of a class member var.
		 *
		 * The format of the return value is:
		 *
		 * <code>
		 *   array(
		 *    'scope'           => string,  // Public, private, or protected.
		 *    'scope_specified' => boolean, // TRUE if the scope was explicitly specified.
		 *    'is_static'       => boolean, // TRUE if the static keyword was found.
		 *    'type'            => string,  // The type of the var (empty if no type specified).
		 *    'type_token'      => integer, // The stack pointer to the start of the type
		 *                                  // or FALSE if there is no type.
		 *    'type_end_token'  => integer, // The stack pointer to the end of the type
		 *                                  // or FALSE if there is no type.
		 *    'nullable_type'   => boolean, // TRUE if the type is preceded by the nullability
		 *                                  // operator.
		 *   );
		 * </code>
		 *
		 * @param int $stackPtr The position in the stack of the T_VARIABLE token to
		 *                      acquire the properties for.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified position is not a
		 *                                                      T_VARIABLE token, or if the position is not
		 *                                                      a class member variable.
		 */
		public function getMemberProperties( $stackPtr ) {      }//end getMemberProperties()
		/**
		 * Returns the visibility and implementation properties of a class.
		 *
		 * The format of the return value is:
		 * <code>
		 *   array(
		 *    'is_abstract' => false, // true if the abstract keyword was found.
		 *    'is_final'    => false, // true if the final keyword was found.
		 *   );
		 * </code>
		 *
		 * @param int $stackPtr The position in the stack of the T_CLASS token to
		 *                      acquire the properties for.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified position is not a
		 *                                                      T_CLASS token.
		 */
		public function getClassProperties( $stackPtr ) {       }//end getClassProperties()
		/**
		 * Determine if the passed token is a reference operator.
		 *
		 * Returns true if the specified token position represents a reference.
		 * Returns false if the token represents a bitwise operator.
		 *
		 * @param int $stackPtr The position of the T_BITWISE_AND token.
		 *
		 * @return boolean
		 */
		public function isReference( $stackPtr ) {      }//end isReference()
		/**
		 * Returns the content of the tokens from the specified start position in
		 * the token stack for the specified length.
		 *
		 * @param int  $start       The position to start from in the token stack.
		 * @param int  $length      The length of tokens to traverse from the start pos.
		 * @param bool $origContent Whether the original content or the tab replaced
		 *                          content should be used.
		 *
		 * @return string The token contents.
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If the specified position does not exist.
		 */
		public function getTokensAsString( $start, $length, $origContent = false ) {        }//end getTokensAsString()
		/**
		 * Returns the position of the previous specified token(s).
		 *
		 * If a value is specified, the previous token of the specified type(s)
		 * containing the specified value will be returned.
		 *
		 * Returns false if no token can be found.
		 *
		 * @param int|string|array $types   The type(s) of tokens to search for.
		 * @param int              $start   The position to start searching from in the
		 *                                  token stack.
		 * @param int|null         $end     The end position to fail if no token is found.
		 *                                  if not specified or null, end will default to
		 *                                  the start of the token stack.
		 * @param bool             $exclude If true, find the previous token that is NOT of
		 *                                  the types specified in $types.
		 * @param string|null      $value   The value that the token(s) must be equal to.
		 *                                  If value is omitted, tokens with any value will
		 *                                  be returned.
		 * @param bool             $local   If true, tokens outside the current statement
		 *                                  will not be checked. IE. checking will stop
		 *                                  at the previous semi-colon found.
		 *
		 * @return int|false
		 * @see    findNext()
		 */
		public function findPrevious( $types, $start, $end = null, $exclude = false, $value = null, $local = false ) {      }//end findPrevious()
		/**
		 * Returns the position of the next specified token(s).
		 *
		 * If a value is specified, the next token of the specified type(s)
		 * containing the specified value will be returned.
		 *
		 * Returns false if no token can be found.
		 *
		 * @param int|string|array $types   The type(s) of tokens to search for.
		 * @param int              $start   The position to start searching from in the
		 *                                  token stack.
		 * @param int|null         $end     The end position to fail if no token is found.
		 *                                  if not specified or null, end will default to
		 *                                  the end of the token stack.
		 * @param bool             $exclude If true, find the next token that is NOT of
		 *                                  a type specified in $types.
		 * @param string|null      $value   The value that the token(s) must be equal to.
		 *                                  If value is omitted, tokens with any value will
		 *                                  be returned.
		 * @param bool             $local   If true, tokens outside the current statement
		 *                                  will not be checked. i.e., checking will stop
		 *                                  at the next semi-colon found.
		 *
		 * @return int|false
		 * @see    findPrevious()
		 */
		public function findNext( $types, $start, $end = null, $exclude = false, $value = null, $local = false ) {      }//end findNext()
		/**
		 * Returns the position of the first non-whitespace token in a statement.
		 *
		 * @param int              $start  The position to start searching from in the token stack.
		 * @param int|string|array $ignore Token types that should not be considered stop points.
		 *
		 * @return int
		 */
		public function findStartOfStatement( $start, $ignore = null ) {        }//end findStartOfStatement()
		/**
		 * Returns the position of the last non-whitespace token in a statement.
		 *
		 * @param int              $start  The position to start searching from in the token stack.
		 * @param int|string|array $ignore Token types that should not be considered stop points.
		 *
		 * @return int
		 */
		public function findEndOfStatement( $start, $ignore = null ) {      }//end findEndOfStatement()
		/**
		 * Returns the position of the first token on a line, matching given type.
		 *
		 * Returns false if no token can be found.
		 *
		 * @param int|string|array $types   The type(s) of tokens to search for.
		 * @param int              $start   The position to start searching from in the
		 *                                  token stack. The first token matching on
		 *                                  this line before this token will be returned.
		 * @param bool             $exclude If true, find the token that is NOT of
		 *                                  the types specified in $types.
		 * @param string           $value   The value that the token must be equal to.
		 *                                  If value is omitted, tokens with any value will
		 *                                  be returned.
		 *
		 * @return int|false
		 */
		public function findFirstOnLine( $types, $start, $exclude = false, $value = null ) {        }//end findFirstOnLine()
		/**
		 * Determine if the passed token has a condition of one of the passed types.
		 *
		 * @param int              $stackPtr The position of the token we are checking.
		 * @param int|string|array $types    The type(s) of tokens to search for.
		 *
		 * @return boolean
		 */
		public function hasCondition( $stackPtr, $types ) {         }//end hasCondition()
		/**
		 * Return the position of the condition for the passed token.
		 *
		 * Returns FALSE if the token does not have the condition.
		 *
		 * @param int        $stackPtr The position of the token we are checking.
		 * @param int|string $type     The type of token to search for.
		 * @param bool       $first    If TRUE, will return the matched condition
		 *                             furthest away from the passed token.
		 *                             If FALSE, will return the matched condition
		 *                             closest to the passed token.
		 *
		 * @return int|false
		 */
		public function getCondition( $stackPtr, $type, $first = true ) {       }//end getCondition()
		/**
		 * Returns the name of the class that the specified class extends.
		 * (works for classes, anonymous classes and interfaces)
		 *
		 * Returns FALSE on error or if there is no extended class name.
		 *
		 * @param int $stackPtr The stack position of the class.
		 *
		 * @return string|false
		 */
		public function findExtendedClassName( $stackPtr ) {        }//end findExtendedClassName()
		/**
		 * Returns the names of the interfaces that the specified class implements.
		 *
		 * Returns FALSE on error or if there are no implemented interface names.
		 *
		 * @param int $stackPtr The stack position of the class.
		 *
		 * @return array|false
		 */
		public function findImplementedInterfaceNames( $stackPtr ) {        }//end findImplementedInterfaceNames()
	}
	class DummyFile extends \PHP_CodeSniffer\Files\File {

		/**
		 * Creates a DummyFile object and sets the content.
		 *
		 * @param string                   $content The content of the file.
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 * @param \PHP_CodeSniffer\Config  $config  The config data for the run.
		 *
		 * @return void
		 */
		public function __construct( $content, \PHP_CodeSniffer\Ruleset $ruleset, \PHP_CodeSniffer\Config $config ) {       }//end __construct()
		/**
		 * Set the error, warning, and fixable counts for the file.
		 *
		 * @param int $errorCount   The number of errors found.
		 * @param int $warningCount The number of warnings found.
		 * @param int $fixableCount The number of fixable errors found.
		 * @param int $fixedCount   The number of errors that were fixed.
		 *
		 * @return void
		 */
		public function setErrorCounts( $errorCount, $warningCount, $fixableCount, $fixedCount ) {      }//end setErrorCounts()
	}
	class FileList implements \Iterator, \Countable {

		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		public $config = null;
		/**
		 * The ruleset used for the run.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		public $ruleset = null;
		/**
		 * An array of patterns to use for skipping files.
		 *
		 * @var array
		 */
		protected $ignorePatterns = array();
		/**
		 * Constructs a file list and loads in an array of file paths to process.
		 *
		 * @param \PHP_CodeSniffer\Config  $config  The config data for the run.
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 *
		 * @return void
		 */
		public function __construct( \PHP_CodeSniffer\Config $config, \PHP_CodeSniffer\Ruleset $ruleset ) {         }//end __construct()
		/**
		 * Add a file to the list.
		 *
		 * If a file object has already been created, it can be passed here.
		 * If it is left NULL, it will be created when accessed.
		 *
		 * @param string                      $path The path to the file being added.
		 * @param \PHP_CodeSniffer\Files\File $file The file being added.
		 *
		 * @return void
		 */
		public function addFile( $path, $file = null ) {        }
		// end getFilterClass()
		/**
		 * Rewind the iterator to the first file.
		 *
		 * @return void
		 */
		#[\ReturnTypeWillChange]
		public function rewind() {      }//end rewind()
		/**
		 * Get the file that is currently being processed.
		 *
		 * @return \PHP_CodeSniffer\Files\File
		 */
		#[\ReturnTypeWillChange]
		public function current() {         }//end current()
		/**
		 * Return the file path of the current file being processed.
		 *
		 * @return void
		 */
		#[\ReturnTypeWillChange]
		public function key() {         }//end key()
		/**
		 * Move forward to the next file.
		 *
		 * @return void
		 */
		#[\ReturnTypeWillChange]
		public function next() {        }//end next()
		/**
		 * Checks if current position is valid.
		 *
		 * @return boolean
		 */
		#[\ReturnTypeWillChange]
		public function valid() {       }//end valid()
		/**
		 * Return the number of files in the list.
		 *
		 * @return integer
		 */
		#[\ReturnTypeWillChange]
		public function count() {       }//end count()
	}
	class LocalFile extends \PHP_CodeSniffer\Files\File {

		/**
		 * Creates a LocalFile object and sets the content.
		 *
		 * @param string                   $path    The absolute path to the file.
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 * @param \PHP_CodeSniffer\Config  $config  The config data for the run.
		 *
		 * @return void
		 */
		public function __construct( $path, \PHP_CodeSniffer\Ruleset $ruleset, \PHP_CodeSniffer\Config $config ) {      }//end __construct()
		/**
		 * Loads the latest version of the file's content from the file system.
		 *
		 * @return void
		 */
		public function reloadContent() {       }//end reloadContent()
		/**
		 * Processes the file.
		 *
		 * @return void
		 */
		public function process() {         }
		// end replayErrors()
	}
}

namespace PHP_CodeSniffer\Generators {
	abstract class Generator {

		/**
		 * The ruleset used for the run.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		public $ruleset = null;
		/**
		 * XML documentation files used to produce the final output.
		 *
		 * @var string[]
		 */
		public $docFiles = array();
		/**
		 * Constructs a doc generator.
		 *
		 * @param \PHP_CodeSniffer\Ruleset $ruleset The ruleset used for the run.
		 *
		 * @see generate()
		 */
		public function __construct( \PHP_CodeSniffer\Ruleset $ruleset ) {      }//end __construct()
		/**
		 * Retrieves the title of the sniff from the DOMNode supplied.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return string
		 */
		protected function getTitle( \DOMNode $doc ) {      }//end getTitle()
		/**
		 * Generates the documentation for a standard.
		 *
		 * It's probably wise for doc generators to override this method so they
		 * have control over how the docs are produced. Otherwise, the processSniff
		 * method should be overridden to output content for each sniff.
		 *
		 * @return void
		 * @see    processSniff()
		 */
		public function generate() {        }//end generate()
		/**
		 * Process the documentation for a single sniff.
		 *
		 * Doc generators must implement this function to produce output.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return void
		 * @see    generate()
		 */
		abstract protected function processSniff( \DOMNode $doc);
	}
	class Markdown extends \PHP_CodeSniffer\Generators\Generator {

		/**
		 * Generates the documentation for a standard.
		 *
		 * @return void
		 * @see    processSniff()
		 */
		public function generate() {        }//end generate()
		/**
		 * Print the markdown header.
		 *
		 * @return void
		 */
		protected function printHeader() {      }//end printHeader()
		/**
		 * Print the markdown footer.
		 *
		 * @return void
		 */
		protected function printFooter() {      }//end printFooter()
		/**
		 * Process the documentation for a single sniff.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return void
		 */
		protected function processSniff( \DOMNode $doc ) {      }//end processSniff()
		/**
		 * Print a text block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the text block.
		 *
		 * @return void
		 */
		protected function printTextBlock( \DOMNode $node ) {       }//end printTextBlock()
		/**
		 * Print a code comparison block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the code comparison block.
		 *
		 * @return void
		 */
		protected function printCodeComparisonBlock( \DOMNode $node ) {         }//end printCodeComparisonBlock()
	}
	class HTML extends \PHP_CodeSniffer\Generators\Generator {

		/**
		 * Generates the documentation for a standard.
		 *
		 * @return void
		 * @see    processSniff()
		 */
		public function generate() {        }//end generate()
		/**
		 * Print the header of the HTML page.
		 *
		 * @return void
		 */
		protected function printHeader() {      }//end printHeader()
		/**
		 * Print the table of contents for the standard.
		 *
		 * The TOC is just an unordered list of bookmarks to sniffs on the page.
		 *
		 * @return void
		 */
		protected function printToc() {         }//end printToc()
		/**
		 * Print the footer of the HTML page.
		 *
		 * @return void
		 */
		protected function printFooter() {      }//end printFooter()
		/**
		 * Process the documentation for a single sniff.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return void
		 */
		public function processSniff( \DOMNode $doc ) {         }//end processSniff()
		/**
		 * Print a text block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the text block.
		 *
		 * @return void
		 */
		protected function printTextBlock( \DOMNode $node ) {       }//end printTextBlock()
		/**
		 * Print a code comparison block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the code comparison block.
		 *
		 * @return void
		 */
		protected function printCodeComparisonBlock( \DOMNode $node ) {         }//end printCodeComparisonBlock()
	}
	class Text extends \PHP_CodeSniffer\Generators\Generator {

		/**
		 * Process the documentation for a single sniff.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return void
		 */
		public function processSniff( \DOMNode $doc ) {         }//end processSniff()
		/**
		 * Prints the title area for a single sniff.
		 *
		 * @param \DOMNode $doc The DOMNode object for the sniff.
		 *                      It represents the "documentation" tag in the XML
		 *                      standard file.
		 *
		 * @return void
		 */
		protected function printTitle( \DOMNode $doc ) {        }//end printTitle()
		/**
		 * Print a text block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the text block.
		 *
		 * @return void
		 */
		protected function printTextBlock( \DOMNode $node ) {       }//end printTextBlock()
		/**
		 * Print a code comparison block found in a standard.
		 *
		 * @param \DOMNode $node The DOMNode object for the code comparison block.
		 *
		 * @return void
		 */
		protected function printCodeComparisonBlock( \DOMNode $node ) {         }//end printCodeComparisonBlock()
	}
}

namespace PHP_CodeSniffer {
	class Reporter {

		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		public $config = null;
		/**
		 * Total number of files that contain errors or warnings.
		 *
		 * @var integer
		 */
		public $totalFiles = 0;
		/**
		 * Total number of errors found during the run.
		 *
		 * @var integer
		 */
		public $totalErrors = 0;
		/**
		 * Total number of warnings found during the run.
		 *
		 * @var integer
		 */
		public $totalWarnings = 0;
		/**
		 * Total number of errors/warnings that can be fixed.
		 *
		 * @var integer
		 */
		public $totalFixable = 0;
		/**
		 * Total number of errors/warnings that were fixed.
		 *
		 * @var integer
		 */
		public $totalFixed = 0;
		/**
		 * When the PHPCS run started.
		 *
		 * @var float
		 */
		public static $startTime = 0;
		/**
		 * Initialise the reporter.
		 *
		 * All reports specified in the config will be created and their
		 * output file (or a temp file if none is specified) initialised by
		 * clearing the current contents.
		 *
		 * @param \PHP_CodeSniffer\Config $config The config data for the run.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException If a custom report class could not be found.
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException  If a report class is incorrectly set up.
		 */
		public function __construct( \PHP_CodeSniffer\Config $config ) {        }//end __construct()
		/**
		 * Generates and prints final versions of all reports.
		 *
		 * Returns TRUE if any of the reports output content to the screen
		 * or FALSE if all reports were silently printed to a file.
		 *
		 * @return bool
		 */
		public function printReports() {        }//end printReports()
		/**
		 * Generates and prints a single final report.
		 *
		 * @param string $report The report type to print.
		 *
		 * @return void
		 */
		public function printReport( $report ) {        }//end printReport()
		/**
		 * Caches the result of a single processed file for all reports.
		 *
		 * The report content that is generated is appended to the output file
		 * assigned to each report. This content may be an intermediate report format
		 * and not reflect the final report output.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file that has been processed.
		 *
		 * @return void
		 */
		public function cacheFileReport( \PHP_CodeSniffer\Files\File $phpcsFile ) {         }//end cacheFileReport()
		/**
		 * Generate summary information to be used during report generation.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file that has been processed.
		 *
		 * @return array
		 */
		public function prepareFileReport( \PHP_CodeSniffer\Files\File $phpcsFile ) {       }//end prepareFileReport()
	}
	class Runner {

		/**
		 * The config data for the run.
		 *
		 * @var \PHP_CodeSniffer\Config
		 */
		public $config = null;
		/**
		 * The ruleset used for the run.
		 *
		 * @var \PHP_CodeSniffer\Ruleset
		 */
		public $ruleset = null;
		/**
		 * The reporter used for generating reports after the run.
		 *
		 * @var \PHP_CodeSniffer\Reporter
		 */
		public $reporter = null;
		/**
		 * Run the PHPCS script.
		 *
		 * @return array
		 */
		public function runPHPCS() {        }//end runPHPCS()
		/**
		 * Run the PHPCBF script.
		 *
		 * @return array
		 */
		public function runPHPCBF() {       }//end runPHPCBF()
		/**
		 * Exits if the minimum requirements of PHP_CodeSniffer are not met.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException If the requirements are not met.
		 */
		public function checkRequirements() {       }//end checkRequirements()
		/**
		 * Init the rulesets and other high-level settings.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException If a referenced standard is not installed.
		 */
		public function init() {        }
		// end run()
		/**
		 * Converts all PHP errors into exceptions.
		 *
		 * This method forces a sniff to stop processing if it is not
		 * able to handle a specific piece of code, instead of continuing
		 * and potentially getting into a loop.
		 *
		 * @param int    $code    The level of error raised.
		 * @param string $message The error message.
		 * @param string $file    The path of the file that raised the error.
		 * @param int    $line    The line number the error was raised at.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException
		 */
		public function handleErrors( $code, $message, $file, $line ) {         }//end handleErrors()
		/**
		 * Processes a single file, including checking and fixing.
		 *
		 * @param \PHP_CodeSniffer\Files\File $file The file to be processed.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function processFile( $file ) {      }
		// end processChildProcs()
		/**
		 * Print progress information for a single processed file.
		 *
		 * @param \PHP_CodeSniffer\Files\File $file         The file that was processed.
		 * @param int                         $numFiles     The total number of files to process.
		 * @param int                         $numProcessed The number of files that have been processed,
		 *                                                  including this one.
		 *
		 * @return void
		 */
		public function printProgress( \PHP_CodeSniffer\Files\File $file, $numFiles, $numProcessed ) {      }//end printProgress()
	}
	class Fixer {

		/**
		 * Is the fixer enabled and fixing a file?
		 *
		 * Sniffs should check this value to ensure they are not
		 * doing extra processing to prepare for a fix when fixing is
		 * not required.
		 *
		 * @var boolean
		 */
		public $enabled = false;
		/**
		 * The number of times we have looped over a file.
		 *
		 * @var integer
		 */
		public $loops = 0;
		/**
		 * Starts fixing a new file.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being fixed.
		 *
		 * @return void
		 */
		public function startFile( \PHP_CodeSniffer\Files\File $phpcsFile ) {       }//end startFile()
		/**
		 * Attempt to fix the file by processing it until no fixes are made.
		 *
		 * @return boolean
		 */
		public function fixFile() {         }//end fixFile()
		/**
		 * Generates a text diff of the original file and the new content.
		 *
		 * @param string  $filePath Optional file path to diff the file against.
		 *                          If not specified, the original version of the
		 *                          file will be used.
		 * @param boolean $colors   Print coloured output or not.
		 *
		 * @return string
		 */
		public function generateDiff( $filePath = null, $colors = true ) {      }//end generateDiff()
		/**
		 * Get a count of fixes that have been performed on the file.
		 *
		 * This value is reset every time a new file is started, or an existing
		 * file is restarted.
		 *
		 * @return int
		 */
		public function getFixCount() {         }//end getFixCount()
		/**
		 * Get the current content of the file, as a string.
		 *
		 * @return string
		 */
		public function getContents() {         }//end getContents()
		/**
		 * Get the current fixed content of a token.
		 *
		 * This function takes changesets into account so should be used
		 * instead of directly accessing the token array.
		 *
		 * @param int $stackPtr The position of the token in the token stack.
		 *
		 * @return string
		 */
		public function getTokenContent( $stackPtr ) {      }//end getTokenContent()
		/**
		 * Start recording actions for a changeset.
		 *
		 * @return void
		 */
		public function beginChangeset() {      }//end beginChangeset()
		/**
		 * Stop recording actions for a changeset, and apply logged changes.
		 *
		 * @return boolean
		 */
		public function endChangeset() {        }//end endChangeset()
		/**
		 * Stop recording actions for a changeset, and discard logged changes.
		 *
		 * @return void
		 */
		public function rollbackChangeset() {       }//end rollbackChangeset()
		/**
		 * Replace the entire contents of a token.
		 *
		 * @param int    $stackPtr The position of the token in the token stack.
		 * @param string $content  The new content of the token.
		 *
		 * @return bool If the change was accepted.
		 */
		public function replaceToken( $stackPtr, $content ) {       }//end replaceToken()
		/**
		 * Reverts the previous fix made to a token.
		 *
		 * @param int $stackPtr The position of the token in the token stack.
		 *
		 * @return bool If a change was reverted.
		 */
		public function revertToken( $stackPtr ) {      }//end revertToken()
		/**
		 * Replace the content of a token with a part of its current content.
		 *
		 * @param int $stackPtr The position of the token in the token stack.
		 * @param int $start    The first character to keep.
		 * @param int $length   The number of characters to keep. If NULL, the content of
		 *                      the token from $start to the end of the content is kept.
		 *
		 * @return bool If the change was accepted.
		 */
		public function substrToken( $stackPtr, $start, $length = null ) {      }//end substrToken()
		/**
		 * Adds a newline to end of a token's content.
		 *
		 * @param int $stackPtr The position of the token in the token stack.
		 *
		 * @return bool If the change was accepted.
		 */
		public function addNewline( $stackPtr ) {       }//end addNewline()
		/**
		 * Adds a newline to the start of a token's content.
		 *
		 * @param int $stackPtr The position of the token in the token stack.
		 *
		 * @return bool If the change was accepted.
		 */
		public function addNewlineBefore( $stackPtr ) {         }//end addNewlineBefore()
		/**
		 * Adds content to the end of a token's current content.
		 *
		 * @param int    $stackPtr The position of the token in the token stack.
		 * @param string $content  The content to add.
		 *
		 * @return bool If the change was accepted.
		 */
		public function addContent( $stackPtr, $content ) {         }//end addContent()
		/**
		 * Adds content to the start of a token's current content.
		 *
		 * @param int    $stackPtr The position of the token in the token stack.
		 * @param string $content  The content to add.
		 *
		 * @return bool If the change was accepted.
		 */
		public function addContentBefore( $stackPtr, $content ) {       }//end addContentBefore()
		/**
		 * Adjust the indent of a code block.
		 *
		 * @param int $start  The position of the token in the token stack
		 *                    to start adjusting the indent from.
		 * @param int $end    The position of the token in the token stack
		 *                    to end adjusting the indent.
		 * @param int $change The number of spaces to adjust the indent by
		 *                    (positive or negative).
		 *
		 * @return void
		 */
		public function changeCodeBlockIndent( $start, $end, $change ) {        }//end changeCodeBlockIndent()
	}
}

namespace PHP_CodeSniffer\Reports {
	interface Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80);
		/**
		 * Generate the actual report.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true);
	}
	class Info implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints the source of all errors and warnings.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Code implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all errors and warnings for each file processed.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Diff implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all errors and warnings for each file processed.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Json implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Generates a JSON report.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	abstract class VersionControl implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * The name of the report we want in the output.
		 *
		 * @var string
		 */
		protected $reportName = 'VERSION CONTROL';
		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints the author of all errors and warnings, as given by "version control blame".
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
		/**
		 * Extract the author from a blame line.
		 *
		 * @param string $line Line to parse.
		 *
		 * @return mixed string or false if impossible to recover.
		 */
		abstract protected function getAuthor( $line);
		/**
		 * Gets the blame output.
		 *
		 * @param string $filename File to blame.
		 *
		 * @return array
		 */
		abstract protected function getBlameContent( $filename);
	}
	class Gitblame extends \PHP_CodeSniffer\Reports\VersionControl {

		/**
		 * The name of the report we want in the output
		 *
		 * @var string
		 */
		protected $reportName = 'GIT';
		/**
		 * Extract the author from a blame line.
		 *
		 * @param string $line Line to parse.
		 *
		 * @return mixed string or false if impossible to recover.
		 */
		protected function getAuthor( $line ) {         }//end getAuthor()
		/**
		 * Gets the blame output.
		 *
		 * @param string $filename File to blame.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		protected function getBlameContent( $filename ) {       }//end getBlameContent()
	}
	class Cbf implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints a summary of fixed files.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Notifysend implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Notification timeout in milliseconds.
		 *
		 * @var integer
		 */
		protected $timeout = 3000;
		/**
		 * Path to notify-send command.
		 *
		 * @var string
		 */
		protected $path = 'notify-send';
		/**
		 * Show "ok, all fine" messages.
		 *
		 * @var boolean
		 */
		protected $showOk = true;
		/**
		 * Version of installed notify-send executable.
		 *
		 * @var string
		 */
		protected $version = null;
		/**
		 * Load configuration data.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Generates a summary of errors and warnings for each file processed.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
		/**
		 * Generate the error message to show to the user.
		 *
		 * @param string[] $checkedFiles  The files checked during the run.
		 * @param int      $totalErrors   Total number of errors found during the run.
		 * @param int      $totalWarnings Total number of warnings found during the run.
		 *
		 * @return string Error message or NULL if no error/warning found.
		 */
		protected function generateMessage( $checkedFiles, $totalErrors, $totalWarnings ) {         }//end generateMessage()
		/**
		 * Tell the user that all is fine and no error/warning has been found.
		 *
		 * @return void
		 */
		protected function notifyAllFine() {        }//end notifyAllFine()
		/**
		 * Tell the user that errors/warnings have been found.
		 *
		 * @param string $msg Message to display.
		 *
		 * @return void
		 */
		protected function notifyErrors( $msg ) {       }//end notifyErrors()
		/**
		 * Generate and return the basic notify-send command string to execute.
		 *
		 * @return string Shell command with common parameters.
		 */
		protected function getBasicCommand() {      }//end getBasicCommand()
	}
	class Xml implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all violations for processed files, in a proprietary XML format.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Emacs implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Generates an emacs report.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Checkstyle implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all violations for processed files, in a Checkstyle format.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Svnblame extends \PHP_CodeSniffer\Reports\VersionControl {

		/**
		 * The name of the report we want in the output
		 *
		 * @var string
		 */
		protected $reportName = 'SVN';
		/**
		 * Extract the author from a blame line.
		 *
		 * @param string $line Line to parse.
		 *
		 * @return mixed string or false if impossible to recover.
		 */
		protected function getAuthor( $line ) {         }//end getAuthor()
		/**
		 * Gets the blame output.
		 *
		 * @param string $filename File to blame.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		protected function getBlameContent( $filename ) {       }//end getBlameContent()
	}
	class Source implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints the source of all errors and warnings.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
		/**
		 * Converts a camel caps name into a readable string.
		 *
		 * @param string $name The camel caps name to convert.
		 *
		 * @return string
		 */
		public function makeFriendlyName( $name ) {         }//end makeFriendlyName()
	}
	class Summary implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Generates a summary of errors and warnings for each file processed.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Junit implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all violations for processed files, in a proprietary XML format.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Csv implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Generates a csv report.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
	class Hgblame extends \PHP_CodeSniffer\Reports\VersionControl {

		/**
		 * The name of the report we want in the output
		 *
		 * @var string
		 */
		protected $reportName = 'MERCURIAL';
		/**
		 * Extract the author from a blame line.
		 *
		 * @param string $line Line to parse.
		 *
		 * @return mixed string or false if impossible to recover.
		 */
		protected function getAuthor( $line ) {         }//end getAuthor()
		/**
		 * Gets the blame output.
		 *
		 * @param string $filename File to blame.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\DeepExitException
		 */
		protected function getBlameContent( $filename ) {       }//end getBlameContent()
	}
	class Full implements \PHP_CodeSniffer\Reports\Report {

		/**
		 * Generate a partial report for a single processed file.
		 *
		 * Function should return TRUE if it printed or stored data about the file
		 * and FALSE if it ignored the file. Returning TRUE indicates that the file and
		 * its data should be counted in the grand totals.
		 *
		 * @param array                 $report      Prepared report data.
		 * @param \PHP_CodeSniffer\File $phpcsFile   The file being reported on.
		 * @param bool                  $showSources Show sources?
		 * @param int                   $width       Maximum allowed line width.
		 *
		 * @return bool
		 */
		public function generateFileReport( $report, \PHP_CodeSniffer\Files\File $phpcsFile, $showSources = false, $width = 80 ) {      }//end generateFileReport()
		/**
		 * Prints all errors and warnings for each file processed.
		 *
		 * @param string $cachedData    Any partial report data that was returned from
		 *                              generateFileReport during the run.
		 * @param int    $totalFiles    Total number of files processed during the run.
		 * @param int    $totalErrors   Total number of errors found during the run.
		 * @param int    $totalWarnings Total number of warnings found during the run.
		 * @param int    $totalFixable  Total number of problems that can be fixed.
		 * @param bool   $showSources   Show sources?
		 * @param int    $width         Maximum allowed line width.
		 * @param bool   $interactive   Are we running in interactive mode?
		 * @param bool   $toScreen      Is the report being printed to screen?
		 *
		 * @return void
		 */
		public function generate( $cachedData, $totalFiles, $totalErrors, $totalWarnings, $totalFixable, $showSources = false, $width = 80, $interactive = false, $toScreen = true ) {      }//end generate()
	}
}

namespace PHP_CodeSniffer\Sniffs {
	abstract class AbstractPatternSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * If true, comments will be ignored if they are found in the code.
		 *
		 * @var boolean
		 */
		public $ignoreComments = false;
		/**
		 * The current file being checked.
		 *
		 * @var string
		 */
		protected $currFile = '';
		/**
		 * Constructs a AbstractPatternSniff.
		 *
		 * @param boolean $ignoreComments If true, comments will be ignored.
		 */
		public function __construct( $ignoreComments = null ) {         }//end __construct()
		/**
		 * Registers the tokens to listen to.
		 *
		 * Classes extending <i>AbstractPatternTest</i> should implement the
		 * <i>getPatterns()</i> method to register the patterns they wish to test.
		 *
		 * @return int[]
		 * @see    process()
		 */
		final public function register() {      }
		// end getListenerTokenPos()
		/**
		 * Processes the test.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where the
		 *                                               token occurred.
		 * @param int                         $stackPtr  The position in the tokens stack
		 *                                               where the listening token type
		 *                                               was found.
		 *
		 * @return void
		 * @see    register()
		 */
		final public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }//end process()
		/**
		 * Processes the pattern and verifies the code at $stackPtr.
		 *
		 * @param array                       $patternInfo Information about the pattern used
		 *                                                 for checking, which includes are
		 *                                                 parsed token representation of the
		 *                                                 pattern.
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The PHP_CodeSniffer file where the
		 *                                                 token occurred.
		 * @param int                         $stackPtr    The position in the tokens stack where
		 *                                                 the listening token type was found.
		 *
		 * @return array
		 */
		protected function processPattern( $patternInfo, \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processPattern()
		/**
		 * Prepares an error for the specified patternCode.
		 *
		 * @param string $found       The actual found string in the code.
		 * @param string $patternCode The expected pattern code.
		 *
		 * @return string The error message.
		 */
		protected function prepareError( $found, $patternCode ) {       }//end prepareError()
		/**
		 * Returns the patterns that should be checked.
		 *
		 * @return string[]
		 */
		abstract protected function getPatterns();
		/**
		 * Registers any supplementary tokens that this test might wish to process.
		 *
		 * A sniff may wish to register supplementary tests when it wishes to group
		 * an arbitrary validation that cannot be performed using a pattern, with
		 * other pattern tests.
		 *
		 * @return int[]
		 * @see    processSupplementary()
		 */
		protected function registerSupplementary() {        }//end registerSupplementary()
		/**
		 * Processes any tokens registered with registerSupplementary().
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where to
		 *                                               process the skip.
		 * @param int                         $stackPtr  The position in the tokens stack to
		 *                                               process.
		 *
		 * @return void
		 * @see    registerSupplementary()
		 */
		protected function processSupplementary( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end createTokenPattern()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\Classes {
	class ClassDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\WhiteSpace {
	class ScopeClosingBraceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ScopeIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ObjectOperatorIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\Formatting {
	class MultiLineAssignmentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\Files {
	class IncludingFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\Functions {
	class ValidDefaultValueUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FunctionDeclarationUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionCallSignatureUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FunctionCallSignatureUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\ControlStructures {
	class ControlSignatureUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MultiLineConditionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'MultiLineConditionUnitTest.inc' ) {      }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\NamingConventions {
	class ValidClassNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ValidFunctionNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ValidVariableNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Tests\Commenting {
	class FileCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FileCommentUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'FileCommentUnitTest.inc' ) {       }//end getWarningList()
	}
	class FunctionCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InlineCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\Classes {
	class ClassDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param integer                     $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\WhiteSpace {
	class ScopeIndentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Does the indent need to be exactly right?
		 *
		 * If TRUE, indent needs to be exactly $indent spaces. If FALSE,
		 * indent needs to be at least $indent spaces (but can be more).
		 *
		 * @var boolean
		 */
		public $exact = false;
		/**
		 * Should tabs be used for indenting?
		 *
		 * If TRUE, fixes will be made using tabs instead of spaces.
		 * The size of each tab is important, so it should be specified
		 * using the --tab-width CLI argument.
		 *
		 * @var boolean
		 */
		public $tabIndent = false;
		/**
		 * List of tokens not needing to be checked for indentation.
		 *
		 * Useful to allow Sniffs based on this to easily ignore/skip some
		 * tokens from verification. For example, inline HTML sections
		 * or PHP open/close tags can escape from here and have their own
		 * rules elsewhere.
		 *
		 * @var int[]
		 */
		public $ignoreIndentationTokens = array();
		/**
		 * Any scope openers that should not cause an indent.
		 *
		 * @var int[]
		 */
		protected $nonIndentingScopes = array();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param int                         $length    The length of the new indent.
		 * @param int                         $change    The difference in length between
		 *                                               the old and new indent.
		 *
		 * @return bool
		 */
		protected function adjustIndent( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $length, $change ) {        }//end adjustIndent()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\WhiteSpace {
	class ScopeIndentSniff extends \PHP_CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\ScopeIndentSniff {

		/**
		 * Any scope openers that should not cause an indent.
		 *
		 * @var int[]
		 */
		protected $nonIndentingScopes = array( T_SWITCH );
	}
	class ObjectOperatorIndentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Indicates whether multilevel indenting is allowed.
		 *
		 * @var boolean
		 */
		public $multilevel = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ScopeClosingBraceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\Formatting {
	class MultiLineAssignmentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\Files {
	class IncludingFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\Functions {
	class FunctionCallSignatureSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * If TRUE, multiple arguments can be defined per line in a multi-line call.
		 *
		 * @var boolean
		 */
		public $allowMultipleArguments = true;
		/**
		 * How many spaces should follow the opening bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesAfterOpen = 0;
		/**
		 * How many spaces should precede the closing bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeClose = 0;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Determine if this is a multi-line function call.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return bool
		 */
		public function isMultiLineCall( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $openBracket, $tokens ) {       }//end isMultiLineCall()
		/**
		 * Processes single-line calls.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return void
		 */
		public function processSingleLineCall( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $openBracket, $tokens ) {         }//end processSingleLineCall()
		/**
		 * Processes multi-line calls.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return void
		 */
		public function processMultiLineCall( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $openBracket, $tokens ) {      }//end processMultiLineCall()
	}
	class FunctionDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Determine if this is a multi-line function declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return bool
		 */
		public function isMultiLineDeclaration( $phpcsFile, $stackPtr, $openBracket, $tokens ) {        }//end isMultiLineDeclaration()
		/**
		 * Processes single-line declarations.
		 *
		 * Just uses the Generic BSD-Allman brace sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param array                       $tokens    The stack of tokens that make up
		 *                                               the file.
		 *
		 * @return void
		 */
		public function processSingleLineDeclaration( $phpcsFile, $stackPtr, $tokens ) {        }//end processSingleLineDeclaration()
		/**
		 * Processes multi-line declarations.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param array                       $tokens    The stack of tokens that make up
		 *                                               the file.
		 *
		 * @return void
		 */
		public function processMultiLineDeclaration( $phpcsFile, $stackPtr, $tokens ) {         }//end processMultiLineDeclaration()
		/**
		 * Processes multi-line argument list declarations.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param int                         $indent    The number of spaces code should be indented.
		 * @param string                      $type      The type of the token the brackets
		 *                                               belong to.
		 *
		 * @return void
		 */
		public function processArgumentList( $phpcsFile, $stackPtr, $indent, $type = 'function' ) {         }//end processArgumentList()
	}
	class ValidDefaultValueSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\ControlStructures {
	class ControlSignatureSniff extends \PHP_CodeSniffer\Sniffs\AbstractPatternSniff {

		/**
		 * If true, comments will be ignored if they are found in the code.
		 *
		 * @var boolean
		 */
		public $ignoreComments = true;
		/**
		 * Returns the patterns that this test wishes to verify.
		 *
		 * @return string[]
		 */
		protected function getPatterns() {      }//end getPatterns()
	}
	class MultiLineConditionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\NamingConventions {
	class ValidClassNameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being processed.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ValidVariableNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Processes class member variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes normal variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes variables in double quoted strings.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
}

namespace PHP_CodeSniffer\Standards\PEAR\Sniffs\Commenting {
	class FunctionCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Disable the check for functions with a lower visibility than the value given.
		 *
		 * Allowed values are public, protected, and private.
		 *
		 * @var string
		 */
		public $minimumVisibility = 'private';
		/**
		 * Array of methods which do not require a return type.
		 *
		 * @var array
		 */
		public $specialMethods = array( '__construct', '__destruct' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Process the return comment of this function comment.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processReturn( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processReturn()
		/**
		 * Process any throw tags that this function comment has.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processThrows( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processThrows()
		/**
		 * Process the function parameter comments.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processParams( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processParams()
	}
	class InlineCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FileCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Tags in correct order and related info.
		 *
		 * @var array
		 */
		protected $tags = array(
			'@category'   => array(
				'required'       => true,
				'allow_multiple' => false,
			),
			'@package'    => array(
				'required'       => true,
				'allow_multiple' => false,
			),
			'@subpackage' => array(
				'required'       => false,
				'allow_multiple' => false,
			),
			'@author'     => array(
				'required'       => true,
				'allow_multiple' => true,
			),
			'@copyright'  => array(
				'required'       => false,
				'allow_multiple' => true,
			),
			'@license'    => array(
				'required'       => true,
				'allow_multiple' => false,
			),
			'@version'    => array(
				'required'       => false,
				'allow_multiple' => false,
			),
			'@link'       => array(
				'required'       => true,
				'allow_multiple' => true,
			),
			'@see'        => array(
				'required'       => false,
				'allow_multiple' => true,
			),
			'@since'      => array(
				'required'       => false,
				'allow_multiple' => false,
			),
			'@deprecated' => array(
				'required'       => false,
				'allow_multiple' => false,
			),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes each required or optional tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart Position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processTags( $phpcsFile, $stackPtr, $commentStart ) {        }//end processTags()
		/**
		 * Process the category tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processCategory( $phpcsFile, array $tags ) {         }//end processCategory()
		/**
		 * Process the package tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processPackage( $phpcsFile, array $tags ) {      }//end processPackage()
		/**
		 * Process the subpackage tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processSubpackage( $phpcsFile, array $tags ) {       }//end processSubpackage()
		/**
		 * Process the author tag(s) that this header comment has.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processAuthor( $phpcsFile, array $tags ) {       }//end processAuthor()
		/**
		 * Process the copyright tags.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processCopyright( $phpcsFile, array $tags ) {        }//end processCopyright()
		/**
		 * Process the license tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processLicense( $phpcsFile, array $tags ) {      }//end processLicense()
		/**
		 * Process the version tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processVersion( $phpcsFile, array $tags ) {      }//end processVersion()
	}
	class ClassCommentSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\Commenting\FileCommentSniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Process the version tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tags      The tokens for these tags.
		 *
		 * @return void
		 */
		protected function processVersion( $phpcsFile, array $tags ) {      }//end processVersion()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Tests\Files {
	class ClosingTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Tests\NamingConventions {
	class ValidVariableNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Tests\Debug {
	class CodeAnalyzerUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Sniffs\Files {
	class ClosingTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Sniffs\NamingConventions {
	class ValidVariableNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes class member variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes the variable found within a double quoted string.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the double quoted
		 *                                               string.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
}

namespace PHP_CodeSniffer\Standards\Zend\Sniffs\Debug {
	class CodeAnalyzerSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return int
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If ZendCodeAnalyzer could not be run.
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Tests\Methods {
	class MethodDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionClosingBraceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionCallSignatureUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Tests\Classes {
	class PropertyDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Tests\Namespaces {
	class NamespaceDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UseDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Tests\Files {
	class EndFileNewlineUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class ClosingTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Tests\ControlStructures {
	class ControlStructureSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ElseIfDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SwitchDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Sniffs\Methods {
	class FunctionCallSignatureSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\Functions\FunctionCallSignatureSniff {

		/**
		 * If TRUE, multiple arguments can be defined per line in a multi-line call.
		 *
		 * @var boolean
		 */
		public $allowMultipleArguments = false;
		/**
		 * Processes single-line calls.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return void
		 */
		public function isMultiLineCall( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $openBracket, $tokens ) {       }//end isMultiLineCall()
	}
	class MethodDeclarationSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs a Squiz_Sniffs_Scope_MethodScopeSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 * @param int                         $currScope The current scope opener token.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
	class FunctionClosingBraceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes {
	class PropertyDeclarationSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes normal variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes variables in double quoted strings.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
	class ClassDeclarationSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\Classes\ClassDeclarationSniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes the opening section of a class declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processOpen( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processOpen()
		/**
		 * Processes the closing section of a class declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processClose( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {         }//end processClose()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Sniffs\Namespaces {
	class UseDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end shouldIgnoreUse()
	}
	class NamespaceDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Sniffs\Files {
	class ClosingTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EndFileNewlineSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR2\Sniffs\ControlStructures {
	class ControlStructureSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * How many spaces should follow the opening bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesAfterOpen = 0;
		/**
		 * How many spaces should precede the closing bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeClose = 0;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SwitchDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end findNestedTerminator()
	}
	class ElseIfDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\Strings {
	class JoinStringsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'JoinStringsUnitTest.js' ) {      }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\CSS {
	class BrowserSpecificStylesUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\Objects {
	class DisallowNewWidgetUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class CreateWidgetTypeCallbackUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'CreateWidgetTypeCallbackUnitTest.js' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class AssignThisUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'AssignThisUnitTest.js' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\PHP {
	class AjaxNullComparisonUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class GetRequestDataUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ReturnFunctionValueUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EvalObjectFactoryUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\Commenting {
	class FunctionCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\Debug {
	class FirebugConsoleUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FirebugConsoleUnitTest.js' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DebugCodeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Tests\Channels {
	class DisallowSelfActionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class IncludeSystemUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UnusedSystemUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\Strings {
	class JoinStringsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param integer                     $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\CSS {
	class BrowserSpecificStylesSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * A list of specific stylesheet suffixes we allow.
		 *
		 * These stylesheets contain browser specific styles
		 * so this sniff ignore them files in the form:
		 * *_moz.css and *_ie7.css etc.
		 *
		 * @var array
		 */
		protected $specificStylesheets = array(
			'moz'    => true,
			'ie'     => true,
			'ie7'    => true,
			'ie8'    => true,
			'webkit' => true,
		);
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\Objects {
	class CreateWidgetTypeCallbackSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class AssignThisSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowNewWidgetSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\PHP {
	class EvalObjectFactorySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class AjaxNullComparisonSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class GetRequestDataSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ReturnFunctionValueSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Commenting {
	class FunctionCommentSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\Commenting\FunctionCommentSniff {

		/**
		 * Whether to skip inheritdoc comments.
		 *
		 * @var boolean
		 */
		public $skipIfInheritdoc = false;
		/**
		 * Process the return comment of this function comment.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processReturn( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processReturn()
		/**
		 * Process any throw tags that this function comment has.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processThrows( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processThrows()
		/**
		 * Process the function parameter comments.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return void
		 */
		protected function processParams( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {      }//end processParams()
		/**
		 * Check the spacing after the type of a parameter.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $param     The parameter to be checked.
		 * @param int                         $maxType   The maxlength of the longest parameter type.
		 * @param int                         $spacing   The number of spaces to add after the type.
		 *
		 * @return void
		 */
		protected function checkSpacingAfterParamType( \PHP_CodeSniffer\Files\File $phpcsFile, $param, $maxType, $spacing = 1 ) {       }//end checkSpacingAfterParamType()
		/**
		 * Check the spacing after the name of a parameter.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $param     The parameter to be checked.
		 * @param int                         $maxVar    The maxlength of the longest parameter name.
		 * @param int                         $spacing   The number of spaces to add after the type.
		 *
		 * @return void
		 */
		protected function checkSpacingAfterParamName( \PHP_CodeSniffer\Files\File $phpcsFile, $param, $maxVar, $spacing = 1 ) {        }//end checkSpacingAfterParamName()
		/**
		 * Determines whether the whole comment is an inheritdoc comment.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile    The file being scanned.
		 * @param int                         $stackPtr     The position of the current token
		 *                                                  in the stack passed in $tokens.
		 * @param int                         $commentStart The position in the stack where the comment started.
		 *
		 * @return boolean TRUE if the docblock contains only {@inheritdoc} (case-insensitive).
		 */
		protected function checkInheritdoc( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $commentStart ) {        }//end checkInheritdoc()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\Commenting {
	class FunctionCommentSniff extends \PHP_CodeSniffer\Standards\Squiz\Sniffs\Commenting\FunctionCommentSniff {

		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\Debug {
	class FirebugConsoleSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DebugCodeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\MySource\Sniffs\Channels {
	class DisallowSelfActionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class IncludeSystemSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs an AbstractScopeSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param integer                     $stackPtr  The position where the token was found.
		 * @param integer                     $currScope The current scope opener token.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes a token within the scope that this test is listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               this token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
		/**
		 * Determines the included class name from given token.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param array                       $tokens    The array of file tokens.
		 * @param int                         $stackPtr  The position in the tokens array of the
		 *                                               potentially included class.
		 *
		 * @return string
		 */
		protected function getIncludedClassFromToken( \PHP_CodeSniffer\Files\File $phpcsFile, array $tokens, $stackPtr ) {      }//end getIncludedClassFromToken()
	}
	class IncludeOwnSystemSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Determines the included class name from given token.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param array                       $tokens    The array of file tokens.
		 * @param int                         $stackPtr  The position in the tokens array of the
		 *                                               potentially included class.
		 *
		 * @return string
		 */
		protected function getIncludedClassFromToken( $phpcsFile, array $tokens, $stackPtr ) {      }//end getIncludedClassFromToken()
	}
	class UnusedSystemSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Metrics {
	class CyclomaticComplexityUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class NestingLevelUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Strings {
	class UnnecessaryStringConcatUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'UnnecessaryStringConcatUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Classes {
	class OpeningBraceSameLineUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DuplicateClassNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\CodeAnalysis {
	class EmptyStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UnusedFunctionParameterUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UnnecessaryFinalModifierUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ForLoopShouldBeWhileLoopUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UselessOverridingMethodUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UnconditionalIfStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EmptyPHPStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class JumbledIncrementerUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ForLoopWithTestFunctionCallUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class AssignmentInConditionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\PHP {
	class SAPIUsageUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SyntaxUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class NoSilencedErrorsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DeprecatedFunctionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowerCaseTypeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowRequestSuperglobalUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getErrorList() {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getWarningList() {       }//end getWarningList()
	}
	class CharacterBeforePHPOpeningTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UpperCaseConstantUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DiscourageGotoUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClosingPHPTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowShortOpenTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of all test files to check.
		 *
		 * @param string $testFileBase The base path that the unit tests files will have.
		 *
		 * @return string[]
		 */
		protected function getTestFiles( $testFileBase ) {      }//end getTestFiles()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class BacktickOperatorUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowerCaseKeywordUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class RequireStrictTypesUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowerCaseConstantUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'LowerCaseConstantUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowAlternativePHPTagsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of all test files to check.
		 *
		 * @param string $testFileBase The base path that the unit tests files will have.
		 *
		 * @return string[]
		 */
		protected function getTestFiles( $testFileBase ) {      }//end getTestFiles()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class ForbiddenFunctionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\VersionControl {
	class SubversionPropertiesUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class GitMergeConflictUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'GitMergeConflictUnitTest.1.inc' ) {      }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\WhiteSpace {
	class LanguageConstructSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class IncrementDecrementSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'IncrementDecrementSpacingUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowSpaceIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DisallowSpaceIndentUnitTest.1.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ArbitraryParenthesesSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SpreadOperatorSpacingAfterUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowTabIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DisallowTabIndentUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ScopeIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'ScopeIndentUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Formatting {
	class DisallowMultipleStatementsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SpaceAfterCastUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SpaceAfterNotUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SpaceBeforeCastUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class NoSpaceAfterCastUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MultipleStatementAlignmentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'MultipleStatementAlignmentUnitTest.inc' ) {        }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Arrays {
	class ArrayIndentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowShortArraySyntaxUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowLongArraySyntaxUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Files {
	class OneTraitPerFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array(int => int)
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array(int => int)
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InlineHTMLUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class LowercasedFilenameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ByteOrderMarkUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class OneInterfacePerFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EndFileNewlineUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class OneClassPerFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EndFileNoNewlineUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class LineEndingsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ExecutableFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class LineLengthUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class OneObjectStructurePerFileUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Functions {
	class OpeningFunctionBraceKernighanRitchieUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class CallTimePassByReferenceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionCallArgumentSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class OpeningFunctionBraceBsdAllmanUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\ControlStructures {
	class DisallowYodaConditionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InlineControlStructureUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'InlineControlStructureUnitTest.1.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\NamingConventions {
	class TraitNameSuffixUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class AbstractClassNamePrefixUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InterfaceSuffixNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ConstructorNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class UpperCaseConstantNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class CamelCapsFunctionNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Commenting {
	class TodoUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'TodoUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'TodoUnitTest.inc' ) {      }//end getWarningList()
	}
	class FixmeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FixmeUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'FixmeUnitTest.inc' ) {         }//end getWarningList()
	}
	class DocCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array(int => int)
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array(int => int)
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Tests\Debug {
	class ESLintUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Basic ESLint config to use for testing the sniff.
		 *
		 * @var string
		 */
		const ESLINT_CONFIG = '{
    "parserOptions": {
        "ecmaVersion": 5,
        "sourceType": "script",
        "ecmaFeatures": {}
    },
    "rules": {
        "no-undef": 2,
        "no-unused-vars": 2
    }
}';
		/**
		 * Sets up this unit test.
		 *
		 * @return void
		 */
		protected function setUp(): void {
		}//end setUp()
		/**
		 * Remove artifact.
		 *
		 * @return void
		 */
		protected function tearDown(): void {
		}//end tearDown()
		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class CSSLintUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class JSHintUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClosureLinterUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Metrics {
	class NestingLevelSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A nesting level higher than this value will throw a warning.
		 *
		 * @var integer
		 */
		public $nestingLevel = 5;
		/**
		 * A nesting level higher than this value will throw an error.
		 *
		 * @var integer
		 */
		public $absoluteNestingLevel = 10;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class CyclomaticComplexitySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A complexity higher than this value will throw a warning.
		 *
		 * @var integer
		 */
		public $complexity = 10;
		/**
		 * A complexity higher than this value will throw an error.
		 *
		 * @var integer
		 */
		public $absoluteComplexity = 20;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Strings {
	class UnnecessaryStringConcatSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = true;
		/**
		 * If true, strings concatenated over multiple lines are allowed.
		 *
		 * Useful if you break strings over multiple lines to work
		 * within a max line length.
		 *
		 * @var boolean
		 */
		public $allowMultiline = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Classes {
	class DuplicateClassNameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * List of classes that have been found during checking.
		 *
		 * @var array
		 */
		protected $foundClasses = array();
		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OpeningBraceSameLineSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\CodeAnalysis {
	class UnusedFunctionParameterSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The list of class type hints which will be ignored.
		 *
		 * @var array
		 */
		public $ignoreTypeHints = array();
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class UselessOverridingMethodSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class UnnecessaryFinalModifierSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ForLoopShouldBeWhileLoopSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class JumbledIncrementerSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Get all used variables in the incrementer part of a for statement.
		 *
		 * @param array(integer=>array) $tokens Array with all code sniffer tokens.
		 * @param array(string=>mixed)  $token  Current for loop token
		 *
		 * @return string[] List of all found incrementer variables.
		 */
		protected function findIncrementers( array $tokens, array $token ) {        }//end findIncrementers()
	}
	class AssignmentInConditionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Assignment tokens to trigger on.
		 *
		 * Set in the register() method.
		 *
		 * @var array
		 */
		protected $assignmentTokens = array();
		/**
		 * The tokens that indicate the start of a condition.
		 *
		 * @var array
		 */
		protected $conditionStartTokens = array();
		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmptyPHPStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class UnconditionalIfStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ForLoopWithTestFunctionCallSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmptyStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\PHP {
	class ForbiddenFunctionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of forbidden functions with their alternatives.
		 *
		 * The value is NULL if no alternative exists. IE, the
		 * function should just not be used.
		 *
		 * @var array<string, string|null>
		 */
		public $forbiddenFunctions = array(
			'sizeof' => 'count',
			'delete' => 'unset',
		);
		/**
		 * A cache of forbidden function names, for faster lookups.
		 *
		 * @var string[]
		 */
		protected $forbiddenFunctionNames = array();
		/**
		 * If true, forbidden functions will be considered regular expressions.
		 *
		 * @var boolean
		 */
		protected $patternMatch = false;
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Generates the error or warning for this sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the forbidden function
		 *                                               in the token array.
		 * @param string                      $function  The name of the forbidden function.
		 * @param string                      $pattern   The pattern used for the match.
		 *
		 * @return void
		 */
		protected function addError( $phpcsFile, $stackPtr, $function, $pattern = null ) {      }//end addError()
	}
	class CharacterBeforePHPOpeningTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * List of supported BOM definitions.
		 *
		 * Use encoding names as keys and hex BOM representations as values.
		 *
		 * @var array
		 */
		protected $bomDefinitions = array(
			'UTF-8'       => 'efbbbf',
			'UTF-16 (BE)' => 'feff',
			'UTF-16 (LE)' => 'fffe',
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SyntaxSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowerCaseTypeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes a union type declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile     The file being scanned.
		 * @param int                         $typeDeclStart The position of the start of the type token.
		 * @param int                         $typeDeclEnd   The position of the end of the type token.
		 * @param string                      $error         Error message template.
		 * @param string                      $errorCode     The error code.
		 *
		 * @return void
		 */
		protected function processUnionType( \PHP_CodeSniffer\Files\File $phpcsFile, $typeDeclStart, $typeDeclEnd, $error, $errorCode ) {       }//end processUnionType()
		/**
		 * Processes a type cast or a singular type declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the type token.
		 * @param string                      $type      The type found.
		 * @param string                      $error     Error message template.
		 * @param string                      $errorCode The error code.
		 *
		 * @return void
		 */
		protected function processType( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $type, $error, $errorCode ) {        }//end processType()
	}
	class ClosingPHPTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class RequireStrictTypesSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowShortOpenTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Get a snippet from a HTML token.
		 *
		 * @param string $content The content of the HTML token.
		 * @param string $start   Partial string to use as a starting point for the snippet.
		 * @param int    $length  The target length of the snippet to get. Defaults to 40.
		 *
		 * @return string
		 */
		protected function getSnippet( $content, $start = '', $length = 40 ) {      }//end getSnippet()
	}
	class DisallowRequestSuperglobalSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param File $phpcsFile The file being scanned.
		 * @param int  $stackPtr  The position of the current token in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowerCaseConstantSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class UpperCaseConstantSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DiscourageGotoSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowAlternativePHPTagsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Get a snippet from a HTML token.
		 *
		 * @param string $content The content of the HTML token.
		 * @param string $start   Partial string to use as a starting point for the snippet.
		 * @param int    $length  The target length of the snippet to get. Defaults to 40.
		 *
		 * @return string
		 */
		protected function getSnippet( $content, $start = '', $length = 40 ) {      }//end getSnippet()
		/**
		 * Try and find a matching PHP closing tag.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tokens    The token stack.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param string                      $content   The expected content of the closing tag to match the opener.
		 *
		 * @return int|false Pointer to the position in the stack for the closing tag or false if not found.
		 */
		protected function findClosingTag( \PHP_CodeSniffer\Files\File $phpcsFile, $tokens, $stackPtr, $content ) {         }//end findClosingTag()
		/**
		 * Add a changeset to replace the alternative PHP tags.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile       The file being scanned.
		 * @param array                       $tokens          The token stack.
		 * @param int                         $openTagPointer  Stack pointer to the PHP open tag.
		 * @param int                         $closeTagPointer Stack pointer to the PHP close tag.
		 * @param bool                        $echo            Whether to add 'echo' or not.
		 *
		 * @return void
		 */
		protected function addChangeset( \PHP_CodeSniffer\Files\File $phpcsFile, $tokens, $openTagPointer, $closeTagPointer, $echo = false ) {      }//end addChangeset()
	}
	class SAPIUsageSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class BacktickOperatorSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowerCaseKeywordSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class NoSilencedErrorsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DeprecatedFunctionsSniff extends \PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\ForbiddenFunctionsSniff {

		/**
		 * A list of forbidden functions with their alternatives.
		 *
		 * The value is NULL if no alternative exists. IE, the
		 * function should just not be used.
		 *
		 * @var array<string, string|null>
		 */
		public $forbiddenFunctions = array();
		/**
		 * Constructor.
		 *
		 * Uses the Reflection API to get a list of deprecated functions.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Generates the error or warning for this sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the forbidden function
		 *                                               in the token array.
		 * @param string                      $function  The name of the forbidden function.
		 * @param string                      $pattern   The pattern used for the match.
		 *
		 * @return void
		 */
		protected function addError( $phpcsFile, $stackPtr, $function, $pattern = null ) {      }//end addError()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\VersionControl {
	class SubversionPropertiesSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The Subversion properties that should be set.
		 *
		 * Key of array is the SVN property and the value is the
		 * exact value the property should have or NULL if the
		 * property should just be set but the value is not fixed.
		 *
		 * @var array
		 */
		protected $properties = array(
			'svn:keywords'  => 'Author Id Revision',
			'svn:eol-style' => 'native',
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Returns the Subversion properties which are actually set on a path.
		 *
		 * Returns NULL if the file is not under version control.
		 *
		 * @param string $path The path to return Subversion properties on.
		 *
		 * @return array
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If Subversion properties file could
		 *                                                      not be opened.
		 */
		protected function getProperties( $path ) {         }//end getProperties()
	}
	class GitMergeConflictSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\WhiteSpace {
	class ArbitraryParenthesesSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces desired on the inside of the parentheses.
		 *
		 * @var integer
		 */
		public $spacing = 0;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowTabIndentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class IncrementDecrementSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LanguageConstructSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowSpaceIndentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SpreadOperatorSpacingAfterSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces desired after a spread token.
		 *
		 * @var integer
		 */
		public $spacing = 0;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Formatting {
	class DisallowMultipleStatementsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class NoSpaceAfterCastSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SpaceAfterNotSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces desired after the NOT operator.
		 *
		 * @var integer
		 */
		public $spacing = 1;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SpaceAfterCastSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces desired after a cast token.
		 *
		 * @var integer
		 */
		public $spacing = 1;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SpaceBeforeCastSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class MultipleStatementAlignmentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = false;
		/**
		 * The maximum amount of padding before the alignment is ignored.
		 *
		 * If the amount of padding required to align this assignment with the
		 * surrounding assignments exceeds this number, the assignment will be
		 * ignored and no errors or warnings will be thrown.
		 *
		 * @var integer
		 */
		public $maxPadding = 1000;
		/**
		 * Controls which side of the assignment token is used for alignment.
		 *
		 * @var boolean
		 */
		public $alignAtEnd = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param int                         $end       The token where checking should end.
		 *                                               If NULL, the entire file will be checked.
		 *
		 * @return int
		 */
		public function checkAlignment( $phpcsFile, $stackPtr, $end = null ) {      }//end checkAlignment()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Arrays {
	class ArrayIndentSniff extends \PHP_CodeSniffer\Sniffs\AbstractArraySniff {

		/**
		 * The number of spaces each array key should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Processes a single-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		public function processSingleLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices ) {         }//end processSingleLineArray()
		/**
		 * Processes a multi-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 * @param array                       $indices    An array of token positions for the array keys,
		 *                                                double arrows, and values.
		 *
		 * @return void
		 */
		public function processMultiLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd, $indices ) {      }//end processMultiLineArray()
	}
	class DisallowLongArraySyntaxSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowShortArraySyntaxSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Files {
	class LineLengthSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The limit that the length of a line should not exceed.
		 *
		 * @var integer
		 */
		public $lineLimit = 80;
		/**
		 * The limit that the length of a line must not exceed.
		 *
		 * Set to zero (0) to disable.
		 *
		 * @var integer
		 */
		public $absoluteLineLimit = 100;
		/**
		 * Whether or not to ignore trailing comments.
		 *
		 * This has the effect of also ignoring all lines
		 * that only contain comments.
		 *
		 * @var boolean
		 */
		public $ignoreComments = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Checks if a line is too long.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param array                       $tokens    The token stack.
		 * @param int                         $stackPtr  The first token on the next line.
		 *
		 * @return void
		 */
		protected function checkLineLength( $phpcsFile, $tokens, $stackPtr ) {      }//end checkLineLength()
	}
	class ByteOrderMarkSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * List of supported BOM definitions.
		 *
		 * Use encoding names as keys and hex BOM representations as values.
		 *
		 * @var array
		 */
		protected $bomDefinitions = array(
			'UTF-8'       => 'efbbbf',
			'UTF-16 (BE)' => 'feff',
			'UTF-16 (LE)' => 'fffe',
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OneObjectStructurePerFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LineEndingsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * The valid EOL character.
		 *
		 * @var string
		 */
		public $eolChar = '\\n';
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OneTraitPerFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class InlineHTMLSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * List of supported BOM definitions.
		 *
		 * Use encoding names as keys and hex BOM representations as values.
		 *
		 * @var array
		 */
		protected $bomDefinitions = array(
			'UTF-8'       => 'efbbbf',
			'UTF-16 (BE)' => 'feff',
			'UTF-16 (LE)' => 'fffe',
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int|null
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EndFileNoNewlineSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OneInterfacePerFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercasedFilenameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OneClassPerFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ExecutableFileSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EndFileNewlineSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Functions {
	class OpeningFunctionBraceKernighanRitchieSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Should this sniff check function braces?
		 *
		 * @var boolean
		 */
		public $checkFunctions = true;
		/**
		 * Should this sniff check closure braces?
		 *
		 * @var boolean
		 */
		public $checkClosures = false;
		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return void
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionCallArgumentSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Checks the spacing around commas.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token in the
		 *                                                 stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function checkSpacing( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $openBracket ) {       }//end checkSpacing()
	}
	class CallTimePassByReferenceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OpeningFunctionBraceBsdAllmanSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Should this sniff check function braces?
		 *
		 * @var boolean
		 */
		public $checkFunctions = true;
		/**
		 * Should this sniff check closure braces?
		 *
		 * @var boolean
		 */
		public $checkClosures = false;
		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\ControlStructures {
	class InlineControlStructureSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowYodaConditionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Determines if an array is a static definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The file being scanned.
		 * @param int                         $arrayToken The position of the array token.
		 *
		 * @return bool
		 */
		public function isArrayStatic( \PHP_CodeSniffer\Files\File $phpcsFile, $arrayToken ) {      }//end isArrayStatic()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions {
	class TraitNameSuffixSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class UpperCaseConstantNameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class InterfaceNameSuffixSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class AbstractClassNamePrefixSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the tokens that this sniff wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ConstructorNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs the test with the tokens it wishes to listen for.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes this test when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param int                         $currScope A pointer to the start of the scope.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
		/**
		 * Extracts all the function names found in the given scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being scanned.
		 * @param int                         $currScope A pointer to the start of the scope.
		 *
		 * @return void
		 */
		protected function loadFunctionNamesInScope( \PHP_CodeSniffer\Files\File $phpcsFile, $currScope ) {         }//end loadFunctionNamesInScope()
	}
	class CamelCapsFunctionNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * A list of all PHP magic methods.
		 *
		 * @var array
		 */
		protected $magicMethods = array(
			'construct'   => true,
			'destruct'    => true,
			'call'        => true,
			'callstatic'  => true,
			'get'         => true,
			'set'         => true,
			'isset'       => true,
			'unset'       => true,
			'sleep'       => true,
			'wakeup'      => true,
			'serialize'   => true,
			'unserialize' => true,
			'tostring'    => true,
			'invoke'      => true,
			'set_state'   => true,
			'clone'       => true,
			'debuginfo'   => true,
		);
		/**
		 * A list of all PHP non-magic methods starting with a double underscore.
		 *
		 * These come from PHP modules such as SOAPClient.
		 *
		 * @var array
		 */
		protected $methodsDoubleUnderscore = array(
			'dorequest'              => true,
			'getcookies'             => true,
			'getfunctions'           => true,
			'getlastrequest'         => true,
			'getlastrequestheaders'  => true,
			'getlastresponse'        => true,
			'getlastresponseheaders' => true,
			'gettypes'               => true,
			'setcookie'              => true,
			'setlocation'            => true,
			'setsoapheaders'         => true,
			'soapcall'               => true,
		);
		/**
		 * A list of all PHP magic functions.
		 *
		 * @var array
		 */
		protected $magicFunctions = array( 'autoload' => true );
		/**
		 * If TRUE, the string must not have two capital letters next to each other.
		 *
		 * @var boolean
		 */
		public $strict = true;
		/**
		 * Constructs a Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the tokens within the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 * @param int                         $currScope The position of the current scope.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes the tokens outside the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Commenting {
	class DocCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class TodoSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FixmeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Generic\Sniffs\Debug {
	class CSSLintSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ESLintSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * ESLint configuration file path.
		 *
		 * @var string|null Path to eslintrc. Null to autodetect.
		 */
		public $configFile = null;
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If jshint.js could not be run
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class JSHintSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If jshint.js could not be run
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClosureLinterSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of error codes that should show errors.
		 *
		 * All other error codes will show warnings.
		 *
		 * @var integer
		 */
		public $errorCodes = array();
		/**
		 * A list of error codes to ignore.
		 *
		 * @var integer
		 */
		public $ignoreCodes = array();
		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If jslint.js could not be run
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Strings {
	class EchoedStringsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ConcatenationSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DoubleQuoteUsageUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Operators {
	class ValidLogicalOperatorsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ComparisonOperatorUsageUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'ComparisonOperatorUsageUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class IncrementDecrementUsageUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\CSS {
	class ClassDefinitionNameSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EmptyClassDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassDefinitionOpeningBraceSpaceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class OpacityUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EmptyStyleDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class NamedColoursUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class IndentationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ForbiddenStylesUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SemicolonSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DuplicateClassDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ColourDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MissingColonUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassDefinitionClosingBraceSpaceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowMultipleStyleDefinitionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowercaseStyleDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ColonSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DuplicateStyleDefinitionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ShorthandSizeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Classes {
	class ValidClassNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DuplicatePropertyUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassFileNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SelfMemberReferenceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowercaseClassKeywordsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Objects {
	class ObjectMemberCommaUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ObjectInstantiationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowObjectStringIndexUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DisallowObjectStringIndexUnitTest.js' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Scope {
	class StaticThisUsageUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MethodScopeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MemberVarScopeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\PHP {
	class InnerFunctionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class NonExecutableCodeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
	class CommentedOutCodeUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'CommentedOutCodeUnitTest.inc' ) {      }//end getWarningList()
	}
	class EmbeddedPhpUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowBooleanStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowMultipleAssignmentsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class HeredocUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EvalUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowSizeFunctionsInLoopsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DisallowSizeFunctionsInLoopsUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowInlineIfUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DisallowInlineIfUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class GlobalKeywordUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DiscouragedFunctionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DisallowComparisonAssignmentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowercasePHPFunctionsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\WhiteSpace {
	class MemberVarSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SuperfluousWhitespaceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'SuperfluousWhitespaceUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LanguageConstructSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ScopeClosingBraceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class PropertyLabelSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ControlStructureSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'ControlStructureSpacingUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LogicalOperatorSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'LogicalOperatorSpacingUnitTest.inc' ) {      }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionClosingBraceSpaceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FunctionClosingBraceSpaceUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ScopeKeywordSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionOpeningBraceSpaceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FunctionOpeningBraceSpaceUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class SemicolonSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'SemicolonSpacingUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class OperatorSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'OperatorSpacingUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ObjectOperatorSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class CastSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Formatting {
	class OperatorBracketUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'OperatorBracketUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Arrays {
	class ArrayDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ArrayBracketSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Files {
	class FileExtensionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Functions {
	class FunctionDeclarationArgumentSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class GlobalFunctionUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class MultiLineFunctionDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'MultiLineFunctionDeclarationUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionDuplicateArgumentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowercaseFunctionKeywordsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\ControlStructures {
	class ControlSignatureUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'ControlSignatureUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LowercaseDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ForEachLoopDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ElseIfDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InlineIfDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array
		 */
		public function getCliValues( $testFile ) {         }//end getCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ForLoopDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'ForLoopDeclarationUnitTest.inc' ) {      }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'ForLoopDeclarationUnitTest.inc' ) {        }//end getWarningList()
	}
	class SwitchDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'SwitchDeclarationUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = 'SwitchDeclarationUnitTest.inc' ) {         }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\NamingConventions {
	class ValidFunctionNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ValidVariableNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Commenting {
	class FileCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'FileCommentUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class BlockCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Get a list of CLI values to set before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class LongConditionClosingCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'LongConditionClosingCommentUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class VariableCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionCommentThrowTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FunctionCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClosingDeclarationCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class InlineCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'InlineCommentUnitTest.inc' ) {       }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class PostStatementCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'PostStatementCommentUnitTest.inc' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DocCommentAlignmentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = 'DocCommentAlignmentUnitTest.inc' ) {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class EmptyCatchCommentUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Tests\Debug {
	class JSLintUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class JavaScriptLintUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Should this test be skipped for some reason.
		 *
		 * @return void
		 */
		protected function shouldSkipTest() {       }//end shouldSkipTest()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Strings {
	class ConcatenationSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces before and after a string concat.
		 *
		 * @var integer
		 */
		public $spacing = 0;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DoubleQuoteUsageSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EchoedStringsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Operators {
	class ComparisonOperatorUsageSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Registers the token types that this sniff wishes to listen to.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Process the tokens that this sniff is listening for.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where the token
		 *                                               was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class IncrementDecrementUsageSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Checks to ensure increment and decrement operators are not confusing.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processIncDec( $phpcsFile, $stackPtr ) {         }//end processIncDec()
		/**
		 * Checks to ensure increment and decrement operators are used.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processAssignment( $phpcsFile, $stackPtr ) {         }//end processAssignment()
	}
	class ValidLogicalOperatorsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\CSS {
	class DisallowMultipleStyleDefinitionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercaseStyleDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClassDefinitionNameSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class OpacitySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClassDefinitionOpeningBraceSpaceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ColonSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ForbiddenStylesSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * A list of forbidden styles with their alternatives.
		 *
		 * The value is NULL if no alternative exists. i.e., the
		 * style should just not be used.
		 *
		 * @var array<string, string|null>
		 */
		protected $forbiddenStyles = array(
			'-moz-border-radius'             => 'border-radius',
			'-webkit-border-radius'          => 'border-radius',
			'-moz-border-radius-topleft'     => 'border-top-left-radius',
			'-moz-border-radius-topright'    => 'border-top-right-radius',
			'-moz-border-radius-bottomright' => 'border-bottom-right-radius',
			'-moz-border-radius-bottomleft'  => 'border-bottom-left-radius',
			'-moz-box-shadow'                => 'box-shadow',
			'-webkit-box-shadow'             => 'box-shadow',
		);
		/**
		 * A cache of forbidden style names, for faster lookups.
		 *
		 * @var string[]
		 */
		protected $forbiddenStyleNames = array();
		/**
		 * If true, forbidden styles will be considered regular expressions.
		 *
		 * @var boolean
		 */
		protected $patternMatch = false;
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = true;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Generates the error or warning for this sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the forbidden style
		 *                                               in the token array.
		 * @param string                      $style     The name of the forbidden style.
		 * @param string                      $pattern   The pattern used for the match.
		 *
		 * @return void
		 */
		protected function addError( $phpcsFile, $stackPtr, $style, $pattern = null ) {         }//end addError()
	}
	class NamedColoursSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * A list of named colours.
		 *
		 * This is the list of standard colours defined in the CSS specification.
		 *
		 * @var array
		 */
		protected $colourNames = array(
			'aqua'    => 'aqua',
			'black'   => 'black',
			'blue'    => 'blue',
			'fuchsia' => 'fuchsia',
			'gray'    => 'gray',
			'green'   => 'green',
			'lime'    => 'lime',
			'maroon'  => 'maroon',
			'navy'    => 'navy',
			'olive'   => 'olive',
			'orange'  => 'orange',
			'purple'  => 'purple',
			'red'     => 'red',
			'silver'  => 'silver',
			'teal'    => 'teal',
			'white'   => 'white',
			'yellow'  => 'yellow',
		);
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClassDefinitionClosingBraceSpaceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ColourDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DuplicateClassDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmptyStyleDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmptyClassDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class MissingColonSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DuplicateStyleDefinitionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ShorthandSizeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * A list of styles that we shouldn't check.
		 *
		 * These have values that looks like sizes, but are not.
		 *
		 * @var array
		 */
		protected $excludeStyles = array(
			'background-position'      => 'background-position',
			'box-shadow'               => 'box-shadow',
			'transform-origin'         => 'transform-origin',
			'-webkit-transform-origin' => '-webkit-transform-origin',
			'-ms-transform-origin'     => '-ms-transform-origin',
		);
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SemicolonSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class IndentationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'CSS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Classes {
	class ValidClassNameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being processed.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DuplicatePropertySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being processed.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercaseClassKeywordsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SelfMemberReferenceSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs a Squiz_Sniffs_Classes_SelfMemberReferenceSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 * @param int                         $currScope The current scope opener token.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
		/**
		 * Returns the declaration names for classes/interfaces/functions with a namespace.
		 *
		 * @param array $tokens   Token stack for this file
		 * @param int   $stackPtr The position where the namespace building will start.
		 *
		 * @return string
		 */
		protected function getDeclarationNameWithNamespace( array $tokens, $stackPtr ) {        }//end getDeclarationNameWithNamespace()
		/**
		 * Returns the namespace declaration of a file.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the search for the
		 *                                               namespace declaration will start.
		 *
		 * @return string
		 */
		protected function getNamespaceOfScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end getNamespaceOfScope()
	}
	class ClassFileNameSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClassDeclarationSniff extends \PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes\ClassDeclarationSniff {

		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes the opening section of a class declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processOpen( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processOpen()
		/**
		 * Processes the closing section of a class declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processClose( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {         }//end processClose()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Objects {
	class ObjectMemberCommaSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Registers the token types that this sniff wishes to listen to.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Process the tokens that this sniff is listening for.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ObjectInstantiationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Registers the token types that this sniff wishes to listen to.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Process the tokens that this sniff is listening for.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowObjectStringIndexSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Scope {
	class MemberVarScopeSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes normal variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes variables in double quoted strings.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
	class MethodScopeSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs a Squiz_Sniffs_Scope_MethodScopeSniff.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 * @param int                         $currScope The current scope opener token.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
	class StaticThisUsageSniff extends \PHP_CodeSniffer\Sniffs\AbstractScopeSniff {

		/**
		 * Constructs the test with the tokens it wishes to listen for.
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 * @param int                         $currScope A pointer to the start of the scope.
		 *
		 * @return void
		 */
		public function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {      }
		// end checkThisUsage()
		/**
		 * Processes a token that is found within the scope that this test is
		 * listening to.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position in the stack where this
		 *                                               token was found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\PHP {
	class HeredocSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowMultipleAssignmentsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class InnerFunctionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EvalSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class GlobalKeywordSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowBooleanStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DiscouragedFunctionsSniff extends \PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\ForbiddenFunctionsSniff {

		/**
		 * A list of forbidden functions with their alternatives.
		 *
		 * The value is NULL if no alternative exists. IE, the
		 * function should just not be used.
		 *
		 * @var array<string, string|null>
		 */
		public $forbiddenFunctions = array(
			'error_log' => null,
			'print_r'   => null,
			'var_dump'  => null,
		);
		/**
		 * If true, an error will be thrown; otherwise a warning.
		 *
		 * @var boolean
		 */
		public $error = false;
	}
	class CommentedOutCodeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'CSS' );
		/**
		 * If a comment is more than $maxPercentage% code, a warning will be shown.
		 *
		 * @var integer
		 */
		public $maxPercentage = 35;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int|void Integer stack pointer to skip forward or void to continue
		 *                  normal file processing.
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercasePHPFunctionsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Construct the LowercasePHPFunctionSniff
		 */
		public function __construct() {         }//end __construct()
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowSizeFunctionsInLoopsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * An array of functions we don't want in the condition of loops.
		 *
		 * @var array
		 */
		protected $forbiddenFunctions = array(
			'PHP' => array(
				'sizeof' => true,
				'strlen' => true,
				'count'  => true,
			),
			'JS'  => array( 'length' => true ),
		);
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowInlineIfSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DisallowComparisonAssignmentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmbeddedPhpSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end validateInlineEmbeddedPhp()
	}
	class NonExecutableCodeSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace {
	class PropertyLabelSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ControlStructureSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of blank lines between functions.
		 *
		 * @var integer
		 */
		public $spacing = 2;
		/**
		 * The number of blank lines before the first function in a class.
		 *
		 * @var integer
		 */
		public $spacingBeforeFirst = 2;
		/**
		 * The number of blank lines after the last function in a class.
		 *
		 * @var integer
		 */
		public $spacingAfterLast = 2;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class MemberVarSpacingSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * The number of blank lines between member vars.
		 *
		 * @var integer
		 */
		public $spacing = 1;
		/**
		 * The number of blank lines before the first member var.
		 *
		 * @var integer
		 */
		public $spacingBeforeFirst = 1;
		/**
		 * Processes the function tokens within the class.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void|int Optionally returns a stack pointer. The sniff will not be
		 *                  called again on the current file until the returned stack
		 *                  pointer is reached.
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes normal variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes variables in double quoted strings.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where this token was found.
		 * @param int                         $stackPtr  The position where the token was found.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
	class CastSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionClosingBraceSpaceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ObjectOperatorSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Check the spacing before the operator.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param mixed                       $before    The number of spaces found before the
		 *                                               operator or the string 'newline'.
		 *
		 * @return boolean true if there was no error, false otherwise.
		 */
		protected function checkSpacingBeforeOperator( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $before ) {       }//end checkSpacingBeforeOperator()
		/**
		 * Check the spacing after the operator.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param mixed                       $after     The number of spaces found after the
		 *                                               operator or the string 'newline'.
		 *
		 * @return boolean true if there was no error, false otherwise.
		 */
		protected function checkSpacingAfterOperator( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $after ) {         }//end checkSpacingAfterOperator()
	}
	class LogicalOperatorSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ScopeClosingBraceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SuperfluousWhitespaceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS', 'CSS' );
		/**
		 * If TRUE, whitespace rules are not checked for blank lines.
		 *
		 * Blank lines are those that contain only whitespace.
		 *
		 * @var boolean
		 */
		public $ignoreBlankLines = false;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LanguageConstructSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionOpeningBraceSpaceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ScopeKeywordSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SemicolonSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Formatting {
	class OperatorBracketSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Add and fix the missing brackets error.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function addMissingBracketsError( $phpcsFile, $stackPtr ) {      }//end addMissingBracketsError()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Arrays {
	class ArrayDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes a single-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 *
		 * @return void
		 */
		public function processSingleLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd ) {       }//end processSingleLineArray()
		/**
		 * Processes a multi-line array definition.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile  The current file being checked.
		 * @param int                         $stackPtr   The position of the current token
		 *                                                in the stack passed in $tokens.
		 * @param int                         $arrayStart The token that starts the array definition.
		 * @param int                         $arrayEnd   The token that ends the array definition.
		 *
		 * @return void
		 */
		public function processMultiLineArray( $phpcsFile, $stackPtr, $arrayStart, $arrayEnd ) {        }//end processMultiLineArray()
	}
	class ArrayBracketSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Files {
	class FileExtensionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Functions {
	class FunctionDeclarationSniff extends \PHP_CodeSniffer\Sniffs\AbstractPatternSniff {

		/**
		 * Returns an array of patterns to check are correct.
		 *
		 * @return array
		 */
		protected function getPatterns() {      }//end getPatterns()
	}
	class GlobalFunctionSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionDeclarationArgumentSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * How many spaces should surround the equals signs.
		 *
		 * @var integer
		 */
		public $equalsSpacing = 0;
		/**
		 * How many spaces should follow the opening bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesAfterOpen = 0;
		/**
		 * How many spaces should precede the closing bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeClose = 0;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes the contents of a single set of brackets.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $openBracket The position of the open bracket
		 *                                                 in the stack.
		 *
		 * @return void
		 */
		public function processBracket( $phpcsFile, $openBracket ) {        }//end processBracket()
	}
	class FunctionDuplicateArgumentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercaseFunctionKeywordsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class MultiLineFunctionDeclarationSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\Functions\FunctionDeclarationSniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Determine if this is a multi-line function declaration.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $stackPtr    The position of the current token
		 *                                                 in the stack passed in $tokens.
		 * @param int                         $openBracket The position of the opening bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 *
		 * @return void
		 */
		public function isMultiLineDeclaration( $phpcsFile, $stackPtr, $openBracket, $tokens ) {        }//end isMultiLineDeclaration()
		/**
		 * Processes single-line declarations.
		 *
		 * Just uses the Generic BSD-Allman brace sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param array                       $tokens    The stack of tokens that make up
		 *                                               the file.
		 *
		 * @return void
		 */
		public function processSingleLineDeclaration( $phpcsFile, $stackPtr, $tokens ) {        }//end processSingleLineDeclaration()
		/**
		 * Processes multi-line declarations.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 * @param array                       $tokens    The stack of tokens that make up
		 *                                               the file.
		 *
		 * @return void
		 */
		public function processMultiLineDeclaration( $phpcsFile, $stackPtr, $tokens ) {         }//end processMultiLineDeclaration()
		/**
		 * Processes the contents of a single set of brackets.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param int                         $openBracket The position of the open bracket
		 *                                                 in the stack passed in $tokens.
		 * @param array                       $tokens      The stack of tokens that make up
		 *                                                 the file.
		 * @param string                      $type        The type of the token the brackets
		 *                                                 belong to (function or use).
		 *
		 * @return void
		 */
		public function processBracket( $phpcsFile, $openBracket, $tokens, $type = 'function' ) {       }//end processBracket()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\ControlStructures {
	class ForLoopDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * How many spaces should follow the opening bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesAfterOpen = 0;
		/**
		 * How many spaces should precede the closing bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeClose = 0;
		/**
		 * Allow newlines instead of spaces.
		 *
		 * @var boolean
		 */
		public $ignoreNewlines = false;
		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LowercaseDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ControlSignatureSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * How many spaces should precede the colon if using alternative syntax.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeColon = 1;
		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class SwitchDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class InlineIfDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ForEachLoopDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * How many spaces should follow the opening bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesAfterOpen = 0;
		/**
		 * How many spaces should precede the closing bracket.
		 *
		 * @var integer
		 */
		public $requiredSpacesBeforeClose = 0;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ElseIfDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\NamingConventions {
	class ValidFunctionNameSniff extends \PHP_CodeSniffer\Standards\PEAR\Sniffs\NamingConventions\ValidFunctionNameSniff {

		/**
		 * Processes the tokens outside the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
	class ValidVariableNameSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Processes class member variables.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processMemberVar()
		/**
		 * Processes the variable found within a double quoted string.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the double quoted
		 *                                               string.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Commenting {
	class PostStatementCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class VariableCommentSniff extends \PHP_CodeSniffer\Sniffs\AbstractVariableSniff {

		/**
		 * Called to process class member vars.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processMemberVar( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {         }//end processMemberVar()
		/**
		 * Called to process a normal variable.
		 *
		 * Not required for this sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this token was found.
		 * @param int                         $stackPtr  The position where the double quoted
		 *                                               string was found.
		 *
		 * @return void
		 */
		protected function processVariable( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariable()
		/**
		 * Called to process variables found in double quoted strings.
		 *
		 * Not required for this sniff.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The PHP_CodeSniffer file where this token was found.
		 * @param int                         $stackPtr  The position where the double quoted
		 *                                               string was found.
		 *
		 * @return void
		 */
		protected function processVariableInString( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processVariableInString()
	}
	class ClosingDeclarationCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens..
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DocCommentAlignmentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class LongConditionClosingCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * The length that a code block must be before
		 * requiring a closing comment.
		 *
		 * @var integer
		 */
		public $lineLimit = 20;
		/**
		 * The format the end comment should be in.
		 *
		 * The placeholder %s will be replaced with the type of condition opener.
		 *
		 * @var string
		 */
		public $commentFormat = '//end %s';
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class InlineCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ClassCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FileCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'PHP', 'JS' );
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class EmptyCatchCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile All the tokens found in the document.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FunctionCommentThrowTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class BlockCommentSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\Squiz\Sniffs\Debug {
	class JSLintSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If jslint.js could not be run
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class JavaScriptLintSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * A list of tokenizers this sniff supports.
		 *
		 * @var array
		 */
		public $supportedTokenizers = array( 'JS' );
		/**
		 * Returns the token types that this sniff is interested in.
		 *
		 * @return int[]
		 */
		public function register() {        }//end register()
		/**
		 * Processes the tokens that this sniff is interested in.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file where the token was found.
		 * @param int                         $stackPtr  The position in the stack where
		 *                                               the token was found.
		 *
		 * @return void
		 * @throws \PHP_CodeSniffer\Exceptions\RuntimeException If Javascript Lint ran into trouble.
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Tests\Methods {
	class CamelCapsMethodNameUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Tests\Classes {
	class ClassDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Tests\Files {
	class SideEffectsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Set CLI values before the file is tested.
		 *
		 * @param string                  $testFile The name of the file being tested.
		 * @param \PHP_CodeSniffer\Config $config   The config data for the test run.
		 *
		 * @return void
		 */
		public function setCliValues( $testFile, $config ) {        }//end setCliValues()
		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList( $testFile = '' ) {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Sniffs\Methods {
	class CamelCapsMethodNameSniff extends \PHP_CodeSniffer\Standards\Generic\Sniffs\NamingConventions\CamelCapsFunctionNameSniff {

		/**
		 * Processes the tokens within the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 * @param int                         $currScope The position of the current scope.
		 *
		 * @return void
		 */
		protected function processTokenWithinScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr, $currScope ) {       }//end processTokenWithinScope()
		/**
		 * Processes the tokens outside the scope.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being processed.
		 * @param int                         $stackPtr  The position where this token was
		 *                                               found.
		 *
		 * @return void
		 */
		protected function processTokenOutsideScope( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end processTokenOutsideScope()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Sniffs\Classes {
	class ClassDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param integer                     $stackPtr  The position of the current token in
		 *                                               the token stack.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR1\Sniffs\Files {
	class SideEffectsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the token stack.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }
		// end searchForConflict()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Operators {
	class OperatorSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Traits {
	class UseDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Classes {
	class AnonClassDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClassInstantiationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class ClosingBraceUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Namespaces {
	class CompoundNamespaceDepthUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Properties {
	class ConstantVisibilityUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Files {
	class ImportStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class FileHeaderUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class DeclareStatementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class OpenTagUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @param string $testFile The name of the file being tested.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList( $testFile = '' ) {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Functions {
	class NullableTypeDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getErrorList() {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getWarningList() {       }//end getWarningList()
	}
	class ReturnTypeDeclarationUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getErrorList() {         }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		protected function getWarningList() {       }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\ControlStructures {
	class ControlStructureSpacingUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
	class BooleanOperatorPlacementUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Tests\Keywords {
	class ShortFormTypeKeywordsUnitTest extends \PHP_CodeSniffer\Tests\Standards\AbstractSniffUnitTest {

		/**
		 * Returns the lines where errors should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of errors that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getErrorList() {        }//end getErrorList()
		/**
		 * Returns the lines where warnings should occur.
		 *
		 * The key of the array should represent the line number and the value
		 * should represent the number of warnings that should occur on that line.
		 *
		 * @return array<int, int>
		 */
		public function getWarningList() {      }//end getWarningList()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Operators {
	class OperatorSpacingSniff extends \PHP_CodeSniffer\Standards\Squiz\Sniffs\WhiteSpace\OperatorSpacingSniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The current file being checked.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Traits {
	class UseDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes a group use statement.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processUseGroup( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processUseGroup()
		/**
		 * Processes a single use statement.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		protected function processUseStatement( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end processUseStatement()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Classes {
	class ClosingBraceSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class AnonClassDeclarationSniff extends \PHP_CodeSniffer\Standards\PSR2\Sniffs\Classes\ClassDeclarationSniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processSingleLineArgumentList( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {        }//end processSingleLineArgumentList()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function processMultiLineArgumentList( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {         }//end processMultiLineArgumentList()
	}
	class ClassInstantiationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Namespaces {
	class CompoundNamespaceDepthSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The max depth for compound namespaces.
		 *
		 * @var integer
		 */
		public $maxDepth = 2;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Properties {
	class ConstantVisibilitySniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Files {
	class ImportStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class FileHeaderSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current
		 *                                               token in the stack.
		 *
		 * @return int|null
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
		/**
		 * Gather information about the statements inside a possible file header.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current
		 *                                               token in the stack.
		 *
		 * @return array
		 */
		public function getHeaderLines( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {       }//end getHeaderLines()
		/**
		 * Check the spacing and grouping of the statements inside each header block.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile   The file being scanned.
		 * @param array                       $headerLines Header information, as sourced
		 *                                                 from getHeaderLines().
		 *
		 * @return int|null
		 */
		public function processHeaderLines( \PHP_CodeSniffer\Files\File $phpcsFile, $headerLines ) {        }//end processHeaderLines()
	}
	class OpenTagSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current
		 *                                               token in the stack.
		 *
		 * @return int
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class DeclareStatementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this sniff, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in
		 *                                               the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Functions {
	class NullableTypeDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class ReturnTypeDeclarationSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\ControlStructures {
	class ControlStructureSpacingSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * The number of spaces code should be indented.
		 *
		 * @var integer
		 */
		public $indent = 4;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
	class BooleanOperatorPlacementSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Used to restrict the placement of the boolean operator.
		 *
		 * Allowed value are "first" or "last".
		 *
		 * @var string|null
		 */
		public $allowOnly = null;
		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token
		 *                                               in the stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace PHP_CodeSniffer\Standards\PSR12\Sniffs\Keywords {
	class ShortFormTypeKeywordsSniff implements \PHP_CodeSniffer\Sniffs\Sniff {

		/**
		 * Returns an array of tokens this test wants to listen for.
		 *
		 * @return array
		 */
		public function register() {        }//end register()
		/**
		 * Processes this test, when one of its tokens is encountered.
		 *
		 * @param \PHP_CodeSniffer\Files\File $phpcsFile The file being scanned.
		 * @param int                         $stackPtr  The position of the current token in the
		 *                                               stack passed in $tokens.
		 *
		 * @return void
		 */
		public function process( \PHP_CodeSniffer\Files\File $phpcsFile, $stackPtr ) {      }//end process()
	}
}

namespace React\Promise {
	interface CancellablePromiseInterface extends \React\Promise\PromiseInterface {

		/**
		 * The `cancel()` method notifies the creator of the promise that there is no
		 * further interest in the results of the operation.
		 *
		 * Once a promise is settled (either fulfilled or rejected), calling `cancel()` on
		 * a promise has no effect.
		 *
		 * @return void
		 */
		public function cancel(): void;
	}
	interface PromisorInterface {

		/**
		 * Returns the promise of the deferred.
		 *
		 * @return PromiseInterface
		 */
		public function promise();
	}
	interface ExtendedPromiseInterface extends \React\Promise\PromiseInterface {

		/**
		 * Consumes the promise's ultimate value if the promise fulfills, or handles the
		 * ultimate error.
		 *
		 * It will cause a fatal error if either `$onFulfilled` or
		 * `$onRejected` throw or return a rejected promise.
		 *
		 * Since the purpose of `done()` is consumption rather than transformation,
		 * `done()` always returns `null`.
		 *
		 * @param callable|null $onFulfilled
		 * @param callable|null $onRejected
		 * @param callable|null $onProgress This argument is deprecated and should not be used anymore.
		 * @return void
		 */
		public function done( callable $onFulfilled = null, callable $onRejected = null, callable $onProgress = null);
		/**
		 * Registers a rejection handler for promise. It is a shortcut for:
		 *
		 * ```php
		 * $promise->then(null, $onRejected);
		 * ```
		 *
		 * Additionally, you can type hint the `$reason` argument of `$onRejected` to catch
		 * only specific errors.
		 *
		 * @param callable $onRejected
		 * @return ExtendedPromiseInterface
		 */
		public function otherwise( callable $onRejected): PromiseInterface;
		/**
		 * Allows you to execute "cleanup" type tasks in a promise chain.
		 *
		 * It arranges for `$onFulfilledOrRejected` to be called, with no arguments,
		 * when the promise is either fulfilled or rejected.
		 *
		 * * If `$promise` fulfills, and `$onFulfilledOrRejected` returns successfully,
		 *    `$newPromise` will fulfill with the same value as `$promise`.
		 * * If `$promise` fulfills, and `$onFulfilledOrRejected` throws or returns a
		 *    rejected promise, `$newPromise` will reject with the thrown exception or
		 *    rejected promise's reason.
		 * * If `$promise` rejects, and `$onFulfilledOrRejected` returns successfully,
		 *    `$newPromise` will reject with the same reason as `$promise`.
		 * * If `$promise` rejects, and `$onFulfilledOrRejected` throws or returns a
		 *    rejected promise, `$newPromise` will reject with the thrown exception or
		 *    rejected promise's reason.
		 *
		 * `always()` behaves similarly to the synchronous finally statement. When combined
		 * with `otherwise()`, `always()` allows you to write code that is similar to the familiar
		 * synchronous catch/finally pair.
		 *
		 * Consider the following synchronous code:
		 *
		 * ```php
		 * try {
		 *     return doSomething();
		 * } catch(\Exception $e) {
		 *     return handleError($e);
		 * } finally {
		 *     cleanup();
		 * }
		 * ```
		 *
		 * Similar asynchronous code (with `doSomething()` that returns a promise) can be
		 * written:
		 *
		 * ```php
		 * return doSomething()
		 *     ->otherwise('handleError')
		 *     ->always('cleanup');
		 * ```
		 *
		 * @param callable $onFulfilledOrRejected
		 * @return ExtendedPromiseInterface
		 */
		public function always( callable $onFulfilledOrRejected): PromiseInterface;
		/**
		 * Registers a handler for progress updates from promise. It is a shortcut for:
		 *
		 * ```php
		 * $promise->then(null, null, $onProgress);
		 * ```
		 *
		 * @param callable $onProgress
		 * @return ExtendedPromiseInterface
		 * @deprecated 2.6.0 Progress support is deprecated and should not be used anymore.
		 */
		public function progress( callable $onProgress);
	}
	/**
	 * @deprecated 2.8.0 External usage of RejectedPromise is deprecated, use `reject()` instead.
	 */

	class UnhandledRejectionException extends \RuntimeException {

		public static function resolve( $reason ) {         }
		public function __construct( $reason ) {        }
		public function getReason() {       }
	}
	/**
	 * @deprecated 2.8.0 LazyPromise is deprecated and should not be used anymore.
	 */

	/**
	 * @deprecated 2.8.0 External usage of FulfilledPromise is deprecated, use `resolve()` instead.
	 */

	class CancellationQueue {

		public function __invoke() {        }
		public function enqueue( $cancellable ) {       }
	}
}

// Used by `wp server` to route requests.
namespace WP_CLI\Router {
	/**
	 * This is a copy of WordPress's add_filter() function.
	 *
	 * We duplicate it because WordPress is not loaded yet.
	 */
	function add_filter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {     }
	/**
	 * This is a copy of WordPress's _wp_filter_build_unique_id() function.
	 *
	 * We duplicate it because WordPress is not loaded yet.
	 */
	function _wp_filter_build_unique_id( $tag, $callback, $priority ) {     }
	function _get_full_host( $url ) {   }
}

namespace WP_CLI\Dispatcher {
	/**
	 * Get the path to a command, e.g. "core download"
	 *
	 * @param Subcommand|CompositeCommand $command
	 * @return string[]
	 */
	function get_path( $command ) {     }
}

namespace WP_CLI {
	/**
	 * Get the list of ordered steps that need to be processed to bootstrap WP-CLI.
	 *
	 * Each entry is a fully qualified class name for a class implementing the
	 * `WP_CLI\Bootstrap\BootstrapStep` interface.
	 *
	 * @return string[]
	 */
	function get_bootstrap_steps() {    }
	/**
	 * Register the classes needed for the bootstrap process.
	 *
	 * The Composer autoloader is not active yet at this point, so we need to use a
	 * custom autoloader to fetch the bootstrap classes in a flexible way.
	 */
	function prepare_bootstrap() {  }
	/**
	 * Initialize and return the bootstrap state to pass from step to step.
	 *
	 * @return BootstrapState
	 */
	function initialize_bootstrap_state() {     }
	/**
	 * Process the bootstrapping steps.
	 *
	 * Loops over each of the provided steps, instantiates it and then calls its
	 * `process()` method.
	 */
	function bootstrap() {  }
}

// Utilities that do NOT depend on WordPress code.
namespace WP_CLI\Utils {
	/**
	 * File stream wrapper prefix for Phar archives.
	 *
	 * @var string
	 */
	const PHAR_STREAM_PREFIX = 'phar://';
	/**
	 * Regular expression pattern to match __FILE__ and __DIR__ constants.
	 *
	 * We try to be smart and only replace the constants when they are not within quotes.
	 * Regular expressions being stateless, this is probably not 100% correct for edge cases.
	 *
	 * @see https://regex101.com/r/9hXp5d/11
	 * @see https://stackoverflow.com/a/171499/933065
	 *
	 * @var string
	 */
	const FILE_DIR_PATTERN = '%(?>#.*?$)|(?>//.*?$)|(?>/\\*.*?\\*/)|(?>\'(?:(?=(\\\\?))\\1.)*?\')|(?>"(?:(?=(\\\\?))\\2.)*?")|(?<file>\\b__FILE__\\b)|(?<dir>\\b__DIR__\\b)%ms';
	/**
	 * Check if a certain path is within a Phar archive.
	 *
	 * If no path is provided, the function checks whether the current WP_CLI instance is
	 * running from within a Phar archive.
	 *
	 * @param string|null $path Optional. Path to check. Defaults to null, which checks WP_CLI_ROOT.
	 */
	function inside_phar( $path = null ) {  }
	/**
	 * Extract a file from a Phar archive.
	 *
	 * Files that need to be read by external programs have to be extracted from the Phar archive.
	 * If the file is not within a Phar archive, the function returns the path unchanged.
	 *
	 * @param string $path Path to the file to extract.
	 * @return string Path to the extracted file.
	 */
	function extract_from_phar( $path ) {   }
	function load_dependencies() {  }
	function get_vendor_paths() {   }
	// Using require() directly inside a class grants access to private methods to the loaded code.
	function load_file( $path ) {   }
	function load_command( $name ) {    }
	/**
	 * Like array_map(), except it returns a new iterator, instead of a modified array.
	 *
	 * Example:
	 *
	 *     $arr = array('Football', 'Socker');
	 *
	 *     $it = iterator_map($arr, 'strtolower', function($val) {
	 *       return str_replace('foo', 'bar', $val);
	 *     });
	 *
	 *     foreach ( $it as $val ) {
	 *       var_dump($val);
	 *     }
	 *
	 * @param array|object $it Either a plain array or another iterator.
	 * @param callback     $fn The function to apply to an element.
	 * @return object An iterator that applies the given callback(s).
	 */
	function iterator_map( $it, $fn ) {     }
	/**
	 * Search for file by walking up the directory tree until the first file is found or until $stop_check($dir) returns true.
	 *
	 * @param string|array $files      The files (or file) to search for.
	 * @param string|null  $dir        The directory to start searching from; defaults to CWD.
	 * @param callable     $stop_check Function which is passed the current dir each time a directory level is traversed.
	 * @return null|string Null if the file was not found.
	 */
	function find_file_upward( $files, $dir = null, $stop_check = null ) {  }
	function is_path_absolute( $path ) {    }
	/**
	 * Composes positional arguments into a command string.
	 *
	 * @param array $args Positional arguments to compose.
	 * @return string
	 */
	function args_to_str( $args ) {     }
	/**
	 * Composes associative arguments into a command string.
	 *
	 * @param array $assoc_args Associative arguments to compose.
	 * @return string
	 */
	function assoc_args_to_str( $assoc_args ) {     }
	/**
	 * Given a template string and an arbitrary number of arguments,
	 * returns the final command, with the parameters escaped.
	 */
	function esc_cmd( $cmd ) {  }
	/**
	 * Gets path to WordPress configuration.
	 *
	 * @return string
	 */
	function locate_wp_config() {   }
	function wp_version_compare( $since, $operator ) {  }
	/**
	 * Render a collection of items as an ASCII table, JSON, CSV, YAML, list of ids, or count.
	 *
	 * Given a collection of items with a consistent data structure:
	 *
	 * ```
	 * $items = array(
	 *     array(
	 *         'key'   => 'foo',
	 *         'value'  => 'bar',
	 *     )
	 * );
	 * ```
	 *
	 * Render `$items` as an ASCII table:
	 *
	 * ```
	 * WP_CLI\Utils\format_items( 'table', $items, array( 'key', 'value' ) );
	 *
	 * # +-----+-------+
	 * # | key | value |
	 * # +-----+-------+
	 * # | foo | bar   |
	 * # +-----+-------+
	 * ```
	 *
	 * Or render `$items` as YAML:
	 *
	 * ```
	 * WP_CLI\Utils\format_items( 'yaml', $items, array( 'key', 'value' ) );
	 *
	 * # ---
	 * # -
	 * #   key: foo
	 * #   value: bar
	 * ```
	 *
	 * @access public
	 * @category Output
	 *
	 * @param string       $format Format to use: 'table', 'json', 'csv', 'yaml', 'ids', 'count'.
	 * @param array        $items  An array of items to output.
	 * @param array|string $fields Named fields for each item of data. Can be array or comma-separated list.
	 */
	function format_items( $format, $items, $fields ) {     }
	/**
	 * Write data as CSV to a given file.
	 *
	 * @access public
	 *
	 * @param resource $fd      File descriptor.
	 * @param array    $rows    Array of rows to output.
	 * @param array    $headers List of CSV columns (optional).
	 */
	function write_csv( $fd, $rows, $headers = array() ) {  }
	/**
	 * Pick fields from an associative array or object.
	 *
	 * @param  array|object $item    Associative array or object to pick fields from.
	 * @param  array        $fields  List of fields to pick.
	 * @return array
	 */
	function pick_fields( $item, $fields ) {    }
	/**
	 * Launch system's $EDITOR for the user to edit some text.
	 *
	 * @access public
	 * @category Input
	 *
	 * @param string $input Some form of text to edit (e.g. post content).
	 * @param string $title Title to display in the editor.
	 * @param string $ext   Extension to use with the temp file.
	 * @return string|bool  Edited text, if file is saved from editor; false, if no change to file.
	 */
	function launch_editor_for_input( $input, $title = 'WP-CLI', $ext = 'tmp' ) {   }
	/**
	 * @param string $raw_host MySQL host string, as defined in wp-config.php.
	 *
	 * @return array
	 */
	function mysql_host_to_cli_args( $raw_host ) {  }
	/**
	 * Run a MySQL command and optionally return the output.
	 *
	 * @since v2.5.0 Deprecated $descriptors argument.
	 *
	 * @param string $cmd           Command to run.
	 * @param array  $assoc_args    Associative array of arguments to use.
	 * @param mixed  $_             Deprecated. Former $descriptors argument.
	 * @param bool   $send_to_shell Optional. Whether to send STDOUT and STDERR
	 *                              immediately to the shell. Defaults to true.
	 * @param bool   $interactive   Optional. Whether MySQL is meant to be
	 *                              executed as an interactive process. Defaults
	 *                              to false.
	 *
	 * @return array {
	 *     Associative array containing STDOUT and STDERR output.
	 *
	 *     @type string $stdout    Output that was sent to STDOUT.
	 *     @type string $stderr    Output that was sent to STDERR.
	 *     @type int    $exit_code Exit code of the process.
	 * }
	 */
	function run_mysql_command( $cmd, $assoc_args, $_ = null, $send_to_shell = true, $interactive = false ) {   }
	/**
	 * Render PHP or other types of files using Mustache templates.
	 *
	 * IMPORTANT: Automatic HTML escaping is disabled!
	 */
	function mustache_render( $template_name, $data = array() ) {   }
	/**
	 * Create a progress bar to display percent completion of a given operation.
	 *
	 * Progress bar is written to STDOUT, and disabled when command is piped. Progress
	 * advances with `$progress->tick()`, and completes with `$progress->finish()`.
	 * Process bar also indicates elapsed time and expected total time.
	 *
	 * ```
	 * # `wp user generate` ticks progress bar each time a new user is created.
	 * #
	 * # $ wp user generate --count=500
	 * # Generating users  22 % [=======>                             ] 0:05 / 0:23
	 *
	 * $progress = \WP_CLI\Utils\make_progress_bar( 'Generating users', $count );
	 * for ( $i = 0; $i < $count; $i++ ) {
	 *     // uses wp_insert_user() to insert the user
	 *     $progress->tick();
	 * }
	 * $progress->finish();
	 * ```
	 *
	 * @access public
	 * @category Output
	 *
	 * @param string  $message  Text to display before the progress bar.
	 * @param integer $count    Total number of ticks to be performed.
	 * @param int     $interval Optional. The interval in milliseconds between updates. Default 100.
	 * @return \cli\progress\Bar|\WP_CLI\NoOp
	 */
	function make_progress_bar( $message, $count, $interval = 100 ) {   }
	/**
	 * Helper function to use wp_parse_url when available or fall back to PHP's
	 * parse_url if not.
	 *
	 * Additionally, this adds 'http://' to the URL if no scheme was found.
	 *
	 * @param string $url             The URL to parse.
	 * @param int    $component       Optional. The specific component to retrieve.
	 *                                Use one of the PHP predefined constants to
	 *                                specify which one. Defaults to -1 (= return
	 *                                all parts as an array).
	 * @param bool   $auto_add_scheme Optional. Automatically add an http:// scheme if
	 *                                none was found. Defaults to true.
	 * @return mixed False on parse failure; Array of URL components on success;
	 *               When a specific component has been requested: null if the
	 *               component doesn't exist in the given URL; a string or - in the
	 *               case of PHP_URL_PORT - integer when it does. See parse_url()'s
	 *               return values.
	 */
	function parse_url( $url, $component = -1, $auto_add_scheme = true ) {  }
	/**
	 * Check if we're running in a Windows environment (cmd.exe).
	 *
	 * @return bool
	 */
	function is_windows() {     }
	/**
	 * Replace magic constants in some PHP source code.
	 *
	 * Replaces the __FILE__ and __DIR__ magic constants with the values they are
	 * supposed to represent at runtime.
	 *
	 * @param string $source The PHP code to manipulate.
	 * @param string $path The path to use instead of the magic constants.
	 * @return string Adapted PHP code.
	 */
	function replace_path_consts( $source, $path ) {    }
	/**
	 * Make a HTTP request to a remote URL.
	 *
	 * Wraps the Requests HTTP library to ensure every request includes a cert.
	 *
	 * ```
	 * # `wp core download` verifies the hash for a downloaded WordPress archive
	 *
	 * $md5_response = Utils\http_request( 'GET', $download_url . '.md5' );
	 * if ( 20 != substr( $md5_response->status_code, 0, 2 ) ) {
	 *      WP_CLI::error( "Couldn't access md5 hash for release (HTTP code {$response->status_code})" );
	 * }
	 * ```
	 *
	 * @access public
	 *
	 * @param string     $method  HTTP method (GET, POST, DELETE, etc.).
	 * @param string     $url     URL to make the HTTP request to.
	 * @param array|null $data    Data to send either as a query string for GET/HEAD requests,
	 *                            or in the body for POST requests.
	 * @param array      $headers Add specific headers to the request.
	 * @param array      $options {
	 *     Optional. An associative array of additional request options.
	 *
	 *     @type bool $halt_on_error Whether or not command execution should be halted on error. Default: true
	 *     @type bool|string $verify A boolean to use enable/disable SSL verification
	 *                               or string absolute path to CA cert to use.
	 *                               Defaults to detected CA cert bundled with the Requests library.
	 *     @type bool $insecure      Whether to retry automatically without certificate validation.
	 * }
	 * @return object
	 * @throws RuntimeException If the request failed.
	 * @throws ExitException If the request failed and $halt_on_error is true.
	 */
	function http_request( $method, $url, $data = null, $headers = array(), $options = array() ) {  }
	/**
	 * Gets the full path to the default CA cert.
	 *
	 * @param bool $halt_on_error Whether or not command execution should be halted on error. Default: false
	 * @return string Absolute path to the default CA cert.
	 * @throws RuntimeException If unable to locate the cert.
	 * @throws ExitException If unable to locate the cert and $halt_on_error is true.
	 */
	function get_default_cacert( $halt_on_error = false ) {     }
	/**
	 * Increments a version string using the "x.y.z-pre" format.
	 *
	 * Can increment the major, minor or patch number by one.
	 * If $new_version == "same" the version string is not changed.
	 * If $new_version is not a known keyword, it will be used as the new version string directly.
	 *
	 * @param string $current_version
	 * @param string $new_version
	 * @return string
	 */
	function increment_version( $current_version, $new_version ) {  }
	/**
	 * Compare two version strings to get the named semantic version.
	 *
	 * @access public
	 *
	 * @param string $new_version
	 * @param string $original_version
	 * @return string 'major', 'minor', 'patch'
	 */
	function get_named_sem_ver( $new_version, $original_version ) {     }
	/**
	 * Return the flag value or, if it's not set, the $default value.
	 *
	 * Because flags can be negated (e.g. --no-quiet to negate --quiet), this
	 * function provides a safer alternative to using
	 * `isset( $assoc_args['quiet'] )` or similar.
	 *
	 * @access public
	 * @category Input
	 *
	 * @param array  $assoc_args Arguments array.
	 * @param string $flag       Flag to get the value.
	 * @param mixed  $default    Default value for the flag. Default: NULL.
	 * @return mixed
	 */
	function get_flag_value( $assoc_args, $flag, $default = null ) {    }
	/**
	 * Get the home directory.
	 *
	 * @access public
	 * @category System
	 *
	 * @return string
	 */
	function get_home_dir() {   }
	/**
	 * Appends a trailing slash.
	 *
	 * @access public
	 * @category System
	 *
	 * @param string $string What to add the trailing slash to.
	 * @return string String with trailing slash added.
	 */
	function trailingslashit( $string ) {   }
	/**
	 * Normalize a filesystem path.
	 *
	 * On Windows systems, replaces backslashes with forward slashes
	 * and forces upper-case drive letters.
	 * Allows for two leading slashes for Windows network shares, but
	 * ensures that all other duplicate slashes are reduced to a single one.
	 * Ensures upper-case drive letters on Windows systems.
	 *
	 * @access public
	 * @category System
	 *
	 * @param string $path Path to normalize.
	 * @return string Normalized path.
	 */
	function normalize_path( $path ) {  }
	/**
	 * Convert Windows EOLs to *nix.
	 *
	 * @param string $str String to convert.
	 * @return string String with carriage return / newline pairs reduced to newlines.
	 */
	function normalize_eols( $str ) {   }
	/**
	 * Get the system's temp directory. Warns user if it isn't writable.
	 *
	 * @access public
	 * @category System
	 *
	 * @return string
	 */
	function get_temp_dir() {   }
	/**
	 * Parse a SSH url for its host, port, and path.
	 *
	 * Similar to parse_url(), but adds support for defined SSH aliases.
	 *
	 * ```
	 * host OR host/path/to/wordpress OR host:port/path/to/wordpress
	 * ```
	 *
	 * @access public
	 *
	 * @return mixed
	 */
	function parse_ssh_url( $url, $component = -1 ) {   }
	/**
	 * Report the results of the same operation against multiple resources.
	 *
	 * @access public
	 * @category Input
	 *
	 * @param string       $noun      Resource being affected (e.g. plugin).
	 * @param string       $verb      Type of action happening to the noun (e.g. activate).
	 * @param integer      $total     Total number of resource being affected.
	 * @param integer      $successes Number of successful operations.
	 * @param integer      $failures  Number of failures.
	 * @param null|integer $skips     Optional. Number of skipped operations. Default null (don't show skips).
	 */
	function report_batch_operation_results( $noun, $verb, $total, $successes, $failures, $skips = null ) {     }
	/**
	 * Parse a string of command line arguments into an $argv-esqe variable.
	 *
	 * @access public
	 * @category Input
	 *
	 * @param string $arguments
	 * @return array
	 */
	function parse_str_to_argv( $arguments ) {  }
	/**
	 * Locale-independent version of basename()
	 *
	 * @access public
	 *
	 * @param string $path
	 * @param string $suffix
	 * @return string
	 */
	function basename( $path, $suffix = '' ) {  }
	/**
	 * Checks whether the output of the current script is a TTY or a pipe / redirect
	 *
	 * Returns `true` if `STDOUT` output is being redirected to a pipe or a file; `false` is
	 * output is being sent directly to the terminal.
	 *
	 * If an env variable `SHELL_PIPE` exists, the returned result depends on its
	 * value. Strings like `1`, `0`, `yes`, `no`, that validate to booleans are accepted.
	 *
	 * To enable ASCII formatting even when the shell is piped, use the
	 * ENV variable `SHELL_PIPE=0`.
	 * ```
	 * SHELL_PIPE=0 wp plugin list | cat
	 * ```
	 *
	 * Note that the db command forwards to the mysql client, which is unaware of the env
	 * variable. For db commands, pass the `--table` option instead.
	 * ```
	 * wp db query --table "SELECT 1" | cat
	 * ```
	 *
	 * @access public
	 *
	 * @return bool
	 */
	function isPiped() {    }
	/**
	 * Expand within paths to their matching paths.
	 *
	 * Has no effect on paths which do not use glob patterns.
	 *
	 * @param string|array $paths Single path as a string, or an array of paths.
	 * @param int          $flags Optional. Flags to pass to glob. Defaults to GLOB_BRACE.
	 * @return array Expanded paths.
	 */
	function expand_globs( $paths, $flags = 'default' ) {   }
	/**
	 * Simulate a `glob()` with the `GLOB_BRACE` flag set. For systems (eg Alpine Linux) built against a libc library (eg https://www.musl-libc.org/) that lacks it.
	 * Copied and adapted from Zend Framework's `Glob::fallbackGlob()` and Glob::nextBraceSub()`.
	 *
	 * Zend Framework (https://framework.zend.com/)
	 *
	 * @link      https://github.com/zendframework/zf2 for the canonical source repository
	 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (https://www.zend.com)
	 * @license   https://framework.zend.com/license/new-bsd New BSD License
	 *
	 * @param string $pattern     Filename pattern.
	 * @param void   $dummy_flags Not used.
	 * @return array Array of paths.
	 */
	function glob_brace( $pattern, $dummy_flags = null ) {  }
	/**
	 * Get the closest suggestion for a mistyped target term amongst a list of
	 * options.
	 *
	 * Uses the Levenshtein algorithm to calculate the relative "distance" between
	 * terms.
	 *
	 * If the "distance" to the closest term is higher than the threshold, an empty
	 * string is returned.
	 *
	 * @param string $target    Target term to get a suggestion for.
	 * @param array  $options   Array with possible options.
	 * @param int    $threshold Threshold above which to return an empty string.
	 * @return string
	 */
	function get_suggestion( $target, array $options, $threshold = 2 ) {    }
	/**
	 * Get a Phar-safe version of a path.
	 *
	 * For paths inside a Phar, this strips the outer filesystem's location to
	 * reduce the path to what it needs to be within the Phar archive.
	 *
	 * Use the __FILE__ or __DIR__ constants as a starting point.
	 *
	 * @param string $path An absolute path that might be within a Phar.
	 * @return string A Phar-safe version of the path.
	 */
	function phar_safe_path( $path ) {  }
	/**
	 * Maybe prefix command string with "/usr/bin/env".
	 * Removes (if there) if Windows, adds (if not there) if not.
	 *
	 * @param string $command
	 * @return string
	 */
	function force_env_on_nix_systems( $command ) {     }
	/**
	 * Check that `proc_open()` and `proc_close()` haven't been disabled.
	 *
	 * @param string $context Optional. If set will appear in error message. Default null.
	 * @param bool   $return  Optional. If set will return false rather than error out. Default false.
	 * @return bool
	 */
	function check_proc_available( $context = null, $return = false ) {     }
	/**
	 * Returns past tense of verb, with limited accuracy. Only regular verbs catered for, apart from "reset".
	 *
	 * @param string $verb Verb to return past tense of.
	 * @return string
	 */
	function past_tense_verb( $verb ) {     }
	/**
	 * Get the path to the PHP binary used when executing WP-CLI.
	 *
	 * Environment values permit specific binaries to be indicated.
	 *
	 * @access public
	 * @category System
	 *
	 * @return string
	 */
	function get_php_binary() {     }
	/**
	 * Windows compatible `proc_open()`.
	 * Works around bug in PHP, and also deals with *nix-like `ENV_VAR=blah cmd` environment variable prefixes.
	 *
	 * @access public
	 *
	 * @param string $cmd            Command to execute.
	 * @param array  $descriptorspec Indexed array of descriptor numbers and their values.
	 * @param array  &$pipes         Indexed array of file pointers that correspond to PHP's end of any pipes that are created.
	 * @param string $cwd            Initial working directory for the command.
	 * @param array  $env            Array of environment variables.
	 * @param array  $other_options  Array of additional options (Windows only).
	 * @return resource Command stripped of any environment variable settings.
	 */
	function proc_open_compat( $cmd, $descriptorspec, &$pipes, $cwd = null, $env = null, $other_options = null ) {  }
	/**
	 * For use by `proc_open_compat()` only. Separated out for ease of testing. Windows only.
	 * Turns *nix-like `ENV_VAR=blah command` environment variable prefixes into stripped `cmd` with prefixed environment variables added to passed in environment array.
	 *
	 * @access private
	 *
	 * @param string $cmd Command to execute.
	 * @param array  &$env Array of existing environment variables. Will be modified if any settings in command.
	 * @return string Command stripped of any environment variable settings.
	 */
	function _proc_open_compat_win_env( $cmd, &$env ) {     }
	/**
	 * First half of escaping for LIKE special characters % and _ before preparing for MySQL.
	 *
	 * Use this only before wpdb::prepare() or esc_sql().  Reversing the order is very bad for security.
	 *
	 * Copied from core "wp-includes/wp-db.php". Avoids dependency on WP 4.4 wpdb.
	 *
	 * @access public
	 *
	 * @param string $text The raw text to be escaped. The input typed by the user should have no
	 *                     extra or deleted slashes.
	 * @return string Text in the form of a LIKE phrase. The output is not SQL safe. Call $wpdb::prepare()
	 *                or real_escape next.
	 */
	function esc_like( $text ) {    }
	/**
	 * Escapes (backticks) MySQL identifiers (aka schema object names) - i.e. column names, table names, and database/index/alias/view etc names.
	 * See https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
	 *
	 * @param  string|array $idents A single identifier or an array of identifiers.
	 * @return string|array An escaped string if given a string, or an array of escaped strings if given an array of strings.
	 */
	function esc_sql_ident( $idents ) {     }
	/**
	 * Check whether a given string is a valid JSON representation.
	 *
	 * @param string $argument       String to evaluate.
	 * @param bool   $ignore_scalars Optional. Whether to ignore scalar values.
	 *                               Defaults to true.
	 * @return bool Whether the provided string is a valid JSON representation.
	 */
	function is_json( $argument, $ignore_scalars = true ) {     }
	/**
	 * Parse known shell arrays included in the $assoc_args array.
	 *
	 * @param array $assoc_args      Associative array of arguments.
	 * @param array $array_arguments Array of argument keys that should receive an
	 *                               array through the shell.
	 * @return array
	 */
	function parse_shell_arrays( $assoc_args, $array_arguments ) {  }
	/**
	 * Describe a callable as a string.
	 *
	 * @param callable $callable The callable to describe.
	 * @return string String description of the callable.
	 */
	function describe_callable( $callable ) {   }
	/**
	 * Checks if the given class and method pair is a valid callable.
	 *
	 * This accommodates changes to `is_callable()` in PHP 8 that mean an array of a
	 * classname and instance method is no longer callable.
	 *
	 * @param array $pair The class and method pair to check.
	 * @return bool
	 */
	function is_valid_class_and_method_pair( $pair ) {  }
	/**
	 * Pluralizes a noun in a grammatically correct way.
	 *
	 * @param string   $noun  Noun to be pluralized. Needs to be in singular form.
	 * @param int|null $count Optional. Count of the nouns, to decide whether to
	 *                        pluralize. Will pluralize unconditionally if none
	 *                        provided.
	 * @return string Pluralized noun.
	 */
	function pluralize( $noun, $count = null ) {    }
	/**
	 * Get the path to the mysql binary.
	 *
	 * @return string Path to the mysql binary, or an empty string if not found.
	 */
	function get_mysql_binary_path() {  }
	/**
	 * Get the version of the MySQL database.
	 *
	 * @return string Version of the MySQL database, or an empty string if not
	 *                found.
	 */
	function get_mysql_version() {  }
	/**
	 * Get the SQL modes of the MySQL session.
	 *
	 * @return string[] Array of SQL modes, or an empty array if they couldn't be
	 *                  read.
	 */
	function get_sql_modes() {  }
	/**
	 * Get the WP-CLI cache directory.
	 *
	 * @return string
	 */
	function get_cache_dir() {  }
	/**
	 * Check whether any input is passed to STDIN.
	 *
	 * @return bool
	 */
	function has_stdin() {  }
	/**
	 * Return description of WP_CLI hooks used in @when tag
	 *
	 *  @param string $hook Name of WP_CLI hook
	 *
	 * @return string|null
	 */
	function get_hook_description( $hook ) {    }
}

// Utilities that depend on WordPress code.
namespace WP_CLI\Utils {
	function wp_not_installed() {   }
    // phpcs:disable WordPress.PHP.IniSet -- Intentional & correct usage.
	function wp_debug_mode() {  }
    // phpcs:enable
	function replace_wp_die_handler() {     }
	function wp_die_handler( $message ) {   }
	/**
	 * Clean HTML error message so suitable for text display.
	 */
	function wp_clean_error_message( $message ) {   }
	function wp_redirect_handler( $url ) {  }
	function maybe_require( $since, $path ) {   }
	function get_upgrader( $class, $insecure = false ) {    }
	/**
	 * Converts a plugin basename back into a friendly slug.
	 */
	function get_plugin_name( $basename ) {     }
	function is_plugin_skipped( $file ) {   }
	function get_theme_name( $path ) {  }
	function is_theme_skipped( $path ) {    }
	/**
	 * Register the sidebar for unused widgets.
	 * Core does this in /wp-admin/widgets.php, which isn't helpful.
	 */
	function wp_register_unused_sidebar() {     }
	/**
	 * Attempts to determine which object cache is being used.
	 *
	 * Note that the guesses made by this function are based on the WP_Object_Cache classes
	 * that define the 3rd party object cache extension. Changes to those classes could render
	 * problems with this function's ability to determine which object cache is being used.
	 *
	 * @return string
	 */
	function wp_get_cache_type() {  }
	/**
	 * Clear WordPress internal object caches.
	 *
	 * In long-running scripts, the internal caches on `$wp_object_cache` and `$wpdb`
	 * can grow to consume gigabytes of memory. Periodically calling this utility
	 * can help with memory management.
	 *
	 * @access public
	 * @category System
	 * @deprecated 1.5.0
	 */
	function wp_clear_object_cache() {  }
	/**
	 * Get a set of tables in the database.
	 *
	 * Interprets common command-line options into a resolved set of table names.
	 *
	 * @param array $args Provided table names, or tables with wildcards.
	 * @param array $assoc_args Optional flags for groups of tables (e.g. --network)
	 * @return array
	 */
	function wp_get_table_names( $args, $assoc_args = array() ) {   }
	/**
	 * Failsafe use of the WordPress wp_strip_all_tags() function.
	 *
	 * Automatically falls back to strip_tags() function if the WP function is not
	 * available.
	 *
	 * @param string $string String to strip the tags from.
	 * @return string String devoid of tags.
	 */
	function strip_tags( $string ) {    }
}

/**
 * PHP Command Line Tools
 *
 * This source file is subject to the MIT license that is bundled
 * with this package in the file LICENSE.
 *
 * @author    James Logsdon <dwarf@girsbrain.org>
 * @copyright 2010 James Logsdom (http://girsbrain.org)
 * @license   http://www.opensource.org/licenses/mit-license.php The MIT License
 */

/**
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 *
 * Note: this class is from libavifinfo - https://aomedia.googlesource.com/libavifinfo/+/refs/heads/main/avifinfo.php at f509487.
 * It is used as a fallback to parse AVIF files when the server doesn't support AVIF,
 * primarily to identify the width and height of the image.
 *
 * Note PHP 8.2 added native support for AVIF, so this class can be removed when WordPress requires PHP 8.2.
 */
// namespace Avifinfo {

// **
// * Reads bytes and advances the stream position by the same count.
// *
// * @param stream               $handle    Bytes will be read from this resource.
// * @param int                  $num_bytes Number of bytes read. Must be greater than 0.
// * @return binary string|false            The raw bytes or false on failure.
// */
// function read($handle, $num_bytes)
// {
// }
// **
// * Advances the stream position by the given offset.
// *
// * @param stream $handle    Bytes will be skipped from this resource.
// * @param int    $num_bytes Number of skipped bytes. Can be 0.
// * @return bool             True on success or false on failure.
// */
// Skips 'num_bytes' from the 'stream'. 'num_bytes' can be zero.
// function skip($handle, $num_bytes)
// {
// }x
// }

/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Composer\Autoload {
	/**
	 * Scope isolated include.
	 *
	 * Prevents access to $this/self from included files.
	 *
	 * @param  string $file
	 * @return void
	 * @private
	 */
	function includeFile( $file ) {     }
}

namespace eftec\bladeone {
	/**
	 * trait BladeOneCacheRedis
	 * Copyright (c) 2016 Jorge Patricio Castro Castillo MIT License. Don't delete this comment, its part of the license.
	 * Extends the tags of the class BladeOne.  Its optional
	 * It adds the next tags to the template
	 * <code>
	 * @ cache([cacheid],[duration=86400]).  The id is optional. The duration of the cache is in seconds
	 * // content here
	 * @ endcache()
	 * </code>
	 * It also adds a new function (optional) to the business or logic layer
	 * <code>
	 * if ($blade->cacheExpired('hellocache',1,5)) {   //'helloonecache' =template, =1 id cache, 5=duration (seconds)
	 *    // cache expired, so we should do some stuff (such as read from the database)
	 * }
	 * </code>
	 *
	 * @package  BladeOneCacheRedis
	 * @version  0.1 2017-12-15 NOT YET IMPLEMENTED, ITS A WIP!!!!!!!!
	 * @link     https://github.com/EFTEC/BladeOne
	 * @author   Jorge Patricio Castro Castillo <jcastro arroba eftec dot cl>
	 */
	const CACHEREDIS_SCOPEURL = 1;
}

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Stores weightings and groupings of tokens.
 *
 * @author    Greg Sherwood <gsherwood@squiz.net>
 * @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
 * @license   https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
 */
namespace PHP_CodeSniffer\Util {
	define( 'T_NONE', 'PHPCS_T_NONE' );
	define( 'T_OPEN_CURLY_BRACKET', 'PHPCS_T_OPEN_CURLY_BRACKET' );
	define( 'T_CLOSE_CURLY_BRACKET', 'PHPCS_T_CLOSE_CURLY_BRACKET' );
	define( 'T_OPEN_SQUARE_BRACKET', 'PHPCS_T_OPEN_SQUARE_BRACKET' );
	define( 'T_CLOSE_SQUARE_BRACKET', 'PHPCS_T_CLOSE_SQUARE_BRACKET' );
	define( 'T_OPEN_PARENTHESIS', 'PHPCS_T_OPEN_PARENTHESIS' );
	define( 'T_CLOSE_PARENTHESIS', 'PHPCS_T_CLOSE_PARENTHESIS' );
	define( 'T_COLON', 'PHPCS_T_COLON' );
	define( 'T_NULLABLE', 'PHPCS_T_NULLABLE' );
	define( 'T_STRING_CONCAT', 'PHPCS_T_STRING_CONCAT' );
	define( 'T_INLINE_THEN', 'PHPCS_T_INLINE_THEN' );
	define( 'T_INLINE_ELSE', 'PHPCS_T_INLINE_ELSE' );
	define( 'T_NULL', 'PHPCS_T_NULL' );
	define( 'T_FALSE', 'PHPCS_T_FALSE' );
	define( 'T_TRUE', 'PHPCS_T_TRUE' );
	define( 'T_SEMICOLON', 'PHPCS_T_SEMICOLON' );
	define( 'T_EQUAL', 'PHPCS_T_EQUAL' );
	define( 'T_MULTIPLY', 'PHPCS_T_MULTIPLY' );
	define( 'T_DIVIDE', 'PHPCS_T_DIVIDE' );
	define( 'T_PLUS', 'PHPCS_T_PLUS' );
	define( 'T_MINUS', 'PHPCS_T_MINUS' );
	define( 'T_MODULUS', 'PHPCS_T_MODULUS' );
	define( 'T_BITWISE_AND', 'PHPCS_T_BITWISE_AND' );
	define( 'T_BITWISE_OR', 'PHPCS_T_BITWISE_OR' );
	define( 'T_BITWISE_XOR', 'PHPCS_T_BITWISE_XOR' );
	define( 'T_BITWISE_NOT', 'PHPCS_T_BITWISE_NOT' );
	define( 'T_ARRAY_HINT', 'PHPCS_T_ARRAY_HINT' );
	define( 'T_GREATER_THAN', 'PHPCS_T_GREATER_THAN' );
	define( 'T_LESS_THAN', 'PHPCS_T_LESS_THAN' );
	define( 'T_BOOLEAN_NOT', 'PHPCS_T_BOOLEAN_NOT' );
	define( 'T_SELF', 'PHPCS_T_SELF' );
	define( 'T_PARENT', 'PHPCS_T_PARENT' );
	define( 'T_DOUBLE_QUOTED_STRING', 'PHPCS_T_DOUBLE_QUOTED_STRING' );
	define( 'T_COMMA', 'PHPCS_T_COMMA' );
	define( 'T_HEREDOC', 'PHPCS_T_HEREDOC' );
	define( 'T_PROTOTYPE', 'PHPCS_T_PROTOTYPE' );
	define( 'T_THIS', 'PHPCS_T_THIS' );
	define( 'T_REGULAR_EXPRESSION', 'PHPCS_T_REGULAR_EXPRESSION' );
	define( 'T_PROPERTY', 'PHPCS_T_PROPERTY' );
	define( 'T_LABEL', 'PHPCS_T_LABEL' );
	define( 'T_OBJECT', 'PHPCS_T_OBJECT' );
	define( 'T_CLOSE_OBJECT', 'PHPCS_T_CLOSE_OBJECT' );
	define( 'T_COLOUR', 'PHPCS_T_COLOUR' );
	define( 'T_HASH', 'PHPCS_T_HASH' );
	define( 'T_URL', 'PHPCS_T_URL' );
	define( 'T_STYLE', 'PHPCS_T_STYLE' );
	define( 'T_ASPERAND', 'PHPCS_T_ASPERAND' );
	define( 'T_DOLLAR', 'PHPCS_T_DOLLAR' );
	define( 'T_TYPEOF', 'PHPCS_T_TYPEOF' );
	define( 'T_CLOSURE', 'PHPCS_T_CLOSURE' );
	define( 'T_ANON_CLASS', 'PHPCS_T_ANON_CLASS' );
	define( 'T_BACKTICK', 'PHPCS_T_BACKTICK' );
	define( 'T_START_NOWDOC', 'PHPCS_T_START_NOWDOC' );
	define( 'T_NOWDOC', 'PHPCS_T_NOWDOC' );
	define( 'T_END_NOWDOC', 'PHPCS_T_END_NOWDOC' );
	define( 'T_OPEN_SHORT_ARRAY', 'PHPCS_T_OPEN_SHORT_ARRAY' );
	define( 'T_CLOSE_SHORT_ARRAY', 'PHPCS_T_CLOSE_SHORT_ARRAY' );
	define( 'T_GOTO_LABEL', 'PHPCS_T_GOTO_LABEL' );
	define( 'T_BINARY_CAST', 'PHPCS_T_BINARY_CAST' );
	define( 'T_EMBEDDED_PHP', 'PHPCS_T_EMBEDDED_PHP' );
	define( 'T_RETURN_TYPE', 'PHPCS_T_RETURN_TYPE' );
	define( 'T_OPEN_USE_GROUP', 'PHPCS_T_OPEN_USE_GROUP' );
	define( 'T_CLOSE_USE_GROUP', 'PHPCS_T_CLOSE_USE_GROUP' );
	define( 'T_ZSR', 'PHPCS_T_ZSR' );
	define( 'T_ZSR_EQUAL', 'PHPCS_T_ZSR_EQUAL' );
	define( 'T_FN_ARROW', 'PHPCS_T_FN_ARROW' );
	define( 'T_TYPE_UNION', 'PHPCS_T_TYPE_UNION' );
	define( 'T_PARAM_NAME', 'PHPCS_T_PARAM_NAME' );
	define( 'T_MATCH_ARROW', 'PHPCS_T_MATCH_ARROW' );
	define( 'T_MATCH_DEFAULT', 'PHPCS_T_MATCH_DEFAULT' );
	define( 'T_ATTRIBUTE_END', 'PHPCS_T_ATTRIBUTE_END' );
	// Tokens used for parsing doc blocks.
	define( 'T_DOC_COMMENT_STAR', 'PHPCS_T_DOC_COMMENT_STAR' );
	define( 'T_DOC_COMMENT_WHITESPACE', 'PHPCS_T_DOC_COMMENT_WHITESPACE' );
	define( 'T_DOC_COMMENT_TAG', 'PHPCS_T_DOC_COMMENT_TAG' );
	define( 'T_DOC_COMMENT_OPEN_TAG', 'PHPCS_T_DOC_COMMENT_OPEN_TAG' );
	define( 'T_DOC_COMMENT_CLOSE_TAG', 'PHPCS_T_DOC_COMMENT_CLOSE_TAG' );
	define( 'T_DOC_COMMENT_STRING', 'PHPCS_T_DOC_COMMENT_STRING' );
	// Tokens used for PHPCS instruction comments.
	define( 'T_PHPCS_ENABLE', 'PHPCS_T_PHPCS_ENABLE' );
	define( 'T_PHPCS_DISABLE', 'PHPCS_T_PHPCS_DISABLE' );
	define( 'T_PHPCS_SET', 'PHPCS_T_PHPCS_SET' );
	define( 'T_PHPCS_IGNORE', 'PHPCS_T_PHPCS_IGNORE' );
	define( 'T_PHPCS_IGNORE_FILE', 'PHPCS_T_PHPCS_IGNORE_FILE' );
}

namespace React\Promise {
	/**
	 * Returns a promise that will resolve when `$howMany` of the supplied items in
	 * `$promisesOrValues` resolve. The resolution value of the returned promise
	 * will be an array of length `$howMany` containing the resolution values of the
	 * triggering items.
	 *
	 * The returned promise will reject if it becomes impossible for `$howMany` items
	 * to resolve (that is, when `(count($promisesOrValues) - $howMany) + 1` items
	 * reject). The rejection value will be an array of
	 * `(count($promisesOrValues) - $howMany) + 1` rejection reasons.
	 *
	 * The returned promise will also reject with a `React\Promise\Exception\LengthException`
	 * if `$promisesOrValues` contains less items than `$howMany`.
	 *
	 * @param array $promisesOrValues
	 * @param int   $howMany
	 * @return PromiseInterface
	 */
	function some( $promisesOrValues, $howMany ) {  }
	/**
	 * Traditional map function, similar to `array_map()`, but allows input to contain
	 * promises and/or values, and `$mapFunc` may return either a value or a promise.
	 *
	 * The map function receives each item as argument, where item is a fully resolved
	 * value of a promise or value in `$promisesOrValues`.
	 *
	 * @param array    $promisesOrValues
	 * @param callable $mapFunc
	 * @return PromiseInterface
	 */
	function map( $promisesOrValues, callable $mapFunc ) {  }
	/**
	 * Traditional reduce function, similar to `array_reduce()`, but input may contain
	 * promises and/or values, and `$reduceFunc` may return either a value or a
	 * promise, *and* `$initialValue` may be a promise or a value for the starting
	 * value.
	 *
	 * @param array    $promisesOrValues
	 * @param callable $reduceFunc
	 * @param mixed    $initialValue
	 * @return PromiseInterface
	 */
	function reduce( $promisesOrValues, callable $reduceFunc, $initialValue = null ) {  }
}

namespace {
	/**
	 * Aiosrs_check_snippet_existence.
	 */
	function aiosrs_check_snippet_existence() {     }
	/**
	 * Aiosrs_enque.
	 */
	function aiosrs_enque() {   }
	/**
	 * Bsf_initialize_bsf_meta_boxes.
	 */
	function bsf_initialize_bsf_meta_boxes() {  }
	/**
	 * Function to display the rich snippet output below the content.
	 *
	 * @param string $content Content.
	 */
	function display_rich_snippet( $content ) {     }
	/**
	 * Get_the_ip.
	 */
	function get_the_ip() {     }
	/**
	 * Average_rating.
	 */
	function average_rating() {     }
	/**
	 * Rating_count.
	 */
	function rating_count() {   }
	/**
	 * Bsf_do_rating.
	 */
	function bsf_do_rating() {  }
	/**
	 * Get_previous_rating.
	 *
	 * @param string $needle Needle.
	 * @param array  $haystack Haystack.
	 * @param bool   $strict Strict.
	 */
	function get_previous_rating( $needle, $haystack, $strict = \false ) {  }
	/**
	 * Add_ajax_library.
	 */
	function add_ajax_library() {   }
	/**
	 * Bsf_add_rating.
	 */
	function bsf_add_rating() {     }
	/**
	 * Bsf_update_rating.
	 */
	function bsf_update_rating() {  }
	/**
	 * Display_rating.
	 */
	function display_rating() {     }
	/**
	 * Bsf_display_rating.
	 *
	 * @param string $n N.
	 */
	function bsf_display_rating( $n ) {     }
	/**
	 * Init.
	 *
	 * @package Init.
	 */
	$meta_boxes = array();
	// winblows.
	if ( ! defined( 'WP_CONTENT_URL' ) ) {
		define( 'WP_CONTENT_URL', 'https://your-site.com/wp-content/' );
	}
	\define( 'BSF_META_BOX_URL', \trailingslashit( \str_replace( \DIRECTORY_SEPARATOR, '/', \str_replace( \str_replace( '/', \DIRECTORY_SEPARATOR, \WP_CONTENT_DIR ), \WP_CONTENT_URL, \dirname( __FILE__ ) ) ) ) );
	/**
	 * Adding scripts and styles
	 *
	 * @param string $hook Hook.
	 */
	function bsf_scripts( $hook ) {     }
	/**
	 * Bsf_editor_footer_scripts.
	 */
	function bsf_editor_footer_scripts() {  }
	/**
	 * Bsf_force_send.
	 *
	 * @param array $args Arguments.
	 */
	function bsf_force_send( $args ) {  }
	/**
	 * Handles our oEmbed ajax request.
	 */
	function bsf_oembed_ajax_results() {    }
	/**
	 * Settings.
	 *
	 * @package AIOSRS.
	 */
	/**
	 * Function to add review option for settings.
	 */
	function add_review_option() {  }
	/**
	 * Function to add event option for settings.
	 */
	function add_event_option() {   }
	/**
	 *  Function to add person option for settings.
	 */
	function add_person_option() {  }
	/**
	 *  Function to add product option for settings.
	 */
	function add_product_option() {     }
	/**
	 *  Function to add recipe option for settings.
	 */
	function add_recipe_option() {  }
	/**
	 *  Function to add software option for settings.
	 */
	function add_software_option() {    }
	/**
	 *  Function to add video option for settings.
	 */
	function add_video_option() {   }
	/**
	 *  Function to add article option for settings.
	 */
	function add_article_option() {     }
	/**
	 *  Function to add article option for settings.
	 */
	function add_service_option() {     }
	/**
	 *  Function for customization
	 */
	function add_color_option() {   }
	/**
	 *  Function for customization
	 */
	function add_woo_commerce_option() {    }
	/**
	 * Enqueues the styles in admin dashboard.
	 *
	 * @return void
	 */
	function bsf_admin_styles() {   }
	/**
	 * Enqueues the scripts in admin dashboard.
	 *
	 * @return void
	 */
	function add_the_script() {     }
	/**
	 * The Main Admin Dashboard for Rich Snippets Plugin.
	 *
	 * @return void
	 */
	function rich_snippet_dashboard() {     }
	/**
	 * Display status.
	 *
	 * @param  string $status .
	 */
	function display_status( $status ) {    }
	/**
	 * BSF reset option.
	 *
	 * @param  string $option_to_reset .
	 */
	function bsf_reset_options( $option_to_reset ) {    }
	/**
	 * Add footer script.
	 */
	function add_footer_script() {  }
	/**
	 * Get support.
	 */
	function get_support() {    }

	/**
	 * Meta Boxes.
	 *
	 * @package AIOSRS.
	 */
	/**
	 * Metabox for review.
	 *
	 * @param array $meta_boxes Meta Boxes.
	 */
	function bsf_metaboxes( array $meta_boxes ) {   }
	/**
	 * Check for Imagick and GD extensions availability.
	 *
	 * @throws \WP_CLI\ExitException
	 */
	$wpcli_media_assert_image_editor_support = function () {
	};
	\define( 'WP_CLI_ROOT', \dirname( __DIR__ ) );
	\define( 'WP_CLI_VENDOR_DIR', \WP_CLI_ROOT . '/vendor' );
	/**
	 * foo
	 */
	function commandfactorytests_get_doc_comment_func_1_win( $function = \blah ) {  }
	/**
	 * bar
	 function*/
	function commandfactorytests_get_doc_comment_func_2_win( $function = \blah ) {  }
	/**
	 * /** baz
	 */
	$commandfactorytests_get_doc_comment_func_3_win = function ( $args ) {
	};
	/**
	 * foo
	 */
	function commandfactorytests_get_doc_comment_func_1( $function = \blah ) {  }
	/**
	 * bar
	 function*/
	function commandfactorytests_get_doc_comment_func_2( $function = \blah ) {  }
	/**
	 * /** baz
	 */
	$commandfactorytests_get_doc_comment_func_3 = function ( $args ) {
	};
	/**
	 * Stores the location of the WordPress directory of functions, classes, and core content.
	 *
	 * @since 1.0.0
	 */
	\define( 'WPINC', 'wp-includes' );
	// Provide compat fallback for newer PHP version (7.4+) on older WordPress core versions.
	function get_magic_quotes_gpc() {   }
	/**
	 * WordPress Query object
	 *
	 * @since 2.0.0
	 * @global object $wp_the_query
	 */
	$wp_the_query = new \WP_Query();
	/**
	 * Holds the reference to @see $wp_the_query
	 * Use this global for WordPress queries
	 *
	 * @since 1.5.0
	 * @global object $wp_query
	 */
	// $wp_query = $GLOBALS['wp_the_query'];
	/**
	 * Holds the WordPress Rewrite object for creating pretty URLs
	 *
	 * @since 1.5.0
	 * @global object $wp_rewrite
	 */
	$wp_rewrite = new \WP_Rewrite();
	/**
	 * WordPress Object
	 *
	 * @since 2.0.0
	 * @global object $wp
	 */
	$wp = new \WP();
	/**
	 * WordPress Widget Factory Object
	 *
	 * @since 2.8.0
	 * @global object $wp_widget_factory
	 */
	$wp_widget_factory = new \WP_Widget_Factory();
	/**
	 * WordPress User Roles
	 *
	 * @since 2.0.0
	 * @global object $wp_roles
	 */
	$wp_roles = new \WP_Roles();
	/**
	 * WordPress Locale object for loading locale domain date and various strings.
	 *
	 * @since 2.1.0
	 * @global object $wp_locale
	 */
	$wp_locale = new \WP_Locale();
	// Can be used by plugins/themes to check if WP-CLI is running or not.
	\define( 'WP_CLI', \true );
	\define( 'WP_CLI_START_MICROTIME', \microtime( \true ) );
	\define( 'BUZZ_PATH', \realpath( '../Buzz' ) );
	function cli_autoload( array $className ) {     }
	/**
	 * ASCII should look something like this:
	 *
	 * -Test
	 * |\-Something Cool
	 * ||\-This is a 3rd layer
	 * |\-This is a 2nd layer
	 * \-Other test
	 *  \-This is awesome
	 *   \-This is also cool
	 *   \-This is even cooler
	 *   \-Wow like what is this
	 *    \-Awesome eh?
	 *    \-Totally
	 *     \-Yep!
	 */
	$tree = new \cli\Tree();
	/**
	 * Markdown looks like this:
	 *
	 * - Test
	 *     - Something Cool
	 *         - This is a 3rd layer
	 *     - This is a 2nd layer
	 * - Other test
	 *     - This is awesome
	 *         - This is also cool
	 *         - This is even cooler
	 *         - Wow like what is this
	 *             - Awesome eh?
	 *             - Totally
	 *                 - Yep!
	 */
	$tree = new \cli\Tree();
	function test_notify( \cli\Notify $notify, $cycle = 1000000, $sleep = \null ) {     }
	function test_notify_msg( \cli\Notify $notify, $cycle = 1000000, $sleep = \null ) {     }
    // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound -- Renaming breaks Phar compat.
	function wp_export( $args = array() ) {     }
    // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound,WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid -- Renaming breaks Phar compat.
	function _wp_export_build_IN_condition( $column_name, $values, $format = '%s' ) {   }
	/**
	 * Version number for the export format.
	 *
	 * Bump this when something changes that might affect compatibility.
	 *
	 * @since 2.5.0
	 */
	\define( 'WXR_VERSION', '1.2' );
    // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound -- Changing breaks Phar compat.
	\define( 'WP_CLI_EXPORT_COMMAND_NO_SPLIT', '-1' );
	function roundTrip( $a ) {  }
	/**
	 * Parses YAML to array.
	 *
	 * @param string $string YAML string.
	 * @return array
	 */
	// function spyc_load($string)
	// {
	// }
	/**
	 * Parses YAML to array.
	 *
	 * @param string $file Path to YAML file.
	 * @return array
	 */
	// function spyc_load_file($file)
	// {
	// }
	/**
	 * Dumps array to YAML.
	 *
	 * @param array $data Array.
	 * @return string
	 */
	// function spyc_dump($data)
	// {
	// }
	function php5to4( $src, $dest ) {   }
	\define( 'WP_CLI_BUNDLE_ROOT', \rtrim( \dirname( __DIR__ ), '/' ) );
	\define( 'WP_CLI_BASE_PATH', \WP_CLI_BUNDLE_ROOT );
	// \define('DEST_PATH', $args[0]);
	\define( 'BE_QUIET', isset( $runtime_config['quiet'] ) && $runtime_config['quiet'] );
	\define( 'BUILD', isset( $runtime_config['build'] ) ? $runtime_config['build'] : '' );
	function add_file( $phar, $path ) {     }
	function set_file_contents( $phar, $path, $content ) {  }
	function get_composer_versions( $current_version ) {    }
	// Store the path to the Phar early on for `Utils\phar-safe-path()` function.
	\define( 'WP_CLI_PHAR_PATH', \getcwd() );
	/*
	 * This file is part of Composer.
	 *
	 * (c) Nils Adermann <naderman@naderman.de>
	 *     Jordi Boggiano <j.boggiano@seld.be>
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * @param string $file
	 * @return ?\Composer\Autoload\ClassLoader
	 */
	function includeIfExists( $file ) {     }
	/*
	 * This file is part of Mustache.php.
	 *
	 * (c) 2010-2015 Justin Hileman
	 *
	 * For the full copyright and license information, please view the LICENSE
	 * file that was distributed with this source code.
	 */
	/**
	 * A shell script to create a single-file class cache of the entire Mustache
	 * library.
	 *
	 *     $ bin/build_bootstrap.php
	 *
	 * ... will create a `mustache.php` bootstrap file in the project directory,
	 * containing all Mustache library classes. This file can then be included in
	 * your project, rather than requiring the Mustache Autoloader.
	 */
	$baseDir = \realpath( \dirname( __FILE__ ) . '/..' );
	\define( 'PHPCOMPATIBILITY_PHPCS_ALIASES_SET', \true );
	\define( 'PHP_CODESNIFFER_IN_TESTS', \true );
	\define( 'PHP_CODESNIFFER_CBF', \false );
	\define( 'PHP_CODESNIFFER_VERBOSITY', 0 );
	/**
	 * Noop, marks the string for translation but returns it unchanged.
	 *
	 * @param string $original
	 *
	 * @return string
	 */
	function noop__( $original ) {  }
	/**
	 * Returns the singular/plural translation of a string.
	 *
	 * @param string $original
	 * @param string $plural
	 * @param string $value
	 *
	 * @return string
	 */
	function n__( $original, $plural, $value ) {    }
	/**
	 * Returns the translation of a string in a specific context.
	 *
	 * @param string $context
	 * @param string $original
	 *
	 * @return string
	 */
	function p__( $context, $original ) {   }
	/**
	 * Returns the translation of a string in a specific domain.
	 *
	 * @param string $domain
	 * @param string $original
	 *
	 * @return string
	 */
	function d__( $domain, $original ) {    }
	/**
	 * Returns the translation of a string in a specific domain and context.
	 *
	 * @param string $domain
	 * @param string $context
	 * @param string $original
	 *
	 * @return string
	 */
	function dp__( $domain, $context, $original ) {     }
	/**
	 * Returns the singular/plural translation of a string in a specific domain.
	 *
	 * @param string $domain
	 * @param string $original
	 * @param string $plural
	 * @param string $value
	 *
	 * @return string
	 */
	function dn__( $domain, $original, $plural, $value ) {  }
	/**
	 * Returns the singular/plural translation of a string in a specific context.
	 *
	 * @param string $context
	 * @param string $original
	 * @param string $plural
	 * @param string $value
	 *
	 * @return string
	 */
	function np__( $context, $original, $plural, $value ) {     }
	/**
	 * Returns the singular/plural translation of a string in a specific domain and context.
	 *
	 * @param string $domain
	 * @param string $context
	 * @param string $original
	 * @param string $plural
	 * @param string $value
	 *
	 * @return string
	 */
	function dnp__( $domain, $context, $original, $plural, $value ) {   }
	/**
	 * A global util function to help print unit test fixing data.
	 *
	 * @return void
	 */
	function printPHPCodeSnifferTestOutput() {  }
    // phpcs:disable Squiz.PHP.DiscouragedFunctions,NeutronStandard.Constants.DisallowDefine
	// There are no core functions to read these constants.
	// \define('ABSPATH', './');
	// \define('WP_DEBUG', \true);
	// \define('WP_DEBUG_LOG', \true);
	// \define('WP_DEBUG_DISPLAY', \true);
	// \define('WP_PLUGIN_DIR', './');
	// \define('WPMU_PLUGIN_DIR', './');
	// \define('EMPTY_TRASH_DAYS', 30 * 86400);
	// \define('SCRIPT_DEBUG', \false);
	// \define('WP_LANG_DIR', './');
	// \define('WP_CONTENT_DIR', './');
	// \define('WP_CONTENT_URL', './');
	// Constants for expressing human-readable intervals.
	// \define('MINUTE_IN_SECONDS', 60);
	// \define('HOUR_IN_SECONDS', 60 * \MINUTE_IN_SECONDS);
	// \define('DAY_IN_SECONDS', 24 * \HOUR_IN_SECONDS);
	// \define('WEEK_IN_SECONDS', 7 * \DAY_IN_SECONDS);
	// \define('MONTH_IN_SECONDS', 30 * \DAY_IN_SECONDS);
	// \define('YEAR_IN_SECONDS', 365 * \DAY_IN_SECONDS);
	// Constants for expressing human-readable data sizes in their respective number of bytes.
	// \define('KB_IN_BYTES', 1024);
	// \define('MB_IN_BYTES', 1024 * \KB_IN_BYTES);
	// \define('GB_IN_BYTES', 1024 * \MB_IN_BYTES);
	// \define('TB_IN_BYTES', 1024 * \GB_IN_BYTES);
	// wpdb method parameters.
	// \define('OBJECT', 'OBJECT');
	// \define('OBJECT_K', 'OBJECT_K');
	// \define('ARRAY_A', 'ARRAY_A');
	// \define('ARRAY_N', 'ARRAY_N');
	// Constants from WP_Filesystem.
	// \define('FS_CONNECT_TIMEOUT', 30);
	// \define('FS_TIMEOUT', 30);
	// \define('FS_CHMOD_DIR', 0755);
	// \define('FS_CHMOD_FILE', 0644);
	// Rewrite API Endpoint Masks.
	// \define('EP_NONE', 0);
	// \define('EP_PERMALINK', 1);
	// \define('EP_ATTACHMENT', 2);
	// \define('EP_DATE', 4);
	// \define('EP_YEAR', 8);
	// \define('EP_MONTH', 16);
	// \define('EP_DAY', 32);
	// \define('EP_ROOT', 64);
	// \define('EP_COMMENTS', 128);
	// \define('EP_SEARCH', 256);
	// \define('EP_CATEGORIES', 512);
	// \define('EP_TAGS', 1024);
	// \define('EP_AUTHORS', 2048);
	// \define('EP_PAGES', 4096);
	// \define('EP_ALL_ARCHIVES', \EP_DATE | \EP_YEAR | \EP_MONTH | \EP_DAY | \EP_CATEGORIES | \EP_TAGS | \EP_AUTHORS);
	// \define('EP_ALL', \EP_PERMALINK | \EP_ATTACHMENT | \EP_ROOT | \EP_COMMENTS | \EP_SEARCH | \EP_PAGES | \EP_ALL_ARCHIVES);
	// Templating-related WordPress constants.
    // phpcs:ignore WordPress.WP.DiscouragedConstants.STYLESHEETPATHDeclarationFound
	// \define('STYLESHEETPATH', '/app/wp-content/themes/child/');
    // phpcs:ignore WordPress.WP.DiscouragedConstants.TEMPLATEPATHDeclarationFound
	// \define('TEMPLATEPATH', '/app/wp-content/themes/parent/');
	// \define('WP_DEFAULT_THEME', 'twentytwentythree');
}
