Defining types with reverse edges

Suppose one wishes to define a type entry for a literal with a reverse edge listed in a schema as follows:

<edge_name>: [uid] @reverse .

would the corresponding entry in the type be:

type Node
{
.
.
<edge_name>:[Node]
.
.
}

and so on? Or, does the reverse edge need to be declared in the type as well?

One may define reverse edges in the type as:

type Node {
    <~edge_name>: [Node]
}

It makes expand(_all_) in queries expand the predicate.