import type { CoreActionPayload, CoreActionResult } from "./actions/types/ActionDispatch";
import { type BuiltinProgrammingLanguageKey, type CodeModelContextInitOptions } from "./actions/types/initProgrammingBuiltinCache";
import type { FileNode, JSON_ROOT, JsonFieldsInfo, QualityAssessmentConfig, QualityAssessmentReport, QualityBenchmarkCase } from "./actions/types";
import type { IncrementalDiffResult } from "./actions/types/incrementalSnapshotFragment";
import type { FileCallChainDiffRecord } from "./actions/types/JsonDiff";
import type { ContextDiffReport, ContextQueryResult } from "./actions/types/ContextDiff";
import type { DiffImpactReport, ImpactWeights } from "./actions/types/ImpactEngine";
import type { QueryRes } from "./actions/types/queryFuncChains";
declare class CodeModelContext {
    #private;
    get targetProgrammingKey(): BuiltinProgrammingLanguageKey;
    get targetLanguage(): string;
    get projectRoot(): string;
    get defaultImpactWeights(): Readonly<Partial<ImpactWeights>> | undefined;
    get baselineSnapshot(): JSON_ROOT | undefined;
    get currentSnapshot(): JSON_ROOT | undefined;
    private requireBaselineAndCurrent;
    private buildParseOptionsFromInstance;
    private normalizeExecutePayload;
    private parseProjectSnapshot;
    private incrementalParseProjectSnapshot;
    constructor(options: CodeModelContextInitOptions);
    parseProject(): Promise<void>;
    getJsonByFilePath(filePath: string): Promise<FileNode>;
    getIncrementalDiffResult(): IncrementalDiffResult;
    updateOldSnapshot(patch: IncrementalDiffResult): JSON_ROOT;
    funcCallChainDiff(): Promise<FileCallChainDiffRecord[]>;
    analyzeImpact(): Promise<DiffImpactReport>;
    analyzeImpactWithWeights(weights?: Partial<ImpactWeights>): Promise<DiffImpactReport>;
    jsonFieldsChanged(): Promise<ContextDiffReport>;
    evaluateQualityBaseline(benchmarkCases: QualityBenchmarkCase[], previousReport?: QualityAssessmentReport, config?: QualityAssessmentConfig): Promise<QualityAssessmentReport>;
    executeCoreAction(payload: CoreActionPayload): Promise<CoreActionResult>;
    queryFuncCallChainByFuncName(records: FileCallChainDiffRecord[], functionName: string): Promise<ContextQueryResult[]>;
    queryFuncChainsBySnapshot(targetFuncName: string): QueryRes;
    getJsonFieldsInfo(): JsonFieldsInfo;
}
export { CodeModelContext };
