<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@empathyco/x-components](./x-components.md) &gt; [InstallXOptions](./x-components.installxoptions.md)

## InstallXOptions interface

Interface for the parameter of the constructor of [XInstaller](./x-components.xinstaller.md) function. It is an extended version of [XPluginOptions](./x-components.xpluginoptions.md)<!-- -->.

**Signature:**

```typescript
export interface InstallXOptions<API extends XAPI = XAPI> extends XPluginOptions 
```
**Extends:** [XPluginOptions](./x-components.xpluginoptions.md)

## Properties

<table><thead><tr><th>

Property


</th><th>

Modifiers


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[api?](./x-components.installxoptions.api.md)


</td><td>


</td><td>

API \| false


</td><td>

_(Optional)_ The API to expose globally. If is not passed the default [BaseXAPI](./x-components.basexapi.md) will be used. If a `false` value is passed then the API is not created.


</td></tr>
<tr><td>

[bus?](./x-components.installxoptions.bus.md)


</td><td>


</td><td>

[XBus](./x-components.xbus.md)<!-- -->&lt;[XEventsTypes](./x-components.xeventstypes.md)<!-- -->, [WireMetadata](./x-components.wiremetadata.md)<!-- -->&gt;


</td><td>

_(Optional)_ The XBus used in the [XPlugin](./x-components.xplugin.md)<!-- -->. If not passed an instance of The XPriorityBus will be used.


</td></tr>
<tr><td>

[domElement?](./x-components.installxoptions.domelement.md)


</td><td>


</td><td>

Element \| ShadowRoot \| string \| ((snippetConfig: [NormalisedSnippetConfig](./x-components.normalisedsnippetconfig.md)<!-- -->) =&gt; Element \| ShadowRoot \| string)


</td><td>

_(Optional)_ An Element \| string \| function to indicate the HTML element that will contain the Vue application. If it isn't passed, the [XInstaller](./x-components.xinstaller.md) will create the target element.


</td></tr>
<tr><td>

[installExtraPlugins?](./x-components.installxoptions.installextraplugins.md)


</td><td>


</td><td>

(options: [ExtraPluginsOptions](./x-components.extrapluginsoptions.md)<!-- -->) =&gt; void \| Promise&lt;void&gt;


</td><td>

_(Optional)_ Adds the option to install more Vue plugins, giving access to the [SnippetConfig](./x-components.snippetconfig.md) and the XBus.


</td></tr>
<tr><td>

[onCreateApp?](./x-components.installxoptions.oncreateapp.md)


</td><td>


</td><td>

(app: App) =&gt; void


</td><td>

_(Optional)_ Callback to invoke after instantiating the app.


</td></tr>
<tr><td>

[plugin?](./x-components.installxoptions.plugin.md)


</td><td>


</td><td>

Plugin&lt;[XPluginOptions](./x-components.xpluginoptions.md)<!-- -->&gt;


</td><td>

_(Optional)_ The XPlugin which will be installed. If not passed, an instance of [XPlugin](./x-components.xplugin.md) will be installed.


</td></tr>
<tr><td>

[rootComponent?](./x-components.installxoptions.rootcomponent.md)


</td><td>


</td><td>

Component


</td><td>

_(Optional)_ The Vue component used as root of the application. If it is not passed, no Vue Application is initialized, only plugin installed.


</td></tr>
</tbody></table>

