/**
 * Stale-Trigger Detector — §B.4 implementation
 *
 * Pure function. Identifies WorkItems whose stated work has no source-of-
 * truth basis. Returns a SUSPICION SCORE via Set<workItemId>; the watchdog
 * action is to ask the assignee to confirm cancel — auto-cancel stays in
 * Reconciler.
 *
 * @module services/team-health/stale-trigger-detector
 */
import type { WorkItem } from '../../types/v2/index.js';
import type { ArtifactProbeResult, StaleTriggerConfig } from './team-health-types.js';
export interface StaleTriggerInput {
    priorDoneCounts?: Map<string, number>;
    artifactProbes?: Map<string, ArtifactProbeResult[]>;
}
/**
 * Identify the set of WorkItem IDs flagged stale per §B.4.
 *
 * @param workItems - All active WorkItems being evaluated
 * @param input - Optional pre-computed signals (data provider supplies)
 * @param config - Detection config
 * @returns Set of WorkItem IDs flagged stale
 */
export declare function detectStaleWorkItems(workItems: WorkItem[], input: StaleTriggerInput, config: StaleTriggerConfig): Set<string>;
/**
 * Test whether a single WorkItem is stale.
 *
 * @param wi - WorkItem under inspection
 * @param input - Pre-computed prior-done counts and artifact probes
 * @param config - Detection config
 * @returns true if any stale-fire condition matches
 */
export declare function isStale(wi: WorkItem, input: StaleTriggerInput, config: StaleTriggerConfig): boolean;
/**
 * Build a human-readable evidence string for one WorkItem.
 *
 * @param wi - The WorkItem
 * @param input - Pre-computed signals
 * @param config - Detection config
 * @returns Multi-line evidence string; empty if no stale signal
 */
export declare function describeStaleEvidence(wi: WorkItem, input: StaleTriggerInput, config: StaleTriggerConfig): string;
//# sourceMappingURL=stale-trigger-detector.d.ts.map