Type aliases provide alternative names for existing types. […] It’s useful to shorten long generic types
Source: https://kotlinlang.org/docs/reference/type-aliases.html
Just as its name implies, they are aliases you can use to refer to a type.
For example, this two pieces of code are equivalent:
fun isValid(predicate: (String) -> Boolean) {
TODO("Something")
}
typealias Predicate = (String) -> Boolean
fun isValid(predicate: Predicate) {
TODO("Something")
}