<?php

namespace App\Libs\Contracts\Backoffice;

interface VersionableField
{

    /**
     * Gets the version structure
     *
     */
    public function getVersionStructure($model);

    /**
     * Determines dynamically based on configuration if field is versionable
     *
     */
    public function isVersionable();

    /**
     * Overrides model and language fields with the version ones
     *
     */
    public function loadVersion($model, $fields, $langFields);
}
