<?php

/**
 * Generated by phpSPO model generator 2020-05-26T22:12:31+00:00 
 */
namespace Office365\Graph;

use Office365\Runtime\ClientObject;
use Office365\Runtime\ResourcePath;
/**
 * The **plannerPlanDetails** resource represents the additional information about a plan. Each [plan](plannerplan.md) object has a details object.
 */
class PlannerPlanDetails extends ClientObject
{
    /**
     * Set of user ids that this plan is shared with. If you are leveraging Office 365 Groups, use the Groups API to manage group membership to share the [group's](group.md) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group. 
     * @return PlannerUserIds
     */
    public function getSharedWith()
    {
        if (!$this->isPropertyAvailable("SharedWith")) {
            return null;
        }
        return $this->getProperty("SharedWith");
    }
    /**
     * Set of user ids that this plan is shared with. If you are leveraging Office 365 Groups, use the Groups API to manage group membership to share the [group's](group.md) plan. You can also add existing members of the group to this collection though it is not required for them to access the plan owned by the group. 
     * @var PlannerUserIds
     */
    public function setSharedWith($value)
    {
        $this->setProperty("SharedWith", $value, true);
    }
    /**
     * An object that specifies the descriptions of the six categories that can be associated with tasks in the plan
     * @return PlannerCategoryDescriptions
     */
    public function getCategoryDescriptions()
    {
        if (!$this->isPropertyAvailable("CategoryDescriptions")) {
            return null;
        }
        return $this->getProperty("CategoryDescriptions");
    }
    /**
     * An object that specifies the descriptions of the six categories that can be associated with tasks in the plan
     * @var PlannerCategoryDescriptions
     */
    public function setCategoryDescriptions($value)
    {
        $this->setProperty("CategoryDescriptions", $value, true);
    }
}