HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/stafa/stafa.nl/app/Komma/Components/ComponentType/SaveState/SaveStateInterface.php
<?php

namespace App\Komma\Components\ComponentType\SaveState;

use App\Komma\Kms\Core\Attributes\Attribute;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Support\Collection;
use JsonSerializable;
use Serializable;


/**
 * Interface SaveStateInterface
 *
 * Represents the state of a attribute in a section.
 * Which settings it has and how they are configured
 *
 * @package App\Komma\Components\ComponentType\SaveStateAttributes\SaveState
 */
interface SaveStateInterface extends Arrayable, JsonSerializable, Serializable
{
    /**
     * @return string
     */
    public function getVersion(): string;

    /**
     * @param string $version
     * @return SaveState
     */
    public function setVersion(string $version): SaveState;

    /**
     * @return array|null
     */
    public function getAttributeInstances(): ? Collection;

    /**
     * @param Attribute $attributeInstance
     * @return SaveState
     */
    public function addAttributeInstance(Attribute $attributeInstance): SaveState;
}