import type { ThinkingLevel } from "@oh-my-pi/pi-agent-core"; import type { Api, Model } from "@oh-my-pi/pi-ai"; import type { ConventionalAnalysis } from "../../commit/types"; export interface MapReduceSettings { enabled?: boolean; minFiles?: number; maxFileTokens?: number; maxConcurrency?: number; timeoutMs?: number; } export interface MapReduceInput { model: Model; apiKey: string; thinkingLevel?: ThinkingLevel; smolModel: Model; smolApiKey: string; smolThinkingLevel?: ThinkingLevel; diff: string; stat: string; scopeCandidates: string; typesDescription?: string; settings?: MapReduceSettings; } export declare function shouldUseMapReduce(diff: string, settings?: MapReduceSettings): boolean; /** * Run map-reduce analysis for large diffs using smol + primary models. */ export declare function runMapReduceAnalysis(input: MapReduceInput): Promise;