Как правило это либо данные из форм(их структура понятна и на них висит валидация) либо это апи сервисов, по которым тоже приходят документированные ответы на запрос
Сложно мне в режиме offline диалога расписывать, в общем идея в том, что если у тебя у функций и сервиса есть контракты, которые хочется выполнять, то их можно выразить в типах. Сложности тут решить как далеко заходить.