JSON не является родным типом данных в PHP, это структурированная строка. Поэтому, если ваша функция возвращает JSON, вы возвращаете строку.
Так что function myFunction ($a) : string { }
будет правильным.
Если вы хотите подробнее описать возврат, вам следует использовать документы.
/**
* @return string $jsonString The returned string contains JSON
*/
function myFunction ($a) : string { }
То же самое относится и к сериализованным объектам в PHP. Сериализованный объект - это структурированная строка.