/**
 * @import { Word } from "@helios-lang/compiler-utils"
 * @typedef {import("../typecheck/index.js").EvalEntity} EvalEntity
 */
/**
 * TopScope is a special scope that can contain UserTypes
 * @internal
 */
export class TopScope extends Scope {
    /**
     * @param {GlobalScope} parent
     * @param {boolean} strict
     */
    constructor(parent: GlobalScope, strict?: boolean);
    /**
     * @private
     * @type {boolean}
     */
    private _strict;
    /**
     * Prepends "__scope__" to name before actually setting scope
     * @param {Word} name
     * @param {Scope} value
     */
    setScope(name: Word, value: Scope): void;
    /**
     * @param {boolean} s
     */
    setStrict(s: boolean): void;
    /**
     * @param {Word} name
     * @returns {ModuleScope}
     */
    getModuleScope(name: Word): ModuleScope;
}
export type EvalEntity = import("../typecheck/index.js").EvalEntity;
import { Scope } from "./Scope.js";
import type { Word } from "@helios-lang/compiler-utils";
import { ModuleScope } from "./ModuleScope.js";
import { GlobalScope } from "./GlobalScope.js";
//# sourceMappingURL=TopScope.d.ts.map