export interface EditHealClass { path: string; oldString: string; newString: string; /** schema = argument/SchemaError; never coach as an old_string mismatch. */ cls: "not-found" | "ambiguous" | "schema" | "other"; } export declare function classifyEditFailure(args: Record, errorText: string): EditHealClass | null; /** * Find a unique whitespace-insensitive match for oldString in file contents. * Returns the exact disk slice to use as healed old_string, or null. */ export declare function findUniqueFuzzySpan(fileText: string, oldString: string): string | null; export interface EditHealResult { args: Record; note: string; oldString: string; newString: string; } /** * When new_string is a warp sketch (elision markers), lower it to a byte-exact * old_string/new_string span against disk. Returns null when WARP_EDIT is off * or the sketch cannot be placed deterministically. */ export declare function tryWarpSketchEdit(args: Record): EditHealResult | null; /** * Attempt to heal a failed edit. Reads the file from disk (workspace-local). * Returns healed args (same key dialect as input) or null. * Order: warp-sketch lower → whitespace fuzzy old_string. */ export declare function tryHealEditArgs(args: Record, errorText: string): EditHealResult | null; /** Build a coached error text when heal is impossible. */ export declare function editHealCoachNote(cls: EditHealClass, windowText?: string): string;