Does TypeScript allow type aliases?

alias, typescript

Solution

From version 1.4 Typescript supports type aliases (source).

Type Aliases

You can now define an alias for a type using the type keyword:

type PrimitiveArray = Array<string|number|boolean>;
type MyNumber = number;
type NgScope = ng.IScope;
type Callback = () => void;

Type aliases are exactly the same as their original types; they are simply alternative names.

And from version 1.6 Typescript supports generic type aliases (source).

Generic type aliases

Leading up to TypeScript 1.6, type aliases were restricted to being simple aliases that shortened long type names. Unfortunately, without being able to make these generic, they had limited use. We now allow type aliases to be generic, giving them full expressive capability.

type switcharoo<T, U> = (u: U, t:T)=>T;
var f: switcharoo<number, string>;
f("bob", 4);

Problem

So I wish I could use an alias to an ugly type that looks like this: ``` Maybe<Promise<Paged<Carrier>, Problem>>[] ``` Something like: ``` import Response = Maybe<Promise<Paged<Carrier>, Problem>>[]; ``` Is there a way to do type aliases in TypeScript?

Original source