Security update for Core, with self-updated composer
[yaffs-website] / web / core / lib / Drupal / Core / Layout / LayoutPluginManagerInterface.php
1 <?php
2
3 namespace Drupal\Core\Layout;
4
5 use Drupal\Component\Plugin\CategorizingPluginManagerInterface;
6
7 /**
8  * Provides the interface for a plugin manager of layouts.
9  */
10 interface LayoutPluginManagerInterface extends CategorizingPluginManagerInterface {
11
12   /**
13    * Gets theme implementations for layouts.
14    *
15    * @return array
16    *   An associative array of the same format as returned by hook_theme().
17    *
18    * @see hook_theme()
19    */
20   public function getThemeImplementations();
21
22   /**
23    * {@inheritdoc}
24    *
25    * @return \Drupal\Core\Layout\LayoutInterface
26    */
27   public function createInstance($plugin_id, array $configuration = []);
28
29   /**
30    * {@inheritdoc}
31    *
32    * @return \Drupal\Core\Layout\LayoutDefinition|null
33    */
34   public function getDefinition($plugin_id, $exception_on_invalid = TRUE);
35
36   /**
37    * {@inheritdoc}
38    *
39    * @return \Drupal\Core\Layout\LayoutDefinition[]
40    */
41   public function getDefinitions();
42
43   /**
44    * {@inheritdoc}
45    *
46    * @return \Drupal\Core\Layout\LayoutDefinition[]
47    */
48   public function getSortedDefinitions(array $definitions = NULL);
49
50   /**
51    * {@inheritdoc}
52    *
53    * @return \Drupal\Core\Layout\LayoutDefinition[][]
54    */
55   public function getGroupedDefinitions(array $definitions = NULL);
56
57   /**
58    * Returns an array of layout labels grouped by category.
59    *
60    * @return string[][]
61    *   A nested array of labels suitable for #options.
62    */
63   public function getLayoutOptions();
64
65 }