*	$compiler = new \Phalcon\Mvc\View\Engine\Volt\Compiler();
	 *
	 *	$compiler->compile('views/partials/header.volt');
	 *
	 *	require $compiler->getCompiledTemplatePath();
	 *
	 */
	
	class Compiler implements \Phalcon\DI\InjectionAwareInterface {
		protected $_dependencyInjector;
		protected $_view;
		protected $_options;
		protected $_arrayHelpers;
		protected $_level;
		protected $_foreachLevel;
		protected $_blockLevel;
		protected $_exprLevel;
		protected $_extended;
		protected $_autoescape;
		protected $_extendedBlocks;
		protected $_currentBlock;
		protected $_blocks;
		protected $_forElsePointers;
		protected $_loopPointers;
		protected $_extensions;
		protected $_functions;
		protected $_filters;
		protected $_macros;
		protected $_prefix;
		protected $_currentPath;
		protected $_compiledTemplatePath;
		/**
		 * \Phalcon\Mvc\View\Engine\Volt\Compiler
		 *
		 * @param \Phalcon\Mvc\ViewInterface $view
		 */
		public function __construct($view=null){ }
		/**
		 * Sets the dependency injector
		 *
		 * @param \Phalcon\DiInterface $dependencyInjector
		 */
		public function setDI($dependencyInjector){ }
		/**
		 * Returns the internal dependency injector
		 *
		 * @return \Phalcon\DiInterface
		 */
		public function getDI(){ }
		/**
		 * Sets the compiler options
		 *
		 * @param array $options
		 */
		public function setOptions($options){ }
		/**
		 * Sets a single compiler option
		 *
		 * @param string $option
		 * @param string $value
		 */
		public function setOption($option, $value){ }
		/**
		 * Returns a compiler's option
		 *
		 * @param string $option
		 * @return string
		 */
		public function getOption($option){ }
		/**
		 * Returns the compiler options
		 *
		 * @return array
		 */
		public function getOptions(){ }
		/**
		 * Fires an event to registered extensions
		 *
		 * @param string $name
		 * @param array $arguments
		 * @return mixed
		 */
		public function fireExtensionEvent($name, $arguments=null){ }
		/**
		 * Registers a Volt's extension
		 *
		 * @param object $extension
		 * @return \Phalcon\Mvc\View\Engine\Volt\Compiler
		 */
		public function addExtension($extension){ }
		/**
		 * Returns the list of extensions registered in Volt
		 *
		 * @return array
		 */
		public function getExtensions(){ }
		/**
		 * Register a new function in the compiler
		 *
		 * @param string $name
		 * @param Closure|string $definition
		 * @return \Phalcon\Mvc\View\Engine\Volt\Compiler
		 */
		public function addFunction($name, $definition){ }
		/**
		 * Register the user registered functions
		 *
		 * @return array
		 */
		public function getFunctions(){ }
		/**
		 * Register a new filter in the compiler
		 *
		 * @param string $name
		 * @param Closure|string $definition
		 * @return \Phalcon\Mvc\View\Engine\Volt\Compiler
		 */
		public function addFilter($name, $definition){ }
		/**
		 * Register the user registered filters
		 *
		 * @return array
		 */
		public function getFilters(){ }
		/**
		 * Set a unique prefix to be used as prefix for compiled variables
		 *
		 * @param string $prefix
		 * @return \Phalcon\Mvc\View\Engine\Volt\Compiler
		 */
		public function setUniquePrefix($prefix){ }
		/**
		 * Return a unique prefix to be used as prefix for compiled variables and contexts
		 *
		 * @return string
		 */
		public function getUniquePrefix(){ }
		/**
		 * Resolves attribute reading
		 *
		 * @param array $expr
		 * @return string
		 */
		public function attributeReader($expr){ }
		/**
		 * Resolves function intermediate code into PHP function calls
		 *
		 * @param array $expr
		 * @return string
		 */
		public function functionCall($expr){ }
		/**
		 * Resolves filter intermediate code into a valid PHP expression
		 *
		 * @param array $test
		 * @param string $left
		 * @return string
		 */
		public function resolveTest($test, $left){ }
		/**
		 * Resolves filter intermediate code into PHP function calls
		 *
		 * @param array $filter
		 * @param string $left
		 * @return string
		 */
		protected function resolveFilter(){ }
		/**
		 * Resolves an expression node in an AST volt tree
		 *
		 * @param array $expr
		 * @return string
		 */
		public function expression($expr){ }
		/**
		 * Compiles a block of statements
		 *
		 * @param array $statements
		 * @return string|array
		 */
		protected function _statementListOrExtends(){ }
		/**
		 * Compiles a 'foreach' intermediate code representation into plain PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileForeach($statement, $extendsMode=null){ }
		/**
		 * Generates a 'forelse' PHP code
		 *
		 * @return string
		 */
		public function compileForElse(){ }
		/**
		 * Compiles a 'if' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileIf($statement, $extendsMode=null){ }
		/**
		 * Compiles a 'elseif' statement returning PHP code
		 *
		 * @param array $statement
		 * @return string
		 */
		public function compileElseIf($statement){ }
		/**
		 * Compiles a 'cache' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileCache($statement, $extendsMode=null){ }
		/**
		 * Compiles a '{{' '}}' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileEcho($statement){ }
		/**
		 * Compiles a 'include' statement returning PHP code
		 *
		 * @param array $statement
		 * @return string
		 */
		public function compileInclude($statement){ }
		/**
		 * Compiles a 'set' statement returning PHP code
		 *
		 * @param array $statement
		 * @return string
		 */
		public function compileSet($statement){ }
		/**
		 * Compiles a 'do' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileDo($statement){ }
		/**
		 * Compiles a 'return' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileReturn($statement){ }
		/**
		 * Compiles a 'autoescape' statement returning PHP code
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileAutoEscape($statement, $extendsMode){ }
		/**
		 * Compiles macros
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileMacro($statement, $extendsMode){ }
		/**
		 * Compiles calls to macros
		 *
		 * @param array $statement
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileCall(){ }
		/**
		 * Traverses a statement list compiling each of its nodes
		 *
		 * @param array $statement
		 * @return string
		 */
		protected function _statementList(){ }
		/**
		 * Compiles a Volt source code returning a PHP plain version
		 *
		 * @param string $viewCode
		 * @param boolean $extendsMode
		 * @return string
		 */
		protected function _compileSource(){ }
		/**
		 * Compiles a template into a string
		 *
		 *
		 * echo $compiler->compileString('{{ "hello world" }}');
		 *
		 *
		 * @param string $viewCode
		 * @param boolean $extendsMode
		 * @return string
		 */
		public function compileString($viewCode, $extendsMode=null){ }
		/**
		 * Compiles a template into a file forcing the destination path
		 *
		 *
		 *	$compiler->compile('views/layouts/main.volt', 'views/layouts/main.volt.php');
		 *
		 *
		 * @param string $path
		 * @param string $compiledPath
		 * @param boolean $extendsMode
		 * @return string|array
		 */
		public function compileFile($path, $compiledPath, $extendsMode=null){ }
		/**
		 * Compiles a template into a file applying the compiler options
		 * This method does not return the compiled path if the template was not compiled
		 *
		 *
		 *	$compiler->compile('views/layouts/main.volt');
		 *	require $compiler->getCompiledTemplatePath();
		 *
		 *
		 * @param string $templatePath
		 * @param boolean $extendsMode
		 * @return string|array
		 */
		public function compile($templatePath, $extendsMode=null){ }
		/**
		 * Returns the path that is currently being compiled
		 *
		 * @return string
		 */
		public function getTemplatePath(){ }
		/**
		 * Returns the path to the last compiled template
		 *
		 * @return string
		 */
		public function getCompiledTemplatePath(){ }
		/**
		 * Parses a Volt template returning its intermediate representation
		 *
		 *
		 *	print_r($compiler->parse('{{ 3 + 2 }}'));
		 *
		 *
		 * @param string $viewCode
		 * @return array
		 */
		public function parse($viewCode){ }
	}
}