<?php
/**
 * TabAccountSettings
 *
 * PHP version 7.4
 *
 * @category Class
 * @package  DocuSign\eSign
 * @author   Swagger Codegen team <apihelp@docusign.com>
 * @license  The Docusign PHP Client SDK is licensed under the MIT License.
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * Docusign eSignature REST API
 *
 * The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.
 *
 * OpenAPI spec version: v2.1
 * Contact: devcenter@docusign.com
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 * Swagger Codegen version: 2.4.21
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace DocuSign\eSign\Model;

use \ArrayAccess;
use DocuSign\eSign\ObjectSerializer;

/**
 * TabAccountSettings Class Doc Comment
 *
 * @category    Class
 * @package     DocuSign\eSign
 * @author      Swagger Codegen team <apihelp@docusign.com>
 * @license     The Docusign PHP Client SDK is licensed under the MIT License.
 * @link        https://github.com/swagger-api/swagger-codegen
 */
class TabAccountSettings implements ModelInterface, ArrayAccess
{
    const DISCRIMINATOR = null;

    /**
      * The original name of the model.
      *
      * @var string
      */
    protected static $swaggerModelName = 'tabAccountSettings';

    /**
      * Array of property to type mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerTypes = [
        'allow_tab_order' => '?string',
        'allow_tab_order_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'approve_decline_tabs_enabled' => '?string',
        'approve_decline_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'calculated_fields_enabled' => '?string',
        'calculated_fields_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'checkbox_tabs_enabled' => '?string',
        'check_box_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'data_field_regex_enabled' => '?string',
        'data_field_regex_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'data_field_size_enabled' => '?string',
        'data_field_size_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'draw_tabs_enabled' => '?string',
        'draw_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'enable_tab_agreement_details' => '?string',
        'enable_tab_agreement_details_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'first_last_email_tabs_enabled' => '?string',
        'first_last_email_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'list_tabs_enabled' => '?string',
        'list_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'note_tabs_enabled' => '?string',
        'note_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'numerical_tabs_enabled' => '?string',
        'numerical_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'prefill_tabs_enabled' => '?string',
        'prefill_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'radio_tabs_enabled' => '?string',
        'radio_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'saving_custom_tabs_enabled' => '?string',
        'saving_custom_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'sender_to_change_tab_assignments_enabled' => '?string',
        'sender_to_change_tab_assignments_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'shared_custom_tabs_enabled' => '?string',
        'shared_custom_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'tab_data_label_enabled' => '?string',
        'tab_data_label_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'tab_location_enabled' => '?string',
        'tab_location_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'tab_locking_enabled' => '?string',
        'tab_locking_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'tab_scale_enabled' => '?string',
        'tab_scale_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'tab_text_formatting_enabled' => '?string',
        'tab_text_formatting_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'text_tabs_enabled' => '?string',
        'text_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata',
        'uri_tabs_enabled' => '?string',
        'uri_tabs_metadata' => '\DocuSign\eSign\Model\SettingsMetadata'
    ];

    /**
      * Array of property to format mappings. Used for (de)serialization
      *
      * @var string[]
      */
    protected static $swaggerFormats = [
        'allow_tab_order' => null,
        'allow_tab_order_metadata' => null,
        'approve_decline_tabs_enabled' => null,
        'approve_decline_tabs_metadata' => null,
        'calculated_fields_enabled' => null,
        'calculated_fields_metadata' => null,
        'checkbox_tabs_enabled' => null,
        'check_box_tabs_metadata' => null,
        'data_field_regex_enabled' => null,
        'data_field_regex_metadata' => null,
        'data_field_size_enabled' => null,
        'data_field_size_metadata' => null,
        'draw_tabs_enabled' => null,
        'draw_tabs_metadata' => null,
        'enable_tab_agreement_details' => null,
        'enable_tab_agreement_details_metadata' => null,
        'first_last_email_tabs_enabled' => null,
        'first_last_email_tabs_metadata' => null,
        'list_tabs_enabled' => null,
        'list_tabs_metadata' => null,
        'note_tabs_enabled' => null,
        'note_tabs_metadata' => null,
        'numerical_tabs_enabled' => null,
        'numerical_tabs_metadata' => null,
        'prefill_tabs_enabled' => null,
        'prefill_tabs_metadata' => null,
        'radio_tabs_enabled' => null,
        'radio_tabs_metadata' => null,
        'saving_custom_tabs_enabled' => null,
        'saving_custom_tabs_metadata' => null,
        'sender_to_change_tab_assignments_enabled' => null,
        'sender_to_change_tab_assignments_metadata' => null,
        'shared_custom_tabs_enabled' => null,
        'shared_custom_tabs_metadata' => null,
        'tab_data_label_enabled' => null,
        'tab_data_label_metadata' => null,
        'tab_location_enabled' => null,
        'tab_location_metadata' => null,
        'tab_locking_enabled' => null,
        'tab_locking_metadata' => null,
        'tab_scale_enabled' => null,
        'tab_scale_metadata' => null,
        'tab_text_formatting_enabled' => null,
        'tab_text_formatting_metadata' => null,
        'text_tabs_enabled' => null,
        'text_tabs_metadata' => null,
        'uri_tabs_enabled' => null,
        'uri_tabs_metadata' => null
    ];

    /**
     * Array of property to type mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerTypes()
    {
        return self::$swaggerTypes;
    }

    /**
     * Array of property to format mappings. Used for (de)serialization
     *
     * @return array
     */
    public static function swaggerFormats()
    {
        return self::$swaggerFormats;
    }

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @var string[]
     */
    protected static $attributeMap = [
        'allow_tab_order' => 'allowTabOrder',
        'allow_tab_order_metadata' => 'allowTabOrderMetadata',
        'approve_decline_tabs_enabled' => 'approveDeclineTabsEnabled',
        'approve_decline_tabs_metadata' => 'approveDeclineTabsMetadata',
        'calculated_fields_enabled' => 'calculatedFieldsEnabled',
        'calculated_fields_metadata' => 'calculatedFieldsMetadata',
        'checkbox_tabs_enabled' => 'checkboxTabsEnabled',
        'check_box_tabs_metadata' => 'checkBoxTabsMetadata',
        'data_field_regex_enabled' => 'dataFieldRegexEnabled',
        'data_field_regex_metadata' => 'dataFieldRegexMetadata',
        'data_field_size_enabled' => 'dataFieldSizeEnabled',
        'data_field_size_metadata' => 'dataFieldSizeMetadata',
        'draw_tabs_enabled' => 'drawTabsEnabled',
        'draw_tabs_metadata' => 'drawTabsMetadata',
        'enable_tab_agreement_details' => 'enableTabAgreementDetails',
        'enable_tab_agreement_details_metadata' => 'enableTabAgreementDetailsMetadata',
        'first_last_email_tabs_enabled' => 'firstLastEmailTabsEnabled',
        'first_last_email_tabs_metadata' => 'firstLastEmailTabsMetadata',
        'list_tabs_enabled' => 'listTabsEnabled',
        'list_tabs_metadata' => 'listTabsMetadata',
        'note_tabs_enabled' => 'noteTabsEnabled',
        'note_tabs_metadata' => 'noteTabsMetadata',
        'numerical_tabs_enabled' => 'numericalTabsEnabled',
        'numerical_tabs_metadata' => 'numericalTabsMetadata',
        'prefill_tabs_enabled' => 'prefillTabsEnabled',
        'prefill_tabs_metadata' => 'prefillTabsMetadata',
        'radio_tabs_enabled' => 'radioTabsEnabled',
        'radio_tabs_metadata' => 'radioTabsMetadata',
        'saving_custom_tabs_enabled' => 'savingCustomTabsEnabled',
        'saving_custom_tabs_metadata' => 'savingCustomTabsMetadata',
        'sender_to_change_tab_assignments_enabled' => 'senderToChangeTabAssignmentsEnabled',
        'sender_to_change_tab_assignments_metadata' => 'senderToChangeTabAssignmentsMetadata',
        'shared_custom_tabs_enabled' => 'sharedCustomTabsEnabled',
        'shared_custom_tabs_metadata' => 'sharedCustomTabsMetadata',
        'tab_data_label_enabled' => 'tabDataLabelEnabled',
        'tab_data_label_metadata' => 'tabDataLabelMetadata',
        'tab_location_enabled' => 'tabLocationEnabled',
        'tab_location_metadata' => 'tabLocationMetadata',
        'tab_locking_enabled' => 'tabLockingEnabled',
        'tab_locking_metadata' => 'tabLockingMetadata',
        'tab_scale_enabled' => 'tabScaleEnabled',
        'tab_scale_metadata' => 'tabScaleMetadata',
        'tab_text_formatting_enabled' => 'tabTextFormattingEnabled',
        'tab_text_formatting_metadata' => 'tabTextFormattingMetadata',
        'text_tabs_enabled' => 'textTabsEnabled',
        'text_tabs_metadata' => 'textTabsMetadata',
        'uri_tabs_enabled' => 'uriTabsEnabled',
        'uri_tabs_metadata' => 'uriTabsMetadata'
    ];

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @var string[]
     */
    protected static $setters = [
        'allow_tab_order' => 'setAllowTabOrder',
        'allow_tab_order_metadata' => 'setAllowTabOrderMetadata',
        'approve_decline_tabs_enabled' => 'setApproveDeclineTabsEnabled',
        'approve_decline_tabs_metadata' => 'setApproveDeclineTabsMetadata',
        'calculated_fields_enabled' => 'setCalculatedFieldsEnabled',
        'calculated_fields_metadata' => 'setCalculatedFieldsMetadata',
        'checkbox_tabs_enabled' => 'setCheckboxTabsEnabled',
        'check_box_tabs_metadata' => 'setCheckBoxTabsMetadata',
        'data_field_regex_enabled' => 'setDataFieldRegexEnabled',
        'data_field_regex_metadata' => 'setDataFieldRegexMetadata',
        'data_field_size_enabled' => 'setDataFieldSizeEnabled',
        'data_field_size_metadata' => 'setDataFieldSizeMetadata',
        'draw_tabs_enabled' => 'setDrawTabsEnabled',
        'draw_tabs_metadata' => 'setDrawTabsMetadata',
        'enable_tab_agreement_details' => 'setEnableTabAgreementDetails',
        'enable_tab_agreement_details_metadata' => 'setEnableTabAgreementDetailsMetadata',
        'first_last_email_tabs_enabled' => 'setFirstLastEmailTabsEnabled',
        'first_last_email_tabs_metadata' => 'setFirstLastEmailTabsMetadata',
        'list_tabs_enabled' => 'setListTabsEnabled',
        'list_tabs_metadata' => 'setListTabsMetadata',
        'note_tabs_enabled' => 'setNoteTabsEnabled',
        'note_tabs_metadata' => 'setNoteTabsMetadata',
        'numerical_tabs_enabled' => 'setNumericalTabsEnabled',
        'numerical_tabs_metadata' => 'setNumericalTabsMetadata',
        'prefill_tabs_enabled' => 'setPrefillTabsEnabled',
        'prefill_tabs_metadata' => 'setPrefillTabsMetadata',
        'radio_tabs_enabled' => 'setRadioTabsEnabled',
        'radio_tabs_metadata' => 'setRadioTabsMetadata',
        'saving_custom_tabs_enabled' => 'setSavingCustomTabsEnabled',
        'saving_custom_tabs_metadata' => 'setSavingCustomTabsMetadata',
        'sender_to_change_tab_assignments_enabled' => 'setSenderToChangeTabAssignmentsEnabled',
        'sender_to_change_tab_assignments_metadata' => 'setSenderToChangeTabAssignmentsMetadata',
        'shared_custom_tabs_enabled' => 'setSharedCustomTabsEnabled',
        'shared_custom_tabs_metadata' => 'setSharedCustomTabsMetadata',
        'tab_data_label_enabled' => 'setTabDataLabelEnabled',
        'tab_data_label_metadata' => 'setTabDataLabelMetadata',
        'tab_location_enabled' => 'setTabLocationEnabled',
        'tab_location_metadata' => 'setTabLocationMetadata',
        'tab_locking_enabled' => 'setTabLockingEnabled',
        'tab_locking_metadata' => 'setTabLockingMetadata',
        'tab_scale_enabled' => 'setTabScaleEnabled',
        'tab_scale_metadata' => 'setTabScaleMetadata',
        'tab_text_formatting_enabled' => 'setTabTextFormattingEnabled',
        'tab_text_formatting_metadata' => 'setTabTextFormattingMetadata',
        'text_tabs_enabled' => 'setTextTabsEnabled',
        'text_tabs_metadata' => 'setTextTabsMetadata',
        'uri_tabs_enabled' => 'setUriTabsEnabled',
        'uri_tabs_metadata' => 'setUriTabsMetadata'
    ];

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @var string[]
     */
    protected static $getters = [
        'allow_tab_order' => 'getAllowTabOrder',
        'allow_tab_order_metadata' => 'getAllowTabOrderMetadata',
        'approve_decline_tabs_enabled' => 'getApproveDeclineTabsEnabled',
        'approve_decline_tabs_metadata' => 'getApproveDeclineTabsMetadata',
        'calculated_fields_enabled' => 'getCalculatedFieldsEnabled',
        'calculated_fields_metadata' => 'getCalculatedFieldsMetadata',
        'checkbox_tabs_enabled' => 'getCheckboxTabsEnabled',
        'check_box_tabs_metadata' => 'getCheckBoxTabsMetadata',
        'data_field_regex_enabled' => 'getDataFieldRegexEnabled',
        'data_field_regex_metadata' => 'getDataFieldRegexMetadata',
        'data_field_size_enabled' => 'getDataFieldSizeEnabled',
        'data_field_size_metadata' => 'getDataFieldSizeMetadata',
        'draw_tabs_enabled' => 'getDrawTabsEnabled',
        'draw_tabs_metadata' => 'getDrawTabsMetadata',
        'enable_tab_agreement_details' => 'getEnableTabAgreementDetails',
        'enable_tab_agreement_details_metadata' => 'getEnableTabAgreementDetailsMetadata',
        'first_last_email_tabs_enabled' => 'getFirstLastEmailTabsEnabled',
        'first_last_email_tabs_metadata' => 'getFirstLastEmailTabsMetadata',
        'list_tabs_enabled' => 'getListTabsEnabled',
        'list_tabs_metadata' => 'getListTabsMetadata',
        'note_tabs_enabled' => 'getNoteTabsEnabled',
        'note_tabs_metadata' => 'getNoteTabsMetadata',
        'numerical_tabs_enabled' => 'getNumericalTabsEnabled',
        'numerical_tabs_metadata' => 'getNumericalTabsMetadata',
        'prefill_tabs_enabled' => 'getPrefillTabsEnabled',
        'prefill_tabs_metadata' => 'getPrefillTabsMetadata',
        'radio_tabs_enabled' => 'getRadioTabsEnabled',
        'radio_tabs_metadata' => 'getRadioTabsMetadata',
        'saving_custom_tabs_enabled' => 'getSavingCustomTabsEnabled',
        'saving_custom_tabs_metadata' => 'getSavingCustomTabsMetadata',
        'sender_to_change_tab_assignments_enabled' => 'getSenderToChangeTabAssignmentsEnabled',
        'sender_to_change_tab_assignments_metadata' => 'getSenderToChangeTabAssignmentsMetadata',
        'shared_custom_tabs_enabled' => 'getSharedCustomTabsEnabled',
        'shared_custom_tabs_metadata' => 'getSharedCustomTabsMetadata',
        'tab_data_label_enabled' => 'getTabDataLabelEnabled',
        'tab_data_label_metadata' => 'getTabDataLabelMetadata',
        'tab_location_enabled' => 'getTabLocationEnabled',
        'tab_location_metadata' => 'getTabLocationMetadata',
        'tab_locking_enabled' => 'getTabLockingEnabled',
        'tab_locking_metadata' => 'getTabLockingMetadata',
        'tab_scale_enabled' => 'getTabScaleEnabled',
        'tab_scale_metadata' => 'getTabScaleMetadata',
        'tab_text_formatting_enabled' => 'getTabTextFormattingEnabled',
        'tab_text_formatting_metadata' => 'getTabTextFormattingMetadata',
        'text_tabs_enabled' => 'getTextTabsEnabled',
        'text_tabs_metadata' => 'getTextTabsMetadata',
        'uri_tabs_enabled' => 'getUriTabsEnabled',
        'uri_tabs_metadata' => 'getUriTabsMetadata'
    ];

    /**
     * Array of attributes where the key is the local name,
     * and the value is the original name
     *
     * @return array
     */
    public static function attributeMap()
    {
        return self::$attributeMap;
    }

    /**
     * Array of attributes to setter functions (for deserialization of responses)
     *
     * @return array
     */
    public static function setters()
    {
        return self::$setters;
    }

    /**
     * Array of attributes to getter functions (for serialization of requests)
     *
     * @return array
     */
    public static function getters()
    {
        return self::$getters;
    }

    /**
     * The original name of the model.
     *
     * @return string
     */
    public function getModelName()
    {
        return self::$swaggerModelName;
    }

    

    

    /**
     * Associative array for storing property values
     *
     * @var mixed[]
     */
    protected $container = [];

    /**
     * Constructor
     *
     * @param mixed[] $data Associated array of property values
     *                      initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->container['allow_tab_order'] = isset($data['allow_tab_order']) ? $data['allow_tab_order'] : null;
        $this->container['allow_tab_order_metadata'] = isset($data['allow_tab_order_metadata']) ? $data['allow_tab_order_metadata'] : null;
        $this->container['approve_decline_tabs_enabled'] = isset($data['approve_decline_tabs_enabled']) ? $data['approve_decline_tabs_enabled'] : null;
        $this->container['approve_decline_tabs_metadata'] = isset($data['approve_decline_tabs_metadata']) ? $data['approve_decline_tabs_metadata'] : null;
        $this->container['calculated_fields_enabled'] = isset($data['calculated_fields_enabled']) ? $data['calculated_fields_enabled'] : null;
        $this->container['calculated_fields_metadata'] = isset($data['calculated_fields_metadata']) ? $data['calculated_fields_metadata'] : null;
        $this->container['checkbox_tabs_enabled'] = isset($data['checkbox_tabs_enabled']) ? $data['checkbox_tabs_enabled'] : null;
        $this->container['check_box_tabs_metadata'] = isset($data['check_box_tabs_metadata']) ? $data['check_box_tabs_metadata'] : null;
        $this->container['data_field_regex_enabled'] = isset($data['data_field_regex_enabled']) ? $data['data_field_regex_enabled'] : null;
        $this->container['data_field_regex_metadata'] = isset($data['data_field_regex_metadata']) ? $data['data_field_regex_metadata'] : null;
        $this->container['data_field_size_enabled'] = isset($data['data_field_size_enabled']) ? $data['data_field_size_enabled'] : null;
        $this->container['data_field_size_metadata'] = isset($data['data_field_size_metadata']) ? $data['data_field_size_metadata'] : null;
        $this->container['draw_tabs_enabled'] = isset($data['draw_tabs_enabled']) ? $data['draw_tabs_enabled'] : null;
        $this->container['draw_tabs_metadata'] = isset($data['draw_tabs_metadata']) ? $data['draw_tabs_metadata'] : null;
        $this->container['enable_tab_agreement_details'] = isset($data['enable_tab_agreement_details']) ? $data['enable_tab_agreement_details'] : null;
        $this->container['enable_tab_agreement_details_metadata'] = isset($data['enable_tab_agreement_details_metadata']) ? $data['enable_tab_agreement_details_metadata'] : null;
        $this->container['first_last_email_tabs_enabled'] = isset($data['first_last_email_tabs_enabled']) ? $data['first_last_email_tabs_enabled'] : null;
        $this->container['first_last_email_tabs_metadata'] = isset($data['first_last_email_tabs_metadata']) ? $data['first_last_email_tabs_metadata'] : null;
        $this->container['list_tabs_enabled'] = isset($data['list_tabs_enabled']) ? $data['list_tabs_enabled'] : null;
        $this->container['list_tabs_metadata'] = isset($data['list_tabs_metadata']) ? $data['list_tabs_metadata'] : null;
        $this->container['note_tabs_enabled'] = isset($data['note_tabs_enabled']) ? $data['note_tabs_enabled'] : null;
        $this->container['note_tabs_metadata'] = isset($data['note_tabs_metadata']) ? $data['note_tabs_metadata'] : null;
        $this->container['numerical_tabs_enabled'] = isset($data['numerical_tabs_enabled']) ? $data['numerical_tabs_enabled'] : null;
        $this->container['numerical_tabs_metadata'] = isset($data['numerical_tabs_metadata']) ? $data['numerical_tabs_metadata'] : null;
        $this->container['prefill_tabs_enabled'] = isset($data['prefill_tabs_enabled']) ? $data['prefill_tabs_enabled'] : null;
        $this->container['prefill_tabs_metadata'] = isset($data['prefill_tabs_metadata']) ? $data['prefill_tabs_metadata'] : null;
        $this->container['radio_tabs_enabled'] = isset($data['radio_tabs_enabled']) ? $data['radio_tabs_enabled'] : null;
        $this->container['radio_tabs_metadata'] = isset($data['radio_tabs_metadata']) ? $data['radio_tabs_metadata'] : null;
        $this->container['saving_custom_tabs_enabled'] = isset($data['saving_custom_tabs_enabled']) ? $data['saving_custom_tabs_enabled'] : null;
        $this->container['saving_custom_tabs_metadata'] = isset($data['saving_custom_tabs_metadata']) ? $data['saving_custom_tabs_metadata'] : null;
        $this->container['sender_to_change_tab_assignments_enabled'] = isset($data['sender_to_change_tab_assignments_enabled']) ? $data['sender_to_change_tab_assignments_enabled'] : null;
        $this->container['sender_to_change_tab_assignments_metadata'] = isset($data['sender_to_change_tab_assignments_metadata']) ? $data['sender_to_change_tab_assignments_metadata'] : null;
        $this->container['shared_custom_tabs_enabled'] = isset($data['shared_custom_tabs_enabled']) ? $data['shared_custom_tabs_enabled'] : null;
        $this->container['shared_custom_tabs_metadata'] = isset($data['shared_custom_tabs_metadata']) ? $data['shared_custom_tabs_metadata'] : null;
        $this->container['tab_data_label_enabled'] = isset($data['tab_data_label_enabled']) ? $data['tab_data_label_enabled'] : null;
        $this->container['tab_data_label_metadata'] = isset($data['tab_data_label_metadata']) ? $data['tab_data_label_metadata'] : null;
        $this->container['tab_location_enabled'] = isset($data['tab_location_enabled']) ? $data['tab_location_enabled'] : null;
        $this->container['tab_location_metadata'] = isset($data['tab_location_metadata']) ? $data['tab_location_metadata'] : null;
        $this->container['tab_locking_enabled'] = isset($data['tab_locking_enabled']) ? $data['tab_locking_enabled'] : null;
        $this->container['tab_locking_metadata'] = isset($data['tab_locking_metadata']) ? $data['tab_locking_metadata'] : null;
        $this->container['tab_scale_enabled'] = isset($data['tab_scale_enabled']) ? $data['tab_scale_enabled'] : null;
        $this->container['tab_scale_metadata'] = isset($data['tab_scale_metadata']) ? $data['tab_scale_metadata'] : null;
        $this->container['tab_text_formatting_enabled'] = isset($data['tab_text_formatting_enabled']) ? $data['tab_text_formatting_enabled'] : null;
        $this->container['tab_text_formatting_metadata'] = isset($data['tab_text_formatting_metadata']) ? $data['tab_text_formatting_metadata'] : null;
        $this->container['text_tabs_enabled'] = isset($data['text_tabs_enabled']) ? $data['text_tabs_enabled'] : null;
        $this->container['text_tabs_metadata'] = isset($data['text_tabs_metadata']) ? $data['text_tabs_metadata'] : null;
        $this->container['uri_tabs_enabled'] = isset($data['uri_tabs_enabled']) ? $data['uri_tabs_enabled'] : null;
        $this->container['uri_tabs_metadata'] = isset($data['uri_tabs_metadata']) ? $data['uri_tabs_metadata'] : null;
    }

    /**
     * Show all the invalid properties with reasons.
     *
     * @return array invalid properties with reasons
     */
    public function listInvalidProperties()
    {
        $invalidProperties = [];

        return $invalidProperties;
    }

    /**
     * Validate all the properties in the model
     * return true if all passed
     *
     * @return bool True if all properties are valid
     */
    public function valid()
    {
        return count($this->listInvalidProperties()) === 0;
    }


    /**
     * Gets allow_tab_order
     *
     * @return ?string
     */
    public function getAllowTabOrder()
    {
        return $this->container['allow_tab_order'];
    }

    /**
     * Sets allow_tab_order
     *
     * @param ?string $allow_tab_order 
     *
     * @return $this
     */
    public function setAllowTabOrder($allow_tab_order)
    {
        $this->container['allow_tab_order'] = $allow_tab_order;

        return $this;
    }

    /**
     * Gets allow_tab_order_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getAllowTabOrderMetadata()
    {
        return $this->container['allow_tab_order_metadata'];
    }

    /**
     * Sets allow_tab_order_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $allow_tab_order_metadata Metadata that indicates whether the `allowTabOrder` property is editable.
     *
     * @return $this
     */
    public function setAllowTabOrderMetadata($allow_tab_order_metadata)
    {
        $this->container['allow_tab_order_metadata'] = $allow_tab_order_metadata;

        return $this;
    }

    /**
     * Gets approve_decline_tabs_enabled
     *
     * @return ?string
     */
    public function getApproveDeclineTabsEnabled()
    {
        return $this->container['approve_decline_tabs_enabled'];
    }

    /**
     * Sets approve_decline_tabs_enabled
     *
     * @param ?string $approve_decline_tabs_enabled 
     *
     * @return $this
     */
    public function setApproveDeclineTabsEnabled($approve_decline_tabs_enabled)
    {
        $this->container['approve_decline_tabs_enabled'] = $approve_decline_tabs_enabled;

        return $this;
    }

    /**
     * Gets approve_decline_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getApproveDeclineTabsMetadata()
    {
        return $this->container['approve_decline_tabs_metadata'];
    }

    /**
     * Sets approve_decline_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $approve_decline_tabs_metadata Metadata that indicates whether the `approveDeclineTabs` property is editable.
     *
     * @return $this
     */
    public function setApproveDeclineTabsMetadata($approve_decline_tabs_metadata)
    {
        $this->container['approve_decline_tabs_metadata'] = $approve_decline_tabs_metadata;

        return $this;
    }

    /**
     * Gets calculated_fields_enabled
     *
     * @return ?string
     */
    public function getCalculatedFieldsEnabled()
    {
        return $this->container['calculated_fields_enabled'];
    }

    /**
     * Sets calculated_fields_enabled
     *
     * @param ?string $calculated_fields_enabled 
     *
     * @return $this
     */
    public function setCalculatedFieldsEnabled($calculated_fields_enabled)
    {
        $this->container['calculated_fields_enabled'] = $calculated_fields_enabled;

        return $this;
    }

    /**
     * Gets calculated_fields_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getCalculatedFieldsMetadata()
    {
        return $this->container['calculated_fields_metadata'];
    }

    /**
     * Sets calculated_fields_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $calculated_fields_metadata Metadata that indicates whether the `calculatedFields` property is editable.
     *
     * @return $this
     */
    public function setCalculatedFieldsMetadata($calculated_fields_metadata)
    {
        $this->container['calculated_fields_metadata'] = $calculated_fields_metadata;

        return $this;
    }

    /**
     * Gets checkbox_tabs_enabled
     *
     * @return ?string
     */
    public function getCheckboxTabsEnabled()
    {
        return $this->container['checkbox_tabs_enabled'];
    }

    /**
     * Sets checkbox_tabs_enabled
     *
     * @param ?string $checkbox_tabs_enabled 
     *
     * @return $this
     */
    public function setCheckboxTabsEnabled($checkbox_tabs_enabled)
    {
        $this->container['checkbox_tabs_enabled'] = $checkbox_tabs_enabled;

        return $this;
    }

    /**
     * Gets check_box_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getCheckBoxTabsMetadata()
    {
        return $this->container['check_box_tabs_metadata'];
    }

    /**
     * Sets check_box_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $check_box_tabs_metadata Metadata that indicates whether the `checkBoxTabs` property is editable.
     *
     * @return $this
     */
    public function setCheckBoxTabsMetadata($check_box_tabs_metadata)
    {
        $this->container['check_box_tabs_metadata'] = $check_box_tabs_metadata;

        return $this;
    }

    /**
     * Gets data_field_regex_enabled
     *
     * @return ?string
     */
    public function getDataFieldRegexEnabled()
    {
        return $this->container['data_field_regex_enabled'];
    }

    /**
     * Sets data_field_regex_enabled
     *
     * @param ?string $data_field_regex_enabled 
     *
     * @return $this
     */
    public function setDataFieldRegexEnabled($data_field_regex_enabled)
    {
        $this->container['data_field_regex_enabled'] = $data_field_regex_enabled;

        return $this;
    }

    /**
     * Gets data_field_regex_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getDataFieldRegexMetadata()
    {
        return $this->container['data_field_regex_metadata'];
    }

    /**
     * Sets data_field_regex_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $data_field_regex_metadata Metadata that indicates whether the `dataFieldRegex` property is editable.
     *
     * @return $this
     */
    public function setDataFieldRegexMetadata($data_field_regex_metadata)
    {
        $this->container['data_field_regex_metadata'] = $data_field_regex_metadata;

        return $this;
    }

    /**
     * Gets data_field_size_enabled
     *
     * @return ?string
     */
    public function getDataFieldSizeEnabled()
    {
        return $this->container['data_field_size_enabled'];
    }

    /**
     * Sets data_field_size_enabled
     *
     * @param ?string $data_field_size_enabled 
     *
     * @return $this
     */
    public function setDataFieldSizeEnabled($data_field_size_enabled)
    {
        $this->container['data_field_size_enabled'] = $data_field_size_enabled;

        return $this;
    }

    /**
     * Gets data_field_size_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getDataFieldSizeMetadata()
    {
        return $this->container['data_field_size_metadata'];
    }

    /**
     * Sets data_field_size_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $data_field_size_metadata Metadata that indicates whether the `dataFieldSize` property is editable.
     *
     * @return $this
     */
    public function setDataFieldSizeMetadata($data_field_size_metadata)
    {
        $this->container['data_field_size_metadata'] = $data_field_size_metadata;

        return $this;
    }

    /**
     * Gets draw_tabs_enabled
     *
     * @return ?string
     */
    public function getDrawTabsEnabled()
    {
        return $this->container['draw_tabs_enabled'];
    }

    /**
     * Sets draw_tabs_enabled
     *
     * @param ?string $draw_tabs_enabled 
     *
     * @return $this
     */
    public function setDrawTabsEnabled($draw_tabs_enabled)
    {
        $this->container['draw_tabs_enabled'] = $draw_tabs_enabled;

        return $this;
    }

    /**
     * Gets draw_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getDrawTabsMetadata()
    {
        return $this->container['draw_tabs_metadata'];
    }

    /**
     * Sets draw_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $draw_tabs_metadata 
     *
     * @return $this
     */
    public function setDrawTabsMetadata($draw_tabs_metadata)
    {
        $this->container['draw_tabs_metadata'] = $draw_tabs_metadata;

        return $this;
    }

    /**
     * Gets enable_tab_agreement_details
     *
     * @return ?string
     */
    public function getEnableTabAgreementDetails()
    {
        return $this->container['enable_tab_agreement_details'];
    }

    /**
     * Sets enable_tab_agreement_details
     *
     * @param ?string $enable_tab_agreement_details 
     *
     * @return $this
     */
    public function setEnableTabAgreementDetails($enable_tab_agreement_details)
    {
        $this->container['enable_tab_agreement_details'] = $enable_tab_agreement_details;

        return $this;
    }

    /**
     * Gets enable_tab_agreement_details_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getEnableTabAgreementDetailsMetadata()
    {
        return $this->container['enable_tab_agreement_details_metadata'];
    }

    /**
     * Sets enable_tab_agreement_details_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $enable_tab_agreement_details_metadata 
     *
     * @return $this
     */
    public function setEnableTabAgreementDetailsMetadata($enable_tab_agreement_details_metadata)
    {
        $this->container['enable_tab_agreement_details_metadata'] = $enable_tab_agreement_details_metadata;

        return $this;
    }

    /**
     * Gets first_last_email_tabs_enabled
     *
     * @return ?string
     */
    public function getFirstLastEmailTabsEnabled()
    {
        return $this->container['first_last_email_tabs_enabled'];
    }

    /**
     * Sets first_last_email_tabs_enabled
     *
     * @param ?string $first_last_email_tabs_enabled 
     *
     * @return $this
     */
    public function setFirstLastEmailTabsEnabled($first_last_email_tabs_enabled)
    {
        $this->container['first_last_email_tabs_enabled'] = $first_last_email_tabs_enabled;

        return $this;
    }

    /**
     * Gets first_last_email_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getFirstLastEmailTabsMetadata()
    {
        return $this->container['first_last_email_tabs_metadata'];
    }

    /**
     * Sets first_last_email_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $first_last_email_tabs_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setFirstLastEmailTabsMetadata($first_last_email_tabs_metadata)
    {
        $this->container['first_last_email_tabs_metadata'] = $first_last_email_tabs_metadata;

        return $this;
    }

    /**
     * Gets list_tabs_enabled
     *
     * @return ?string
     */
    public function getListTabsEnabled()
    {
        return $this->container['list_tabs_enabled'];
    }

    /**
     * Sets list_tabs_enabled
     *
     * @param ?string $list_tabs_enabled 
     *
     * @return $this
     */
    public function setListTabsEnabled($list_tabs_enabled)
    {
        $this->container['list_tabs_enabled'] = $list_tabs_enabled;

        return $this;
    }

    /**
     * Gets list_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getListTabsMetadata()
    {
        return $this->container['list_tabs_metadata'];
    }

    /**
     * Sets list_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $list_tabs_metadata Metadata that indicates whether the `listTabs` property is editable.
     *
     * @return $this
     */
    public function setListTabsMetadata($list_tabs_metadata)
    {
        $this->container['list_tabs_metadata'] = $list_tabs_metadata;

        return $this;
    }

    /**
     * Gets note_tabs_enabled
     *
     * @return ?string
     */
    public function getNoteTabsEnabled()
    {
        return $this->container['note_tabs_enabled'];
    }

    /**
     * Sets note_tabs_enabled
     *
     * @param ?string $note_tabs_enabled 
     *
     * @return $this
     */
    public function setNoteTabsEnabled($note_tabs_enabled)
    {
        $this->container['note_tabs_enabled'] = $note_tabs_enabled;

        return $this;
    }

    /**
     * Gets note_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getNoteTabsMetadata()
    {
        return $this->container['note_tabs_metadata'];
    }

    /**
     * Sets note_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $note_tabs_metadata Metadata that indicates whether the `noteTabs` property is editable.
     *
     * @return $this
     */
    public function setNoteTabsMetadata($note_tabs_metadata)
    {
        $this->container['note_tabs_metadata'] = $note_tabs_metadata;

        return $this;
    }

    /**
     * Gets numerical_tabs_enabled
     *
     * @return ?string
     */
    public function getNumericalTabsEnabled()
    {
        return $this->container['numerical_tabs_enabled'];
    }

    /**
     * Sets numerical_tabs_enabled
     *
     * @param ?string $numerical_tabs_enabled 
     *
     * @return $this
     */
    public function setNumericalTabsEnabled($numerical_tabs_enabled)
    {
        $this->container['numerical_tabs_enabled'] = $numerical_tabs_enabled;

        return $this;
    }

    /**
     * Gets numerical_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getNumericalTabsMetadata()
    {
        return $this->container['numerical_tabs_metadata'];
    }

    /**
     * Sets numerical_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $numerical_tabs_metadata 
     *
     * @return $this
     */
    public function setNumericalTabsMetadata($numerical_tabs_metadata)
    {
        $this->container['numerical_tabs_metadata'] = $numerical_tabs_metadata;

        return $this;
    }

    /**
     * Gets prefill_tabs_enabled
     *
     * @return ?string
     */
    public function getPrefillTabsEnabled()
    {
        return $this->container['prefill_tabs_enabled'];
    }

    /**
     * Sets prefill_tabs_enabled
     *
     * @param ?string $prefill_tabs_enabled 
     *
     * @return $this
     */
    public function setPrefillTabsEnabled($prefill_tabs_enabled)
    {
        $this->container['prefill_tabs_enabled'] = $prefill_tabs_enabled;

        return $this;
    }

    /**
     * Gets prefill_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getPrefillTabsMetadata()
    {
        return $this->container['prefill_tabs_metadata'];
    }

    /**
     * Sets prefill_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $prefill_tabs_metadata 
     *
     * @return $this
     */
    public function setPrefillTabsMetadata($prefill_tabs_metadata)
    {
        $this->container['prefill_tabs_metadata'] = $prefill_tabs_metadata;

        return $this;
    }

    /**
     * Gets radio_tabs_enabled
     *
     * @return ?string
     */
    public function getRadioTabsEnabled()
    {
        return $this->container['radio_tabs_enabled'];
    }

    /**
     * Sets radio_tabs_enabled
     *
     * @param ?string $radio_tabs_enabled 
     *
     * @return $this
     */
    public function setRadioTabsEnabled($radio_tabs_enabled)
    {
        $this->container['radio_tabs_enabled'] = $radio_tabs_enabled;

        return $this;
    }

    /**
     * Gets radio_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getRadioTabsMetadata()
    {
        return $this->container['radio_tabs_metadata'];
    }

    /**
     * Sets radio_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $radio_tabs_metadata Metadata that indicates whether the `radioTabs` property is editable.
     *
     * @return $this
     */
    public function setRadioTabsMetadata($radio_tabs_metadata)
    {
        $this->container['radio_tabs_metadata'] = $radio_tabs_metadata;

        return $this;
    }

    /**
     * Gets saving_custom_tabs_enabled
     *
     * @return ?string
     */
    public function getSavingCustomTabsEnabled()
    {
        return $this->container['saving_custom_tabs_enabled'];
    }

    /**
     * Sets saving_custom_tabs_enabled
     *
     * @param ?string $saving_custom_tabs_enabled 
     *
     * @return $this
     */
    public function setSavingCustomTabsEnabled($saving_custom_tabs_enabled)
    {
        $this->container['saving_custom_tabs_enabled'] = $saving_custom_tabs_enabled;

        return $this;
    }

    /**
     * Gets saving_custom_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getSavingCustomTabsMetadata()
    {
        return $this->container['saving_custom_tabs_metadata'];
    }

    /**
     * Sets saving_custom_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $saving_custom_tabs_metadata Metadata that indicates whether the `savingCustomTabs` property is editable.
     *
     * @return $this
     */
    public function setSavingCustomTabsMetadata($saving_custom_tabs_metadata)
    {
        $this->container['saving_custom_tabs_metadata'] = $saving_custom_tabs_metadata;

        return $this;
    }

    /**
     * Gets sender_to_change_tab_assignments_enabled
     *
     * @return ?string
     */
    public function getSenderToChangeTabAssignmentsEnabled()
    {
        return $this->container['sender_to_change_tab_assignments_enabled'];
    }

    /**
     * Sets sender_to_change_tab_assignments_enabled
     *
     * @param ?string $sender_to_change_tab_assignments_enabled 
     *
     * @return $this
     */
    public function setSenderToChangeTabAssignmentsEnabled($sender_to_change_tab_assignments_enabled)
    {
        $this->container['sender_to_change_tab_assignments_enabled'] = $sender_to_change_tab_assignments_enabled;

        return $this;
    }

    /**
     * Gets sender_to_change_tab_assignments_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getSenderToChangeTabAssignmentsMetadata()
    {
        return $this->container['sender_to_change_tab_assignments_metadata'];
    }

    /**
     * Sets sender_to_change_tab_assignments_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $sender_to_change_tab_assignments_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setSenderToChangeTabAssignmentsMetadata($sender_to_change_tab_assignments_metadata)
    {
        $this->container['sender_to_change_tab_assignments_metadata'] = $sender_to_change_tab_assignments_metadata;

        return $this;
    }

    /**
     * Gets shared_custom_tabs_enabled
     *
     * @return ?string
     */
    public function getSharedCustomTabsEnabled()
    {
        return $this->container['shared_custom_tabs_enabled'];
    }

    /**
     * Sets shared_custom_tabs_enabled
     *
     * @param ?string $shared_custom_tabs_enabled 
     *
     * @return $this
     */
    public function setSharedCustomTabsEnabled($shared_custom_tabs_enabled)
    {
        $this->container['shared_custom_tabs_enabled'] = $shared_custom_tabs_enabled;

        return $this;
    }

    /**
     * Gets shared_custom_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getSharedCustomTabsMetadata()
    {
        return $this->container['shared_custom_tabs_metadata'];
    }

    /**
     * Sets shared_custom_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $shared_custom_tabs_metadata Metadata that indicates whether the `sharedCustomTabs` property is editable.
     *
     * @return $this
     */
    public function setSharedCustomTabsMetadata($shared_custom_tabs_metadata)
    {
        $this->container['shared_custom_tabs_metadata'] = $shared_custom_tabs_metadata;

        return $this;
    }

    /**
     * Gets tab_data_label_enabled
     *
     * @return ?string
     */
    public function getTabDataLabelEnabled()
    {
        return $this->container['tab_data_label_enabled'];
    }

    /**
     * Sets tab_data_label_enabled
     *
     * @param ?string $tab_data_label_enabled 
     *
     * @return $this
     */
    public function setTabDataLabelEnabled($tab_data_label_enabled)
    {
        $this->container['tab_data_label_enabled'] = $tab_data_label_enabled;

        return $this;
    }

    /**
     * Gets tab_data_label_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTabDataLabelMetadata()
    {
        return $this->container['tab_data_label_metadata'];
    }

    /**
     * Sets tab_data_label_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $tab_data_label_metadata Metadata that indicates whether the `tabDataLabel` property is editable.
     *
     * @return $this
     */
    public function setTabDataLabelMetadata($tab_data_label_metadata)
    {
        $this->container['tab_data_label_metadata'] = $tab_data_label_metadata;

        return $this;
    }

    /**
     * Gets tab_location_enabled
     *
     * @return ?string
     */
    public function getTabLocationEnabled()
    {
        return $this->container['tab_location_enabled'];
    }

    /**
     * Sets tab_location_enabled
     *
     * @param ?string $tab_location_enabled 
     *
     * @return $this
     */
    public function setTabLocationEnabled($tab_location_enabled)
    {
        $this->container['tab_location_enabled'] = $tab_location_enabled;

        return $this;
    }

    /**
     * Gets tab_location_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTabLocationMetadata()
    {
        return $this->container['tab_location_metadata'];
    }

    /**
     * Sets tab_location_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $tab_location_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setTabLocationMetadata($tab_location_metadata)
    {
        $this->container['tab_location_metadata'] = $tab_location_metadata;

        return $this;
    }

    /**
     * Gets tab_locking_enabled
     *
     * @return ?string
     */
    public function getTabLockingEnabled()
    {
        return $this->container['tab_locking_enabled'];
    }

    /**
     * Sets tab_locking_enabled
     *
     * @param ?string $tab_locking_enabled 
     *
     * @return $this
     */
    public function setTabLockingEnabled($tab_locking_enabled)
    {
        $this->container['tab_locking_enabled'] = $tab_locking_enabled;

        return $this;
    }

    /**
     * Gets tab_locking_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTabLockingMetadata()
    {
        return $this->container['tab_locking_metadata'];
    }

    /**
     * Sets tab_locking_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $tab_locking_metadata Metadata that indicates whether the `tabLocking` property is editable.
     *
     * @return $this
     */
    public function setTabLockingMetadata($tab_locking_metadata)
    {
        $this->container['tab_locking_metadata'] = $tab_locking_metadata;

        return $this;
    }

    /**
     * Gets tab_scale_enabled
     *
     * @return ?string
     */
    public function getTabScaleEnabled()
    {
        return $this->container['tab_scale_enabled'];
    }

    /**
     * Sets tab_scale_enabled
     *
     * @param ?string $tab_scale_enabled 
     *
     * @return $this
     */
    public function setTabScaleEnabled($tab_scale_enabled)
    {
        $this->container['tab_scale_enabled'] = $tab_scale_enabled;

        return $this;
    }

    /**
     * Gets tab_scale_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTabScaleMetadata()
    {
        return $this->container['tab_scale_metadata'];
    }

    /**
     * Sets tab_scale_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $tab_scale_metadata Reserved for DocuSign.
     *
     * @return $this
     */
    public function setTabScaleMetadata($tab_scale_metadata)
    {
        $this->container['tab_scale_metadata'] = $tab_scale_metadata;

        return $this;
    }

    /**
     * Gets tab_text_formatting_enabled
     *
     * @return ?string
     */
    public function getTabTextFormattingEnabled()
    {
        return $this->container['tab_text_formatting_enabled'];
    }

    /**
     * Sets tab_text_formatting_enabled
     *
     * @param ?string $tab_text_formatting_enabled 
     *
     * @return $this
     */
    public function setTabTextFormattingEnabled($tab_text_formatting_enabled)
    {
        $this->container['tab_text_formatting_enabled'] = $tab_text_formatting_enabled;

        return $this;
    }

    /**
     * Gets tab_text_formatting_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTabTextFormattingMetadata()
    {
        return $this->container['tab_text_formatting_metadata'];
    }

    /**
     * Sets tab_text_formatting_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $tab_text_formatting_metadata Metadata that indicates whether the `tabTextFormatting` property is editable.
     *
     * @return $this
     */
    public function setTabTextFormattingMetadata($tab_text_formatting_metadata)
    {
        $this->container['tab_text_formatting_metadata'] = $tab_text_formatting_metadata;

        return $this;
    }

    /**
     * Gets text_tabs_enabled
     *
     * @return ?string
     */
    public function getTextTabsEnabled()
    {
        return $this->container['text_tabs_enabled'];
    }

    /**
     * Sets text_tabs_enabled
     *
     * @param ?string $text_tabs_enabled 
     *
     * @return $this
     */
    public function setTextTabsEnabled($text_tabs_enabled)
    {
        $this->container['text_tabs_enabled'] = $text_tabs_enabled;

        return $this;
    }

    /**
     * Gets text_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getTextTabsMetadata()
    {
        return $this->container['text_tabs_metadata'];
    }

    /**
     * Sets text_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $text_tabs_metadata Metadata that indicates whether the `textTabs` property is editable.
     *
     * @return $this
     */
    public function setTextTabsMetadata($text_tabs_metadata)
    {
        $this->container['text_tabs_metadata'] = $text_tabs_metadata;

        return $this;
    }

    /**
     * Gets uri_tabs_enabled
     *
     * @return ?string
     */
    public function getUriTabsEnabled()
    {
        return $this->container['uri_tabs_enabled'];
    }

    /**
     * Sets uri_tabs_enabled
     *
     * @param ?string $uri_tabs_enabled 
     *
     * @return $this
     */
    public function setUriTabsEnabled($uri_tabs_enabled)
    {
        $this->container['uri_tabs_enabled'] = $uri_tabs_enabled;

        return $this;
    }

    /**
     * Gets uri_tabs_metadata
     *
     * @return \DocuSign\eSign\Model\SettingsMetadata
     */
    public function getUriTabsMetadata()
    {
        return $this->container['uri_tabs_metadata'];
    }

    /**
     * Sets uri_tabs_metadata
     *
     * @param \DocuSign\eSign\Model\SettingsMetadata $uri_tabs_metadata 
     *
     * @return $this
     */
    public function setUriTabsMetadata($uri_tabs_metadata)
    {
        $this->container['uri_tabs_metadata'] = $uri_tabs_metadata;

        return $this;
    }
    /**
     * Returns true if offset exists. False otherwise.
     *
     * @param integer $offset Offset
     *
     * @return boolean
     */
    #[\ReturnTypeWillChange]
    public function offsetExists($offset)
    {
        return isset($this->container[$offset]);
    }

    /**
     * Gets offset.
     *
     * @param integer $offset Offset
     *
     * @return mixed
     */
    #[\ReturnTypeWillChange]
    public function offsetGet($offset)
    {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }

    /**
     * Sets value based on offset.
     *
     * @param integer $offset Offset
     * @param mixed   $value  Value to be set
     *
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetSet($offset, $value)
    {
        if (is_null($offset)) {
            $this->container[] = $value;
        } else {
            $this->container[$offset] = $value;
        }
    }

    /**
     * Unsets offset.
     *
     * @param integer $offset Offset
     *
     * @return void
     */
    #[\ReturnTypeWillChange]
    public function offsetUnset($offset)
    {
        unset($this->container[$offset]);
    }

    /**
     * Gets the string presentation of the object
     *
     * @return string
     */
    public function __toString()
    {
        if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
            return json_encode(
                ObjectSerializer::sanitizeForSerialization($this),
                JSON_PRETTY_PRINT
            );
        }

        return json_encode(ObjectSerializer::sanitizeForSerialization($this));
    }
}

