import { type CanonicalizeDecisions, type CanonicalizePlan, type ResolvedField, type UnresolvedDecision } from './canonicalize-plan'; import { type CanonicalizeDebtOperation, type RemediationManifestV1 } from './protocol'; import type { ValidationIssue } from '../artifacts/schema'; export interface CanonicalizePrepareInput { scope: string; debtId: string; decisions?: CanonicalizeDecisions; reason?: string; actor?: string; } export interface CanonicalizePrepareResult { readonly phase: 'prepare'; /** Always true in this runtime: preparation has no write mode to opt into. */ readonly readOnly: true; readonly scope: string; readonly debtId: string; readonly status: CanonicalizePlan['status']; readonly classification: string | null; readonly resolved: readonly ResolvedField[]; readonly unresolved: readonly UnresolvedDecision[]; readonly retiredKeys: readonly string[]; readonly debtCollectionSha256: string | null; readonly after: CanonicalizeDebtOperation['after'] | null; /** A complete, apply-ready manifest — only when every canonical value is settled. */ readonly manifest: RemediationManifestV1 | null; readonly detail: string | null; } export interface CanonicalizePreviewResult { readonly phase: 'preview'; readonly readOnly: true; readonly scope: string; readonly accepted: boolean; readonly debtIds: readonly string[]; readonly debtCollectionSha256: string; readonly operations: readonly CanonicalizeDebtOperation[]; readonly after: readonly CanonicalizeDebtOperation['after'][]; readonly retiredKeys: readonly string[]; readonly issues: readonly ValidationIssue[]; readonly detail: string; } /** * Turn an observed legacy debt into either a complete manifest or an explicit list of the decisions * still missing. Suggested values are rendered as evidence and never adopted. */ export declare function prepareDebtCanonicalization(input: CanonicalizePrepareInput): CanonicalizePrepareResult; /** * Re-check a manifest an operator already holds: is it still well-formed, still about this scope, * and still true of the state on disk? Preview answers only that — it never applies anything. */ export declare function previewDebtCanonicalization(input: { scope: string; manifestPath: string; }): CanonicalizePreviewResult; //# sourceMappingURL=canonicalize-surface.d.ts.map