* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Files\Node; /** * Interface for mutable entity (file) nodes */ interface INodeEntityMutable extends INodeEntityBase { /** * Deserialize from JSON data * * @since 2025.11.01 * * @param array|string $data JSON data to deserialize * * @return static */ public function jsonDeserialize(array|string $data): static; /** * Sets the human-readable name/label of this entity * * @since 2025.11.01 */ public function setLabel(string $value): static; /** * Sets the MIME type of the file * * @since 2025.11.01 */ public function setMime(string $value): static; /** * Sets the file format/extension * * @since 2025.11.01 */ public function setFormat(string $value): static; /** * Sets the character encoding * * @since 2025.11.01 */ public function setEncoding(string $value): static; }