declare module '@glimmer/reference/lib/reference' { import type { Nullable, Reference, ReferenceSymbol } from "@glimmer/interfaces"; export const REFERENCE: ReferenceSymbol; export type { Reference as default }; export type { Reference }; export interface ReferenceEnvironment { getProp(obj: unknown, path: string): unknown; setProp(obj: unknown, path: string, value: unknown): unknown; } export function createPrimitiveRef(value: T): Reference; export const UNDEFINED_REFERENCE: Reference; export const NULL_REFERENCE: Reference; export const TRUE_REFERENCE: Reference; export const FALSE_REFERENCE: Reference; export function createConstRef(value: T, debugLabel: false | string): Reference; export function createUnboundRef(value: T, debugLabel: false | string): Reference; export function createComputeRef( compute: () => T, update?: Nullable<(value: T) => void>, debugLabel?: false | string ): Reference; export function createReadOnlyRef(ref: Reference): Reference; export function isInvokableRef(ref: Reference): boolean; export function createInvokableRef(inner: Reference): Reference; export function isConstRef(_ref: Reference): boolean; export function isUpdatableRef(_ref: Reference): boolean; export function valueForRef(_ref: Reference): T; export function updateRef(_ref: Reference, value: unknown): void; export function childRefFor(_parentRef: Reference, path: string): Reference; export function childRefFromParts(root: Reference, parts: string[]): Reference; export let createDebugAliasRef: undefined | ((debugLabel: string, inner: Reference) => Reference); }