---
id: fast-element.fastelementdefinition
title: FASTElementDefinition class
hide_title: true
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[@microsoft/fast-element](./fast-element.md) &gt; [FASTElementDefinition](./fast-element.fastelementdefinition.md)

## FASTElementDefinition class

Defines metadata for a FASTElement.

<b>Signature:</b>

```typescript
export declare class FASTElementDefinition<TType extends Function = Function> 
```

## Constructors

|  Constructor | Modifiers | Description |
|  --- | --- | --- |
|  [(constructor)(type, nameOrConfig)](./fast-element.fastelementdefinition._constructor_.md) |  | Creates an instance of FASTElementDefinition. |

## Properties

|  Property | Modifiers | Type | Description |
|  --- | --- | --- | --- |
|  [attributeLookup](./fast-element.fastelementdefinition.attributelookup.md) |  | Record&lt;string, [AttributeDefinition](./fast-element.attributedefinition.md)<!-- -->&gt; | A map enabling lookup of property by associated attribute name. |
|  [attributes](./fast-element.fastelementdefinition.attributes.md) |  | ReadonlyArray&lt;[AttributeDefinition](./fast-element.attributedefinition.md)<!-- -->&gt; | The custom attributes of the custom element. |
|  [elementOptions](./fast-element.fastelementdefinition.elementoptions.md) |  | ElementDefinitionOptions | Options controlling how the custom element is defined with the platform. |
|  [forType](./fast-element.fastelementdefinition.fortype.md) | <code>static</code> | &lt;TType\_1 extends Function&gt;(key: TType\_1) =&gt; [FASTElementDefinition](./fast-element.fastelementdefinition.md)<!-- -->&lt;Function&gt; \| undefined | Gets the element definition associated with the specified type. |
|  [isDefined](./fast-element.fastelementdefinition.isdefined.md) |  | boolean | Indicates if this element has been defined in at least one registry. |
|  [name](./fast-element.fastelementdefinition.name.md) |  | string | The name of the custom element. |
|  [propertyLookup](./fast-element.fastelementdefinition.propertylookup.md) |  | Record&lt;string, [AttributeDefinition](./fast-element.attributedefinition.md)<!-- -->&gt; | A map enabling lookup of attribute by associated property name. |
|  [shadowOptions](./fast-element.fastelementdefinition.shadowoptions.md) |  | ShadowRootInit | Options controlling the creation of the custom element's shadow DOM. |
|  [styles](./fast-element.fastelementdefinition.styles.md) |  | [ElementStyles](./fast-element.elementstyles.md) | The styles to associate with the custom element. |
|  [template](./fast-element.fastelementdefinition.template.md) |  | [ElementViewTemplate](./fast-element.elementviewtemplate.md) | The template to render for the custom element. |
|  [type](./fast-element.fastelementdefinition.type.md) |  | TType | The type this element definition describes. |

## Methods

|  Method | Modifiers | Description |
|  --- | --- | --- |
|  [define(registry)](./fast-element.fastelementdefinition.define.md) |  | Defines a custom element based on this definition. |
