/**
 * Coding-agent runner that drives the hashline {@link Patcher} on behalf of
 * the `edit` tool. Converts a `{input}` tool-call payload into a
 * fully-applied patch, wraps the result in the agent's
 * {@link AgentToolResult} shape, and attaches LSP diagnostics + `outputMeta`
 * for the renderer.
 *
 * Multi-section patches are preflighted up front via {@link Patcher.prepare}
 * so a partial batch never lands; the commit loop then narrows the LSP
 * batch's `flush` flag to true only for the final write so diagnostics
 * round-trip once.
 */
import { MismatchError as HashlineMismatchError } from "@pk-nerdsaver-ai/hashline";
import type { AgentToolResult } from "@pk-nerdsaver-ai/pi-agent-core";
import type { WritethroughCallback, WritethroughDeferredHandle } from "../../lsp";
import type { ToolSession } from "../../tools";
import type { EditToolDetails, LspBatchRequest } from "../renderer";
import { type HashlineParams, hashlineEditParamsSchema } from "./params";
export interface ExecuteHashlineSingleOptions {
    session: ToolSession;
    input: string;
    signal?: AbortSignal;
    batchRequest?: LspBatchRequest;
    writethrough: WritethroughCallback;
    beginDeferredDiagnosticsForPath: (path: string) => WritethroughDeferredHandle;
}
export declare function executeHashlineSingle(options: ExecuteHashlineSingleOptions): Promise<AgentToolResult<EditToolDetails, typeof hashlineEditParamsSchema>>;
export { HashlineMismatchError, type HashlineParams, hashlineEditParamsSchema };
