* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Chrono\Collection; use KTXF\Resource\Provider\Node\NodePropertiesBaseInterface; interface CollectionPropertiesBaseInterface extends NodePropertiesBaseInterface { public const JSON_TYPE = 'chrono:collection'; public const JSON_PROPERTY_CONTENTS = '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'; public function content(): CollectionContent; /** * 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; }