declare module '@ember/component' { /** @module @ember/component @public */ export { setComponentTemplate, getComponentTemplate } from '@glimmer/manager'; export { Component as default, Input, Textarea } from '@ember/-internals/glimmer'; export { componentCapabilities as capabilities, setComponentManager, } from '@ember/-internals/glimmer'; /** * Assigns a TemplateFactory to a component class. * * @method setComponentTemplate * @static * @for @ember/component * @public * * ```js * import Component from '@glimmer/component'; * import { hbs } from 'ember-cli-htmlbars'; * import { setComponentTemplate } from '@ember/component'; * * export default class Demo extends Component { * // ... * } * * setComponentTemplate(hbs` *
my template
* `, Demo); * ``` * * @param {TemplateFactory} templateFactory * @param {object} componentDefinition */ /** * Returns the TemplateFactory associated with a component * * @method getComponentTemplate * @static * @for @ember/component * @public * * ```js * import Component from '@glimmer/component'; * import { hbs } from 'ember-cli-htmlbars'; * import { getComponentTemplate } from '@ember/component'; * * export default class Demo extends Component { * // ... * } * * let theTemplateFactory = getTemplateFactory(Demo) * ``` * * @param {object} componentDefinition * @returns {TemplateFactory} */ /** * Tell the VM how manage a type of object / class when encountered * via component-invocation. * * A Component Manager, must implement this interface: * - static create() * - createComponent() * - updateComponent() * - destroyComponent() * - getContext() * * @method setComponentManager * @static * @for @ember/component * @public * * * After a component manager is registered via `setComponentManager`, * * ```js * import { StateNode } from 'xstate'; * import ComponentManager from './-private/statechart-manager'; * * setComponentManager((owner) => ComponentManager.create(owner), StateNode.prototype); * ``` * * Instances of the class can be used as component. * No need to extend from `@glimmer/component`. * * ```js * // app/components/my-component.js * import { createMachine } from 'xstate'; * * export default createMachine({ ... }); * ``` * ```hbs * {{!-- app/templates/application.hbs}} * * ``` * * @param {(owner: Owner) => import('@glimmer/interfaces').ComponentManager} managerFactory * @param {object} object that will be managed by the return value of `managerFactory` * */ /** * Tells Glimmer what capabilities a Component Manager will have * * ```js * import { capabilities } from '@ember/component'; * * export class MyComponentManager { * capabilities = capabilities('3.13', { * // capabilities listed here * }) * } * ``` * * * For a full list of capabilities, their defaults, and how they are used, see [@glimmer/manager](https://github.com/glimmerjs/glimmer-vm/blob/4f1bef0d9a8a3c3ebd934c5b6e09de4c5f6e4468/packages/%40glimmer/manager/lib/public/component.ts#L26) * * * @method capabilities * @static * @for @ember/component * @public * @param {'3.13'} managerApiVersion * @param {Parameters[1]} options * */ }