<?php

declare(strict_types=1);

namespace Kylin\Parking\Facades;

use Illuminate\Support\Facades\Facade;
use Kylin\Parking\Models\MonthlyCard;
use Kylin\Parking\Models\ParkingRecord;

/**
 * KylinParking Facade
 *
 * @method static ParkingRecord vehicleEntry(array $data)
 * @method static array{record: ParkingRecord, fee: int, free: bool} vehicleExit(int $lotId, string $plateNo)
 * @method static int calculateFee(int $durationMinutes)
 * @method static MonthlyCard createMonthlyCard(array $data)
 * @method static MonthlyCard renewMonthlyCard(int $cardId, int $durationMonths)
 * @method static \Illuminate\Database\Eloquent\Collection<int, MonthlyCard> getExpiringSoonCards()
 * @method static array{records: int, cards: int} purgeByPlate(string $plateNo)
 */
class KylinParking extends Facade
{
    protected static function getFacadeAccessor(): string
    {
        return 'kylin-parking';
    }
}
