The default, and the only one every engine has. Ordered, so it serves equality, ranges, sorting and prefix matching alike.
Equality only, and smaller than a B-tree for that one job.
Generalised inverted index — arrays, JSONB, full-text.
Generalised search tree — geometric and range types.
Space-partitioned GiST: for data that divides into non-overlapping regions, such as points or text prefixes.
Block range index: small, for naturally ordered columns.
The index structure to build.
Which of these an engine offers varies: B-tree is universal, the rest are mostly PostgreSQL. Asking for one an engine lacks is reported by the dialect rather than silently ignored.