import ts from "typescript";
/**
 * Contains all names that could be recursively referenced.
 */
export declare class Scope {
    /**
     * Variables that can be referenced as is from a scope.
     */
    readonly local: ReadonlyArray<string>;
    /**
     * Variables that can only be referenced with a prefix in the scope.
     */
    readonly object: ReadonlyArray<string>;
    constructor(local: ReadonlyArray<string>, object: ReadonlyArray<string>);
    includes(name: string): boolean;
    /**
     * @returns a new scope with the identifier from the node included,
     *          or if there is no identifier, it returns the scope not modified nor cloned
     */
    maybeAdd(node: ts.Node, variableBeingDefined: string | undefined): Scope;
    private scopeToAdd;
}
