<?php

namespace Lc\CaracoleBundle\Model\Order;


use Lc\CaracoleBundle\Model\File\DocumentInterface;
use Lc\SovBundle\Model\User\UserInterface;

interface OrderRefundInterface
{
    public function getCreatedBy(): ?UserInterface;

    public function setCreatedBy(?UserInterface $createdBy);

    public function getUpdatedBy(): ?UserInterface;

    public function setUpdatedBy(?UserInterface $updatedBy);

    public function getDevAlias(): ?string;

    public function setDevAlias(?string $devAlias);

    public function getOrderShop(): ?OrderShopInterface;

    public function setOrderShop(?OrderShopInterface $orderShop): OrderRefundInterface;

    public function setEditable(bool $editable): OrderRefundInterface;

    public function getEditable(): ?bool;

    public function isEditable(): ?bool;

    public function getDeliveryRefundAmount(): ?float;

    public function setDeliveryRefundAmount(?float $deliveryRefundAmount
    ): OrderRefundInterface;

    public function getDocument(): ?DocumentInterface;

    public function setDocument(DocumentInterface $document): OrderRefundInterface;

    public function setMeanPayment(?string $meanPayment);

    public function getMeanPayment(): ?string;

    public function getReference(): ?string;

    public function setReference(?string $reference);

    public function getPaidAt(): ?\DateTimeInterface;

    public function setPaidAt(?\DateTimeInterface $paidAt);

    public function getAmount(): ?float;

    public function setAmount(float $amount);

    public function getComment(): ?string;

    public function setComment(?string $comment);

    public function getCreatedAt(): ?\DateTimeInterface;

    public function setCreatedAt(\DateTimeInterface $createdAt);

    public function getUpdatedAt(): ?\DateTimeInterface;

    public function setUpdatedAt(\DateTimeInterface $updatedAt);
}