import type { NodePath } from '@babel/traverse';
import { ASTPluginEnvironment, NodeVisitor } from '@glimmer/syntax';
type Params = {
    mode: 'explicit';
} | {
    mode: 'implicit';
    jsPath: NodePath;
};
export declare class ScopeLocals {
    #private;
    constructor(params: Params);
    get locals(): string[];
    has(key: string): boolean;
    get(key: string): string;
    isEmpty(): boolean;
    entries(): [string, string][];
    add(hbsName: string, jsName?: string): void;
    crawl(): (_env: ASTPluginEnvironment) => {
        name: string;
        visitor: NodeVisitor;
    };
}
export {};
