/**
 * Task staleness detection - identify tasks that haven't been updated.
 * Ported from lib/tasks/staleness.sh
 *
 * @epic T4454
 * @task T4529
 */
import type { Task } from '@cleocode/contracts';
/** Staleness thresholds in days. */
export interface StalenessThresholds {
    /** Days before a task is considered stale. */
    stale: number;
    /** Days before a task is critically stale. */
    critical: number;
    /** Days before a task is considered abandoned. */
    abandoned: number;
}
/** Default thresholds. */
export declare const DEFAULT_THRESHOLDS: StalenessThresholds;
/** Staleness classification. */
export type StalenessLevel = 'fresh' | 'stale' | 'critical' | 'abandoned';
/** Staleness assessment for a single task. */
export interface StalenessInfo {
    taskId: string;
    level: StalenessLevel;
    daysSinceUpdate: number;
    lastActivity: string;
}
/**
 * Get the most recent activity timestamp for a task.
 */
export declare function getLastActivity(task: Task): string;
/**
 * Classify staleness level for a task.
 */
export declare function classifyStaleness(task: Task, thresholds?: StalenessThresholds): StalenessLevel;
/**
 * Get staleness info for a single task.
 */
export declare function getStalenessInfo(task: Task, thresholds?: StalenessThresholds): StalenessInfo;
/**
 * Find all stale tasks (stale, critical, or abandoned).
 */
export declare function findStaleTasks(tasks: Task[], thresholds?: StalenessThresholds): StalenessInfo[];
/**
 * Get staleness summary statistics.
 */
export interface StalenessSummary {
    total: number;
    fresh: number;
    stale: number;
    critical: number;
    abandoned: number;
}
export declare function getStalenessSummary(tasks: Task[], thresholds?: StalenessThresholds): StalenessSummary;
//# sourceMappingURL=staleness.d.ts.map