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;
}