import type { Expression, VariableRef } from '../data-model/types.ts'; import type { Context } from '../format-context.ts'; import { type MessageFallback } from '../functions/fallback.ts'; import { type MessageUnknownValue } from '../functions/unknown.ts'; import type { MessageValue } from '../message-value.ts'; /** * Declarations aren't resolved until they're requierd, * and their resolution order matters for variable resolution. * This internal class is used to store any required data, * and to allow for `instanceof` detection. * * @internal */ export declare class UnresolvedExpression { expression: Expression; scope: Record | undefined; constructor(expression: Expression, scope?: Record); } /** * Get the raw value of a variable. * Resolves declarations as necessary * * @internal * @returns `unknown` or `any` for input values; * `MessageValue` for `.input` and `.local` declaration values. */ export declare function lookupVariableRef(ctx: Context, { name }: VariableRef): unknown; export declare function resolveVariableRef(ctx: Context, ref: VariableRef): MessageFallback | MessageUnknownValue | (MessageValue & { source: string; });