---
lang: en
title: 'API docs: core.component'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/core
permalink: /doc/en/lb4/apidocs.core.component.html
---

<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@loopback/core](./core.md) &gt; [Component](./core.component.md)

## Component interface

A component declares a set of artifacts so that they can be contributed to an application as a group

**Signature:**

```typescript
export interface Component 
```

## Properties

|  Property | Modifiers | Type | Description |
|  --- | --- | --- | --- |
|  [bindings?](./core.component.bindings.md) |  | [Binding](./context.binding.md)<!-- -->\[\] | _(Optional)_ An array of bindings to be aded to the application context. |
|  [classes?](./core.component.classes.md) |  | [ClassMap](./core.classmap.md) | _(Optional)_ A map of classes to be bound to the application context. |
|  [controllers?](./core.component.controllers.md) |  | [ControllerClass](./core.controllerclass.md)<!-- -->\[\] | _(Optional)_ An array of controller classes |
|  [lifeCycleObservers?](./core.component.lifecycleobservers.md) |  | [Constructor](./context.constructor.md)<!-- -->&lt;[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;\[\] | _(Optional)_ |
|  [providers?](./core.component.providers.md) |  | [ProviderMap](./core.providermap.md) | _(Optional)_ A map of providers to be bound to the application context |
|  [servers?](./core.component.servers.md) |  | { \[name: string\]: [Constructor](./context.constructor.md)<!-- -->&lt;[Server](./core.server.md)<!-- -->&gt;; } | _(Optional)_ A map of name/class pairs for servers |
|  [services?](./core.component.services.md) |  | [ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->\[\] | _(Optional)_ An array of service or provider classes |


