Я обычно объявляю тип записи, которая неэкспортирована, но поля в ней экспортированы. Переменные для чтения результатов запроса делаю локальными. Ну, получается, что тип записи скрыт от остальных модулей.