+++ /dev/null
-<?php
-
-/*
- * This file is part of the Behat Testwork.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Testwork\ServiceContainer;
-
-use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * Represents Testwork extension mechanism.
- *
- * Extensions are the core entities in Testwork. Almost all framework functionality in Testwork and its different
- * implementations is provided through extensions.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface Extension extends CompilerPassInterface
-{
- /**
- * Returns the extension config key.
- *
- * @return string
- */
- public function getConfigKey();
-
- /**
- * Initializes other extensions.
- *
- * This method is called immediately after all extensions are activated but
- * before any extension `configure()` method is called. This allows extensions
- * to hook into the configuration of other extensions providing such an
- * extension point.
- *
- * @param ExtensionManager $extensionManager
- */
- public function initialize(ExtensionManager $extensionManager);
-
- /**
- * Setups configuration for the extension.
- *
- * @param ArrayNodeDefinition $builder
- */
- public function configure(ArrayNodeDefinition $builder);
-
- /**
- * Loads extension services into temporary container.
- *
- * @param ContainerBuilder $container
- * @param array $config
- */
- public function load(ContainerBuilder $container, array $config);
-}