* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\People\Collection; use KTXF\Resource\Provider\Node\NodePropertiesBaseInterface; use PhpParser\Node\Expr\Array_; interface CollectionPropertiesBaseInterface extends NodePropertiesBaseInterface { public const JSON_TYPE = 'people:collection'; public const JSON_PROPERTY_CONTENT = 'content'; public const JSON_PROPERTY_LABEL = 'label'; public const JSON_PROPERTY_DESCRIPTION = 'description'; public const JSON_PROPERTY_PRIORITY = 'priority'; public const JSON_PROPERTY_VISIBILITY = 'visibility'; public const JSON_PROPERTY_COLOR = 'color'; /** * Gets the content type of this collection * * @since 2025.05.01 * * @return CollectionContent[] Returns an array of content types, a single content type, or null if not set */ public function content(): array; /** * Gets the human friendly name of this collection (e.g. Personal Calendar) * * @since 2025.05.01 */ public function getLabel(): string; /** * Gets the human friendly description of this collection * * @since 2025.05.01 */ public function getDescription(): ?string; /** * Gets the priority of this collection * * @since 2025.05.01 */ public function getPriority(): ?int; /** * Gets the visibility of this collection * * @since 2025.05.01 */ public function getVisibility(): ?bool; /** * Gets the color of this collection * * @since 2025.05.01 */ public function getColor(): ?string; }