<?php
/**
 * Canonical list of every cron hook the plugin (Free + Pro) ever registers.
 *
 * Single source of truth for teardown (deactivation, uninstall.php, the
 * Freemius after-uninstall path). Deliberately dependency-free (no WP calls
 * beyond the ABSPATH guard) so uninstall.php — which never loads the rest of
 * the plugin — can require this file directly.
 *
 * @package Brainwerk SEO Suite
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

class Seoforge_Cron_Hooks {

    /**
     * @return string[] Every hook name `wp_schedule_event()` is ever called
     *                   with, across Free and Pro (whether or not the Pro
     *                   modules are present in the current build).
     */
    public static function all() {
        return array(
            'seoforge_cleanup_visits',      // Seoforge_Activator::schedule_events()
            'seoforge_aggregate_sessions',  // Seoforge_Activator::schedule_events()
            'seoforge_history_capture',     // Seoforge_History::CRON_HOOK
            'seoforge_verify_daily',        // Seoforge_Verify::CRON_HOOK
            'seoforge_weekly_digest',       // Seoforge_Activator::schedule_events() / Seoforge_Notifications
            'seoforge_daily_digest',        // Seoforge_Activator::schedule_events() / Seoforge_Notifications
            'seoforge_linkcheck',           // legacy: dead cron removed in 0.7.6, clear any leftover.
            'seoforge_report_weekly',       // Seoforge_Reports::CRON_WEEKLY
            'seoforge_report_monthly',      // Seoforge_Reports::CRON_MONTHLY
            'seoforge_pro_geo_refresh',     // Seoforge_Pro_Geo (premium only)
            'seoforge_pro_sc_sync',         // Seoforge_Pro_Search_Console (premium only)
            'seoforge_pro_intel_push',      // Seoforge_Intel::CRON_HOOK
            'seoforge_intel_feed_pull',     // Seoforge_Intel_Client::CRON_HOOK
        );
    }
}
