1<?php 2 3declare(strict_types=1); 4 5 6/** 7 * Circles - Bring cloud-users closer together. 8 * 9 * This file is licensed under the Affero General Public License version 3 or 10 * later. See the COPYING file. 11 * 12 * @author Maxence Lange <maxence@artificial-owl.com> 13 * @copyright 2021 14 * @license GNU AGPL version 3 or any later version 15 * 16 * This program is free software: you can redistribute it and/or modify 17 * it under the terms of the GNU Affero General Public License as 18 * published by the Free Software Foundation, either version 3 of the 19 * License, or (at your option) any later version. 20 * 21 * This program is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 * GNU Affero General Public License for more details. 25 * 26 * You should have received a copy of the GNU Affero General Public License 27 * along with this program. If not, see <http://www.gnu.org/licenses/>. 28 * 29 */ 30 31 32namespace OCA\Circles; 33 34use OCA\Circles\Model\Circle; 35 36/** 37 * Interface IFederatedUser 38 * 39 * @package OCA\Circles 40 */ 41interface IFederatedUser extends IFederatedModel { 42 43 /** 44 * @return string 45 */ 46 public function getUserId(): string; 47 48 /** 49 * @return int 50 */ 51 public function getUserType(): int; 52 53 /** 54 * @return string 55 */ 56 public function getDisplayName(): string; 57 58 /** 59 * @return Circle 60 */ 61 public function getBasedOn(): Circle; 62 63 /** 64 * @return bool 65 */ 66 public function hasBasedOn(): bool; 67} 68