import ts from 'typescript'; import { ScriptBuilder } from '../sb'; import { VisitOptions } from '../types'; import { Name, Scope } from './Scope'; export declare class ResolvedScope implements Scope { private readonly variableCount; private readonly parent?; private mutablePosition; private readonly mutableVariables; private readonly uniqueVariables; private readonly scopeLength; private readonly addScope; private readonly scopeCount; constructor(variableCount: number, parent?: ResolvedScope | undefined); add(name: string): Name; addUnique(): Name; set(sb: ScriptBuilder, node: ts.Node, optionsIn: VisitOptions, name: Name | string, scopeLength?: number, scopePosition?: number): void; get(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, name: Name | string, scopeLength?: number, scopePosition?: number): void; getThis(sb: ScriptBuilder, node: ts.Node, _options: VisitOptions): void; getGlobal(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void; setGlobal(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void; pushAll(sb: ScriptBuilder, node: ts.Node, _options: VisitOptions): void; emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions, func: (options: VisitOptions) => void): void; private surround; private emitNonLocal; private getPosition; private loadScope; private loadAll; }