<?php

/**
 * JCOGS Image Pro - LicenseRuntimeRepositoryInterface
 * ===================================================
 * Interface contract for shared CP license runtime persistence.
 *
 * @category   ExpressionEngine Add-on
 * @package    JCOGS Image Pro
 * @author     JCOGS Design <contact@jcogs.net>
 * @copyright  Copyright (c) 2021 - 2026 JCOGS Design
 * @license    https://jcogs.net/add-ons/license/jcogs_img_pro
 * @version    2.0.6
 * @link       https://jcogs.net/
 * @since      2.0.0
 */

namespace JCOGSDesign\JCOGSImagePro\Service\License;

interface LicenseRuntimeRepositoryInterface
{
    public function ensureSchema(): void;

    public function findForAddon(int $siteId, string $addonShortName): ?array;

    public function seedIfMissing(int $siteId, string $addonShortName, int $now): void;

    public function updateStatus(
        int $siteId,
        string $addonShortName,
        string $status,
        int $checkedAt,
        ?int $graceEndsAt,
        ?int $firstRestrictedAt = null
    ): void;
}
