Ты как объявил?
и присваиваешь сразу по умолчанию ему массив. А PlacesbeerViewProps['places'] это что за тип? PlacesbeerQuery. То есть это Объект. Не массив объектов, а именно объект. А ты присваиваешь пустой массив. Конечно он будет ругаться. Он тебе и выдает: Property 'mapPlacesConnection' is missing in type 'never[]' but required in type 'PlacesbeerQuery'
То есть в объекте PlacesbeerQuery есть обязательное свойство - mapPlacesConnection, которое ты не передаешь (его нет в объекте Массив).
Тебе нужно было как минимум вот так:
Но и тут у тебя не все ОК. У тебя уже в респонс прилетает PlacesbeerQuery, но ты пытаешься еще создать массив places, опять-таки из этих PlacesbeerQuery. То есть по сути из одного PlacesbeerQuery ты хочешь получить массив PlacesbeerQuery. Не логично, правда? А на самом деле PlacesbeerQuery у тебя содержит edges: node[]. То есть тебе надо выдернуть именно конечные ноды и набить их в массив places. Но ты не сможешь просто так тип массиву places задать, потому что у тебя GraphQL-запрос написан одной портянкой без разбива на фрагменты. Обрати внимание как это сделано у меня: вот есть фрагмент company, и вот здесь я его использую в запросе. Такие фрагменты генератор кода выносит в отдельные типы с суффиксом Fragment. К примеру вот CompanyFragment. Вот это уже позволяет использовать тип самого объекта компании: https://github.com/Pivkarta/pivkarta.ru-2/blob/c9a23e5d77f9c54dcd915760145ba7e211d150cc/src/pages/Companies/Company/interfaces.ts#L5
А тебе в твоем случае не за чем вообще набивать массив заведений, а просто можно перечислить полученный результат (там типы итак будут поняты). Но если ты хочешь писать внутренние компоненты и четко указывать что на вход должно прийти, то обязательно надо разбить на фрагменты (только нельзя иметь два фрагмента с одним и тем же именем).