import Graph from 'graphology';
import { EdgeKind } from '../code-search/scope-graph/edge/EdgeKind';
import { TextRange } from '../code-search/scope-graph/model/TextRange';
import { NodeKind } from '../code-search/scope-graph/node/NodeKind';
import { LanguageProfile } from "../code-context/base/LanguageProfile";
export declare class RefDebug {
    context: string;
    constructor(context: string);
    toString(): string;
}
export declare class DefDebug {
    private context;
    name: string;
    range: TextRange;
    refs: RefDebug[];
    symbol: string;
    constructor(range: TextRange, name: string, refs: TextRange[], symbol: string, src: string);
    toString(): string;
}
export declare class ImportDebug {
    name: string;
    range: TextRange;
    context: string;
    refs: RefDebug[];
    constructor(name: string, range: TextRange, refs: TextRange[], src: string);
    toString(): string;
}
export declare class ScopeDebug {
    range: TextRange;
    defs: DefDebug[];
    imports: ImportDebug[];
    scopes: ScopeDebug[];
    private language;
    constructor(range: TextRange, language: LanguageProfile);
    static new(graph: Graph<NodeKind, EdgeKind>, start: string, src: string, language: LanguageProfile): ScopeDebug;
    build(graph: Graph<NodeKind>, start: any, src: string): void;
    toString(): string;
}
