<?php

declare(strict_types=1);

namespace apexl\Io\modules\menu\interfaces;

use apexl\Io\modules\user\interfaces\PermissionInterface;

interface HasMenuEntryInterface
{
    public function menuRoute(): string;

    public function menuName(): string;

    public function menuIcon(): string;

    public function menuWeight(): int;

    public function menuPattern(): string;

    /**
     * @return PermissionInterface|PermissionInterface[]
     */
    public function menuPermission(): PermissionInterface|array;

}
