Елена, нет. Зачем брать тс, чтобы не использовать его? Типизируй конкретным интерфейсом и либо делай все поля опшинал, либо как я написал выше: MyContextType | undefined.
Андрей, ну, запретов на нейминг никаких нет, есть лишь рекомендации. В данном случае вообще вопрос лишь в том, чтобы названия типов были осмысленны.
И да, в данном конкретном случае наследовать интерфейс наоборот сомнительная идея, потому что он принципиально отличается от класса и, фактически, они связаны только конструктором. То есть добавление новых свойств в интерфейс повлечёт необходимость добавления их в сам класс, даже если там это свойство будет не нужно. А если тебе ещё и обработать как-то входные данные в конструкторе надо будет, то там и нейминг свойств может быть другой.
В общем, в данном случае то, что на данный момент имена свойств и их количество совпадают с тем, что в классе, это скорее совпадение, нежели правило.
Андрей, создавать отдельный интерфейс со всеми свойствами и методами класса имеет мало смысла, а в твоём случае это вообще 2 разных типа и поэтому они не могут иметь одно и то же название.
Алексей, вообще-то как раз преттиер и говорит еслинту как работать с форматтированием, а не наоборот.
Преттиер имеет на пару порядков меньше настроек, чем линтер как бы.
И я не припоминаю у преттиера возможности игнорировать в конкретном месте лишние отступы.