1<?php namespace ILIAS\GlobalScreen\Scope\MainMenu\Provider;
2
3use ILIAS\GlobalScreen\Provider\StaticProvider;
4use ILIAS\GlobalScreen\Scope\MainMenu\Collector\Information\TypeInformationCollection;
5use ILIAS\GlobalScreen\Scope\MainMenu\Factory\isItem;
6use ILIAS\GlobalScreen\Scope\MainMenu\Factory\TopItem\TopParentItem;
7
8/**
9 * Interface StaticMainMenuProvider
10 *
11 * @author Fabian Schmid <fs@studer-raimann.ch>
12 */
13interface StaticMainMenuProvider extends StaticProvider, MainMenuProviderInterface
14{
15    const PURPOSE_MAINBAR = 'mainmenu';
16
17
18    /**
19     * @return TopParentItem[] These are Slates which will be
20     * available for configuration and will be collected once during a
21     * StructureReload.
22     */
23    public function getStaticTopItems() : array;
24
25
26    /**
27     * @return isItem[] These are Entries which will be available for
28     * configuration and will be collected once during a StructureReload
29     */
30    public function getStaticSubItems() : array;
31
32
33    /**
34     * @return TypeInformationCollection
35     */
36    public function provideTypeInformation() : TypeInformationCollection;
37}
38