* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\People\Collection; use KTXF\Resource\Provider\Node\NodePropertiesBaseInterface; interface CollectionPropertiesBaseInterface extends NodePropertiesBaseInterface { public const JSON_TYPE = 'people:collection'; public const PROPERTY_CONTENT = 'content'; public const PROPERTY_LABEL = 'label'; public const PROPERTY_DESCRIPTION = 'description'; public const PROPERTY_RANK = 'rank'; public const PROPERTY_VISIBILITY = 'visibility'; public const 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 rank of this collection * * @since 2025.05.01 */ public function getRank(): ?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; }