export type TaskSplitSignals = { pathCount: number; dependencyCount: number; acceptanceCriteriaCount: number; roleCount: number; phaseCount: number; keywordOverlapRatio: number; estimatedLinesOfChange: number; }; export type TaskSplitThresholds = { complexityThreshold: number; cognitiveLoadThreshold: number; compositeThreshold: number; }; export type TaskSplitAssessmentResult = { taskId: string; implementationComplexity: number; cognitiveLoad: number; combinedScore: number; oversized: boolean; splitReasons: string[]; signals: TaskSplitSignals; }; /** * Read threshold configuration from `.setup-agents/config.json`. * Never throws. Returns defaults if absent or malformed. */ export declare function getThresholdConfig(cwd: string): TaskSplitThresholds; /** * Extract raw signals from task metadata, handoff records, and orchestra task files. */ export declare function extractTaskSplitSignals(cwd: string, taskId: string): TaskSplitSignals; /** * Compute implementation complexity score (0-100) from signals. */ export declare function computeImplementationComplexity(signals: TaskSplitSignals): number; /** * Compute cognitive load score (0-100) from signals. * Note: "unresolved risks" maps to dependencyCount as a proxy (risks correlate with dependencies). */ export declare function computeCognitiveLoad(signals: TaskSplitSignals): number; /** * Full assessment: extracts signals, computes scores, determines oversized status. */ export declare function assessTaskSplit(cwd: string, taskId: string): TaskSplitAssessmentResult;