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.
For example, the declaration for a calculator component might specify the following information:
- The location of the calculator program within its package.
- The name of the runner used to run the program.
- A request for persistent storage to save the contents of the calculator's accumulator across restarts.
- A request to use capabilities to present a user interface.
- A request to expose capabilities to allow other components to access the calculator's accumulator register using inter-process communication.