import type { PatchHunk, PostToolUseInput } from "oh-my-plumb-schema"; export declare const renderHunks: (hunks: readonly PatchHunk[]) => string; /** * One file's change from a PostToolUse payload. `text` is undefined when the * diff could not be computed within the time a hook may spend on it; the * caller skips that file and says so rather than holding the agent. * `original` is the file's content before the edit when the host said, for * a Stop check without a git baseline. `after` is derived from the payload * alone, so it is exactly what the judge saw; null when it cannot be. */ export type EditHunk = { filePath: string; text: string | undefined; isNewFile: boolean; original: string | null; after: string | null; }; /** Time left on a budget that several diffs share. */ export declare const remainingMs: (deadline: number) => number; /** Every file one PostToolUse payload changed. Claude-style tools name one file; a Codex patch may name several. */ export declare const editsFromPostToolUse: (input: PostToolUseInput) => EditHunk[]; /** Undefined when the diff could not be computed within the time a hook may spend on it. */ export declare const unifiedDiff: (relativePath: string, before: string, after: string, timeoutMs?: number) => string | undefined; export declare const addedLines: (hunkText: string) => string[]; export declare const changedLineCount: (hunkText: string) => number; export declare const boundState: (text: string, max?: number) => { text: string; truncated: boolean; }; //# sourceMappingURL=diff.d.ts.map