import ApplicationInstance from '@ember/application/instance'; import DomlessGlimmerComponent from 'ember-ecsy-babylon/components/domless-glimmer'; interface ComponentCapabilitiesVersions { '3.4': { asyncLifecycleCallbacks?: boolean; destructor?: boolean; }; '3.13': { asyncLifecycleCallbacks?: boolean; destructor?: boolean; updateHook?: boolean; }; } interface ComponentCapabilities { asyncLifeCycleCallbacks: boolean; destructor: boolean; updateHook: boolean; } export interface ComponentManagerArgs { named: { [index: string]: unknown; }; positional: unknown[]; } export interface Constructor { new (owner: unknown, args: {}): T; } interface DomlessGlimmerStateBucket { instance: DomlessGlimmerComponent; previousArgs: ComponentManagerArgs['named']; } export default class DomlessGlimmerComponentManager { static create(attrs: unknown): DomlessGlimmerComponentManager; capabilities: ComponentCapabilities; constructor(owner: ApplicationInstance); createComponent(ComponentClass: Constructor, args: ComponentManagerArgs): DomlessGlimmerStateBucket; updateComponent(bucket: DomlessGlimmerStateBucket, args: ComponentManagerArgs): void; destroyComponent(bucket: DomlessGlimmerStateBucket): void; getContext(bucket: DomlessGlimmerStateBucket): DomlessGlimmerComponent; } declare module '@ember/component' { function capabilities(version: '3.13' | '3.4', capabilities: Partial): ComponentCapabilities; } export {};