Preheat the oven to 350°F and line a baking sheet with parchment paper.
Prepare the cookie dough. In a medium mixing bowl, stir together the flour, salt, baking powder, and baking soda. Set the bowl aside.
In a large bowl using an electric hand mixer or a stand mixer fitted with the paddle attachment, beat the butter and sugar at medium speed until light and fluffy.
Beat in the lemon zest, lemon juice, vanilla extract and lemon extract.
Add the eggs, one by one and beat until thoroughly combined. It may appear curdled.
Add the dry ingredients to the wet mixture and beat on low just until the dough comes together.
Pour the blueberries on top and use your hands to gently incorporate them into the dough.
Prepare the streusel by mixing together all streusel ingredients in a small bowl.
Roll the dough into 2" balls and roll the top and sides of each ball in the streusel.
Place on the prepared cookie sheet about 3" apart. It’s okay if some streusel falls off the cookies.
Bake the all-purpose version for 13-16 minutes and the gluten-free version for 16-20 minutes or until lightly browned.
Cool for 5 minutes on the cookie sheet and then remove to a wire rack to cool completely.
Prepare the glaze. In a small bowl, mix together the sugar, lemon juice, lemon zest, vanilla extract and salt.
Add additional lemon juice to reach desired consistency. Drizzle over the cooled cookies.
Store in an airtight container for up to 3 days or refrigerate for up to 5 days.