# Component declarations (Components v2)

<<../_v2_banner.md>>

A component declaration describes what a component can do, the capabilities
it uses and exposes, its children, and other information needed to run the
component.

Every component has a declaration. For components that are distributed in
[packages][glossary-package], the declaration typically takes the form of
a [component manifest file][doc-component-manifests] that is located using a
[component URL][doc-component-urls].

Components can also be distributed in other forms such as web applications
with the help of a [resolver][doc-resolvers] to retrieve the component
declaration and a [runner][doc-runners] to run the component.

For example, the declaration for a calculator component might specify the
following information:

- The [location of the calculator program within its package][doc-component-manifests-program].
- The name of the [runner][doc-runners] used to run the program.
- A [request for persistent storage][doc-storage-capability] to save the
  contents of the calculator's accumulator across restarts.
- A request to [use capabilities][doc-component-manifests-use] to present
  a user interface.
- A request to [expose capabilities][doc-component-manifests-expose] to
  allow other components to access the calculator's accumulator register
  using inter-process communication.

[doc-component-urls]: /docs/concepts/components/component_urls.md
[doc-component-manifests]: /docs/concepts/components/v2/component_manifests.md
[doc-component-manifests-program]: /docs/concepts/components/v2/component_manifests.md#program
[doc-component-manifests-use]: /docs/concepts/components/v2/component_manifests.md#use
[doc-component-manifests-expose]: /docs/concepts/components/v2/component_manifests.md#expose
[doc-resolvers]: /docs/concepts/components/v2/resolvers.md
[doc-runners]: /docs/concepts/components/v2/runners.md
[doc-storage-capability]: /docs/concepts/components/v2/capabilities/storage.md
[glossary-package]: /docs/glossary.md#package
