Start here. This is the direct spoken answer to practice first.
Overview
There is substantial overlap. The choice should make the contract clear and account for the capabilities that actually differ.
Both can describe object shapes and participate in structural typing. I often use an interface for an extendable public object contract and a type alias when I need a union, tuple, primitive alias, conditional type, or mapped composition. I follow a consistent team convention when either form expresses the model equally well.