Олег, ты не представляешь как много всяческих подходов. В какой проект не зайдешь - у них там по-своему. Вот и получается, что в каждом проекте объявляются и действуют внутренние соглашения. То есть если ты свой проект будешь делать и для себя - делаешь там как хочешь. Я же делаю так, и если ты используешь этот проект и зовешь меня на ревью, то должен следовать моим соглашениям.
У меня же логика создания отдельных интерфейс-файлов такая же, как и для любых других сущностей: по возможности одна сущность - один файл. Так гораздо проще ориентироваться. Знаешь: зашел в файл, там сразу начинается с головы та сущность, которую ты ожидаешь.
Ты не думай, что все типы будут маленьгие по объему. К примеру, может быть и вот такой. И поверь, это еще не самый большой.