File: D:/HostingSpaces/debout/debout.nl/app/Components/ComponentType/SaveState/SaveStateInterface.php
<?php
namespace App\Components\ComponentType\SaveState;
use 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\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;
}