# typedef TypeDefinition

#### package haxe.macro

#### import haxe.macro.Expr

Available on all platforms

Represents a type definition.

### Properties

###

`fields:Array<Field>`

The fields of the type definition.

###

`isExtern:Null<Bool>`

Whether or not the type is extern.

###

`kind:TypeDefKind`

The kind of the type definition.

###

`meta:Null<Metadata>`

The optional metadata of the type definition.

###

`name:String`

The name of the type definition.

###

`pack:Array<String>`

The package of the type definition.

###

`params:Null<Array<TypeParamDecl>>`

The parameter type declarations of the type definition.

###

`pos:Position`

The position to the type definition.