/** Bounded, hook-free scalar facts for compile-time argument contracts. * * Bindings hold the value proved at declaration, not an initializer to replay * under a later scope. Mutable cells, object members, calls and host values * never fold. Targets read the same facts through Analyzer.constantValue. */ import type { Expression } from "../ast.ts"; import type { Binding } from "./scopes.ts"; export type ConstantValue = string | number | boolean | null; export declare class ConstantValues { private readonly bindings; private readonly lookup; private retainedText; constructor(lookup: (name: string) => Binding | null); bind(binding: Binding, value: ConstantValue | undefined): void; read(expression: Expression): ConstantValue | undefined; } //# sourceMappingURL=constant-values.d.ts.map