using Orleans;

namespace Managing.Application.Abstractions.Grains;

/// <summary>
/// Grain responsible for initializing bot reminders on application startup.
/// This grain ensures that only one instance runs the initialization process
/// even in multi-silo environments.
/// </summary>
public interface IBotReminderInitializerGrain : IGrainWithIntegerKey
{
    /// <summary>
    /// Initializes bot reminders by fetching all running bots and pinging them
    /// to ensure their reminders are properly registered.
    /// </summary>
    Task InitializeBotRemindersAsync();
}
