import type { CompletionContextPack, CompletionContextPackOptions, CompletionCriterionReplacement, CompletionCriterionWaiver, CompletionEvaluation, CompletionExplanation, DataAccessor } from '@cleocode/contracts'; export interface EvaluateCompletionOptions { /** * Legacy child-id-only waiver list retained for callers not yet migrated to * criterion-scoped waiver records. Prefer `childWaivers` for new code. */ readonly waivedChildTaskIds?: readonly string[]; /** Criterion-scoped waivers with reason, actor, and timestamp metadata. */ readonly childWaivers?: readonly CompletionCriterionWaiver[]; /** Criterion-scoped replacement policies for cancelled or superseded children. */ readonly childReplacements?: readonly CompletionCriterionReplacement[]; /** Prebuilt context pack; when omitted, evaluateCompletion builds one from audit_log. */ readonly contextPack?: CompletionContextPack; /** Builder options used when evaluateCompletion creates the context pack. */ readonly contextPackOptions?: CompletionContextPackOptions; /** Disable audit-log context construction for narrow callers/tests. */ readonly includeContextPack?: boolean; } /** * Evaluate whether a task's AC table is complete enough to mark done. * * The result is intentionally contract-backed so CLI, SDK, dispatch, and future * completion commands can share one typed SSoT instead of re-deriving ad hoc * ready/blocked explanations. */ export declare function evaluateCompletion(taskId: string, accessor: DataAccessor, options?: EvaluateCompletionOptions): Promise; /** Format a CompletionEvaluation into a compact, human-readable explanation. */ export declare function explainCompletion(evaluation: CompletionEvaluation): CompletionExplanation; //# sourceMappingURL=completion-evaluation.d.ts.map