<?php

namespace FiloBlu\Flow\Api;

use Exception;
use Magento\Framework\Model\AbstractModel;

/**
 * Interface SwatchInterface
 * @package FiloBlu\Flow\Api
 */
interface SwatchInterface
{

    /**
     * @return int|mixed
     */
    public function getId();

    /**
     * @param mixed $id
     * @return AbstractModel|mixed
     */
    public function setId($id);

    /**
     * @return mixed
     */
    public function getName();

    /**
     * @param $name
     * @return mixed
     */
    public function setName($name);

    /**
     * @return mixed
     */
    public function getAttribute();

    /**
     * @param $attribute
     * @return mixed
     */
    public function setAttribute($attribute);

    /**
     * @return mixed
     */
    public function getOptionName();

    /**
     * @param $optionName
     * @return mixed
     */
    public function setOptionName($optionName);

    /**
     * @return mixed
     */
    public function getOptionId();

    /**
     * @param $optionId
     * @return mixed
     */
    public function setOptionId($optionId);

    /**
     * @return mixed
     */
    public function getType();

    /**
     * @param $type
     * @return mixed
     */
    public function setType($type);

    /**
     * @return mixed
     */
    public function getPath();

    /**
     * @param $path
     * @return mixed
     */
    public function setPath($path);

    /**
     * @return mixed
     */
    public function getStatus();

    /**
     * @param $status
     * @return mixed
     */
    public function setStatus($status);

    /**
     * @return mixed
     */
    public function getLog();

    /**
     * @param $log
     * @return mixed
     */
    public function setLog($log);

    /**
     * @return mixed
     */
    public function getMetaFile();

    /**
     * @param $file
     * @return mixed
     */
    public function setMetaFile($file);

    /**
     * @return mixed
     */
    public function getMetaInsertTime();

    /**
     * @param $time
     * @return mixed
     */
    public function setMetaInsertTime($time);

    /**
     * @return mixed
     */
    public function getMetaProcessed();

    /**
     * @param $meta_processed
     * @return mixed
     */
    public function setMetaProcessed($meta_processed);
}
