import * as Shift from 'shift-ast'; export declare class Variable { name: string; type: VariableType; declarations: Shift.BindingIdentifier[]; references: (Shift.IdentifierExpression | Shift.AssignmentTargetIdentifier)[]; /** * Creates a new variable. * @param name The variable name. * @param type The type of the variable. */ constructor(name: string, type: VariableType); /** * Returns whether the variable is block scoped. * @returns Whether. */ isBlockScoped(): boolean; /** * Renames the variable. * @param newName The new variable name. */ rename(newName: string): void; } export type VariableType = 'const' | 'let' | 'var' | undefined; export declare const blockScopedTypes: Set;