import { Arguments } from '../runtime'; import { Capabilities } from './capabilities'; export interface HelperCapabilitiesVersions { '3.23': { hasValue?: boolean; hasDestroyable?: boolean; }; } export interface HelperCapabilities extends Capabilities { hasValue: boolean; hasDestroyable: boolean; hasScheduledEffect: boolean; } export interface HelperManager { capabilities: HelperCapabilities; createHelper(definition: object, args: Arguments): HelperStateBucket; getDebugName?(definition: object): string; } export interface HelperManagerWithValue extends HelperManager { getValue(bucket: HelperStateBucket): unknown; } export interface HelperManagerWithDestroyable extends HelperManager { getDestroyable(bucket: HelperStateBucket): object; }