namespace NATS.Server.Raft;

/// <summary>
/// RAFT runtime configuration model aligned with Go's raftConfig shape.
/// Go reference: server/raft.go raftConfig (Name, Store, Log, Track, Observer,
/// Recovering, ScaleUp).
/// </summary>
public sealed class RaftConfig
{
    public string Name { get; set; } = string.Empty;

    // Store/log abstractions are intentionally loose until full WAL/store parity is wired.
    public object? Store { get; set; }
    public object? Log { get; set; }

    public bool Track { get; set; }
    public bool Observer { get; set; }
    public bool Recovering { get; set; }
    public bool ScaleUp { get; set; }
}
