import { Scope } from "./scope";
import { Variable } from "../variable";
import { Reference } from "../reference";
import { Definition } from "../definition";
import { ScopeManager } from "../scopeManager";
import * as ESTree from "estree";
export interface IGlobalScopeImplicit {
set: Map<string, Variable>;
variables: Variable[];
left: Reference[];
}
export declare class GlobalScope extends Scope {
implicit: IGlobalScopeImplicit;
constructor(scopeManager: ScopeManager, block: ESTree.Node);
__close(scopeManager: ScopeManager): Scope<ESTree.Node> | null;
__defineImplicit(node: ESTree.Node, def: Definition): void;
}