import type { Ast } from '../parser/types'; /** * Tree-shaking pass: remove unused let bindings from a bundled AST. * * Uses a mark-and-sweep (graph-based) algorithm: * 1. Build dependency graph: each let binding → names it references * 2. Find root: the last expression in the body (program output) * 3. Mark: BFS from root's references through the graph * 4. Sweep: remove unmarked Let nodes with side-effect-free values */ export declare function treeShake(ast: Ast): Ast;