<?php

namespace App\Contracts;

use App\Models\AcademicYear;
use App\Models\SchoolHoliday;
use Illuminate\Database\Eloquent\Collection;

interface AcademicCalendarRepositoryInterface
{
    public function getAllAcademicYears(): Collection;
    public function getActiveAcademicYear(): ?AcademicYear;
    public function createAcademicYear(array $data): AcademicYear;
    public function getAllHolidays(): Collection;
    public function isHolidayOrWeekend(string $date): bool;
    public function createHoliday(array $data): SchoolHoliday;
    public function getAllEvents(): Collection;
    public function createEvent(array $data): \App\Models\AcademicEvent;
    public function deleteEvent(int $id): bool;
}
