/home/arranoyd/telegastro/wp-content/plugins/restrict-user-access/interfaces/user.php
<?php
/**
 * @package Restrict User Access
 * @author Joachim Jensen <joachim@dev.institute>
 * @license GPLv3
 * @copyright 2020 by Joachim Jensen
 */

interface RUA_User_Interface
{

    /**
     * @since  1.1
     * @return int
     */
    public function get_id();

    /**
     * Get any attribute from WP_User
     *
     * @since 2.1
     * @param string $name
     * @param mixed|null $default_value
     *
     * @return mixed|null
     */
    public function get_attribute($name, $default_value = null);

    /**
     * @since  1.1
     * @return bool
     */
    public function has_global_access();

    /**
     * @since 2.1
     *
     * @return RUA_Collection<RUA_User_Level>|RUA_User_Level[]
     */
    public function level_memberships();

    /**
     * @since  1.1
     * @param  bool $hierarchical - deprecated
     * @param  bool $synced_roles - deprecated
     * @param  bool $include_expired - deprecated
     * @return array
     */
    public function get_level_ids(
        $hierarchical = true,
        $synced_roles = true,
        $include_expired = false
    );

    /**
     * @since 1.1
     * @param int  $level_id
     * @return bool
     */
    public function add_level($level_id);

    /**
     * @since  1.1
     * @param  int    $level_id
     * @return bool
     */
    public function remove_level($level_id);

    /**
     * @since  1.1
     * @param  int  $level
     * @return bool
     */
    public function has_level($level);

    /**
     * @since  1.1
     * @param  int      $level_id
     * @return int
     * @deprecated 2.1
     * @see level_memberships()->get($level_id)->get_start()
     */
    public function get_level_start($level_id);

    /**
     * @since  1.1
     * @param  int      $level_id
     * @return int
     * @deprecated 2.1
     * @see level_memberships()->get($level_id)->get_expiry()
     */
    public function get_level_expiry($level_id);

    /**
     * @since  1.1
     * @param  int      $level_id
     * @return bool
     * @deprecated 2.1
     * @see !level_memberships()->get($level_id)->is_active()
     */
    public function is_level_expired($level_id);

    /**
     * Get all user level capabilities (also checks hierarchy)
     *
     * @since  1.1
     * @param  array  $current_caps (optional preset)
     * @return array
     */
    public function get_caps($current_caps = array());
}