*/ public function capabilities(): array; /** * Retrieve collection of services for a specific user * * @since 2025.11.01 * * @param string $tenantId tenant identifier * @param string $userId user identifier * @param array $filter filter criteria * * @return array collection of service objects */ public function serviceList(string $tenantId, string $userId, array $filter): array; /** * Determine if any services are configured for a specific user * * @since 2025.11.01 * * @param string $tenantId tenant identifier * @param string $userId user identifier * @param int|string ...$identifiers variadic collection of service identifiers * * @return array collection of service identifiers with boolean values indicating if the service is available */ public function serviceExtant(string $tenantId, string $userId, int|string ...$identifiers): array; /** * Retrieve a service with a specific identifier * * @since 2025.11.01 * * @param string $tenantId tenant identifier * @param string $userId user identifier * @param string|int $identifier service identifier * * @return ResourceServiceBaseInterface|null returns service object or null if non found */ public function serviceFetch(string $tenantId, string $userId, string|int $identifier): ?ResourceServiceBaseInterface; }