import { type AstNode, type Binding } from "./model.js"; export declare class ScopeStack { private readonly scopes; constructor(scopes: Array>); reserve(name: string, mutable: boolean, node: AstNode): void; initialize(name: string, value: unknown, node: AstNode): void; declare(name: string, value: unknown, mutable: boolean, node: AstNode): void; get(name: string, node: AstNode): unknown; set(name: string, value: unknown, node: AstNode): unknown; resolve(name: string): Binding | undefined; current(): Map; push(scope?: Map): void; pop(): void; capture(): Array>; }