<?php
declare(strict_types=1);

namespace App\Repositories;

interface ScheduleRepository
{
    /** Weekly recurring template rows for a given artist. */
    public function weeklyForArtist(string $artistId): array;
    /** Date exceptions for a given artist on a given date (YYYY-MM-DD). */
    public function exceptionsForArtistOnDate(string $artistId, string $date): array;
    /** All exceptions in [startDate, endDate] inclusive. */
    public function exceptionsForArtistInRange(string $artistId, string $startDate, string $endDate): array;

    public function replaceWeekly(string $artistId, array $rows): void;
    public function addException(array $exception): array;
    public function deleteException(string $id): void;
}
