import type { Config } from '../config/schema.js'; import type { WorkContextDocument, WorkContextSnapshot, WorkUnderstandingEvidenceItem, WorkUnderstandingInvestigation, WorkUnderstandingInvestigationBudget } from './types.js'; export declare const DEFAULT_WORK_INVESTIGATION_BUDGET: WorkUnderstandingInvestigationBudget; type InvestigationAction = { tool: 'read_text_excerpt'; relativePath: string; reason: string; } | { tool: 'search_authorized_text'; query: string; reason: string; } | { tool: 'finish'; reason: string; }; export interface InvestigationDecision { hypotheses: string[]; questions: string[]; evidenceSummaries: Array<{ evidenceId: string; observation: string; }>; action: InvestigationAction; } interface RuntimeEvidence { record: WorkUnderstandingEvidenceItem; content: string; modifiedAt?: number; } export interface WorkInvestigationResult { investigation: WorkUnderstandingInvestigation; evidence: WorkUnderstandingEvidenceItem[]; documents: WorkContextDocument[]; degraded: boolean; } declare function chooseAction(input: { config: Config; snapshot: WorkContextSnapshot; runtimeEvidence: RuntimeEvidence[]; toolCallsRemaining: number; contentCharsRemaining: number; signal?: AbortSignal; }): Promise; export declare function investigateWorkContext(input: { config: Config; snapshot: WorkContextSnapshot; rootPath: string; discoveryRunId: string; projectId: string; sourceGrantId?: string; budget?: Partial; decisionProvider?: typeof chooseAction; signal?: AbortSignal; }): Promise; export {};