<?php
/**
 * Landofcoder
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Landofcoder.com license that is
 * available through the world-wide-web at this URL:
 * https://landofcoder.com/terms
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade this extension to newer
 * version in the future.
 *
 * @category   Landofcoder
 * @package    Lof_Formbuilder
 * @copyright  Copyright (c) 2021 Landofcoder (https://www.landofcoder.com/)
 * @license    https://landofcoder.com/terms
 */

namespace Lof\Formbuilder\Api\Data;

use Magento\Framework\Api\SearchResultsInterface;

interface FormbuilderDesignInterface
{
    public const FORM = 'form';
    public const FIELDS = 'fields';

    /**
     * Get list design fields
     *
     * @return FormbuilderInterface
     */
    public function getForm(): FormbuilderInterface;

    /**
     * Set list design fields
     *
     * @param FormbuilderInterface $form
     * @return $this
     */
    public function setForm(FormbuilderInterface $form): static;

    /**
     * Get list design fields
     *
     * @return FieldDesignInterface[]
     */
    public function getFields(): array;

    /**
     * Set list design fields
     *
     * @param FieldDesignInterface[] $fields
     * @return $this
     */
    public function setFields(array $fields): static;
}
