Типы не могут быть устаревшими. Только поля и значения перечисления могут быть устаревшими. Это показано в определении директивы @deprecated
здесь :
directive @deprecated(
reason: String = "No longer supported"
) on FIELD_DEFINITION | ENUM_VALUE
и объяснено здесь (выделено мной):
Для поддержки управления обратной совместимостью поля GraphQL и перечислимые значения могут указывать, являются ли они устаревшими (isDeprecated: Boolean
), и описание причин, по которым они устарели (deprecationReason: String
).
Устаревание предназначено для указания клиенту прекратить запрашивать устаревшие элементы. Так как клиент не запрашивает определенный тип, только определенные поля, исключая тип, на самом деле не имеет смысла.