<?php

namespace Daylight\Core\Modules\Cart\Contracts;

use Daylight\Core\Models\Country;
use Illuminate\Support\Collection;

interface CalculatesShippingCosts
{
    public function calculateTotalShippingCost(): int;

    public function calculateTotalShippingTax(): ?Collection;

    public function shippingRules(): Collection;

    public function forCountry(Country $country): self;

    public function setShippingPostalCode(?string $postalCode): self;
}
