import { HCValue } from './HyperCardModel'; export type HCEvalValue = number | string | boolean; export interface HCEvalContext { getVar(name: string): HCValue | undefined; getField(id: string): string | undefined; } declare function toNum(v: HCEvalValue): number; declare function toStr(v: HCEvalValue): string; declare function toBool(v: HCEvalValue): boolean; /** Coerce an already-evaluated value to a number (booleans → 1/0, strings → parseFloat). */ export declare const coerceNumber: typeof toNum; /** Coerce an already-evaluated value to a string (booleans → "true"/"false"). */ export declare const coerceString: typeof toStr; /** Coerce an already-evaluated value to a boolean. */ export declare const coerceBool: typeof toBool; /** Evaluate an expression to its raw value. Falls back to the source string. */ export declare function evaluate(src: string, ctx: HCEvalContext): HCEvalValue; export declare function evaluateToString(src: string, ctx: HCEvalContext): string; export declare function evaluateToNumber(src: string, ctx: HCEvalContext): number; export declare function evaluateToBool(src: string, ctx: HCEvalContext): boolean; export {}; //# sourceMappingURL=HyperCardExpression.d.ts.map