import { Query, SyntaxNode } from 'web-tree-sitter';
import { ScopeGraph } from './ScopeGraph';
import { LanguageProfile } from "../../code-context/base/LanguageProfile";
export declare enum Scoping {
    global = "global",
    hoisted = "hoisted",
    local = "local"
}
export interface LocalDefCapture {
    index: number;
    symbol: string | undefined | null;
    scoping: Scoping;
}
export interface LocalRefCapture {
    index: number;
    symbol: string | undefined | null;
}
export declare class ScopingError extends Error {
}
export declare class ScopeBuilder {
    private rootNode;
    private sourceCode;
    private languageConfig;
    private query;
    constructor(query: Query, rootNode: SyntaxNode, sourceCode: string, languageConfig: LanguageProfile);
    build(): Promise<ScopeGraph>;
}
