import type { LRParser } from '@lezer/lr';
import type { Token, TokenizeOptions } from 'esprima';
import type { SourceLocation } from 'estree';
export type EvaluationPair = {
    binding: string;
    value: any;
    range: {
        start: number;
        end: number;
    };
    tokenIndex?: number;
};
export type PythonParser = LRParser;
type TokenWithRangeAndLoc = Token & {
    range?: [number, number];
    loc?: SourceLocation;
};
export declare const extractJsEvaluationPairsWithTokenizer: (jsSnippet: string, entitiesToExtract: Set<string>, dataTree: Record<string, any>, tokenize: (input: string, config?: TokenizeOptions) => TokenWithRangeAndLoc[], namespacedEntitiesToExtract?: Record<string, Set<string>>) => EvaluationPair[];
export declare const extractEntity: (indexToStart: number, tokens: Array<TokenWithRangeAndLoc>, dataTree: Record<string, any>) => EvaluationPair;
export declare const extractPythonEvaluationPairsWithParser: (code: string, entities: Set<string>, dataTree: Record<string, any>, parser: PythonParser, namespacedEntitiesToExtract?: Record<string, Set<string>>) => EvaluationPair[];
export {};
//# sourceMappingURL=evaluation.d.ts.map