Citation: 2C_116/2018 E. 6

En définitive, le recours en matière de droit public doit être admis, dans la mesure où il est recevable, et l'arrêt du Tribunal cantonal du 20 décembre 2017 annulé. La cause est renvoyée à cette autorité pour instruction complémentaire des faits et nouvelle décision dans le sens des considérants (cf. art. 107 al. 2 LTF). Il n'est pas perçu de frais judiciaires (art. 66 al. 1 et 4 LTF). La recourante, qui obtient gain de cause avec l'assistance d'une mandataire professionnelle, a droit à des dépens, à la charge du canton de Fribourg (art. 68 al. 1 LTF). Cela rend la demande d'assistance judiciaire sans objet. Par ces motifs, le Tribunal fédéral prononce :