$arrayOrTraversable * @return $this */ public function setAttributes(iterable $arrayOrTraversable); /** * Retrieve all attributes at once * * @return array */ public function getAttributes(): array; /** * Set the value of the element * * @return $this */ public function setValue(mixed $value); /** * Retrieve the element value * * @return mixed */ public function getValue(); /** * Set the label (if any) used for this element * * @return $this */ public function setLabel(?string $label); /** * Retrieve the label (if any) used for this element */ public function getLabel(): ?string; /** * Set a list of messages to report when validation fails * * @return $this */ public function setMessages(iterable $messages); /** * Get validation error messages, if any * * Returns a list of validation failure messages, if any. */ public function getMessages(): array; }