import ts from 'typescript'; import { ScriptBuilder } from '../sb'; import { VisitOptions } from '../types'; import { ResolvedScope } from './ResolvedScope'; import { Name, Scope } from './Scope'; export declare class CapturingScope implements Scope { readonly node: ts.Node; readonly index: number; readonly parent?: CapturingScope | undefined; private mutableVariableCount; private readonly bindings; constructor(node: ts.Node, index: number, parent?: CapturingScope | undefined); add(name: string): Name; addUnique(): Name; set(sb: ScriptBuilder, node: ts.Node): void; get(sb: ScriptBuilder, node: ts.Node): void; getThis(sb: ScriptBuilder, node: ts.Node): void; getGlobal(sb: ScriptBuilder, node: ts.Node): void; setGlobal(sb: ScriptBuilder, node: ts.Node): void; pushAll(sb: ScriptBuilder, node: ts.Node): void; emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, func: (options: VisitOptions) => void): void; resolve(parent?: ResolvedScope | undefined): ResolvedScope; }