We've basically got a 1 year window. One way or another, we are going to lose some seriously talented players by this time next year.
I personally am a fan of the "hang around and contend, hope to catch lightning in a bottle" approach that the Cowboys have been taking, because in a sport filled with injuries and single-elimination playoff games, it really is down to luck more than anything (unless you're the Patriots). There are times when it's appropriate to go all-in, like what the Saints and Rams are doing now, but the Saints showed exactly what is wrong with that strategy; their contender got eliminated from the playoffs with a single bogus PI call.
Basically, if you keep drafting well and sign good contracts, I think the rest sorts itself out. Our problem though is that we almost drafted too well and now have too many mouths to feed, and a couple of our star defenders like Jaylon, D-Law and Byron were late bloomers who didn't give us maximum value on their rookie deals. If they had all become stars in say 2016, we would have had 4 straight seasons with a championship caliber defense and good enough offense to make runs in the NFC. As it is, they didn't break out until 2018 and really only gave us a 2 year window. That's not to say they were bad picks, I'll take Pro Bowl defenders however I can get them, but the key to winning in the NFL is to exploit the value difference between rookie deals and second contract / free agent deals and we didn't get that value for long enough to really be a contender.
So what's going to happen is we're going to have a talent exodus in 2020, fire Garrett, hang around in the 7 to 9 win range for a bit, and then go on another run once we either hit on more underpriced talent or we find a better coach than JG. If our drafting slips, then I think we could see this roster built on draft-and-develop start decaying pretty quickly, and we could end up spending some more Campo years lost in the woods.