1 | import { Arguments } from '../runtime';
|
2 | import { Capabilities } from './capabilities';
|
3 |
|
4 | export interface HelperCapabilitiesVersions {
|
5 | '3.23': {
|
6 | hasValue?: boolean;
|
7 | hasDestroyable?: boolean;
|
8 | };
|
9 | }
|
10 |
|
11 | export interface HelperCapabilities extends Capabilities {
|
12 | hasValue: boolean;
|
13 | hasDestroyable: boolean;
|
14 | hasScheduledEffect: boolean;
|
15 | }
|
16 |
|
17 | export interface HelperManager<HelperStateBucket> {
|
18 | capabilities: HelperCapabilities;
|
19 |
|
20 | createHelper(definition: object, args: Arguments): HelperStateBucket;
|
21 |
|
22 | getDebugName?(definition: object): string;
|
23 | }
|
24 |
|
25 | export interface HelperManagerWithValue<HelperStateBucket>
|
26 | extends HelperManager<HelperStateBucket> {
|
27 | getValue(bucket: HelperStateBucket): unknown;
|
28 | }
|
29 |
|
30 | export interface HelperManagerWithDestroyable<HelperStateBucket>
|
31 | extends HelperManager<HelperStateBucket> {
|
32 | getDestroyable(bucket: HelperStateBucket): object;
|
33 | }
|