export type AcpLineWriter = (line: string) => void;
/**
 * Return the writer active in the current async context, or the default
 * stdout writer if none is bound.
 */
export declare function getAcpWriter(): AcpLineWriter;
/**
 * Run `fn` with `writer` bound as the active ACP line writer. All calls to
 * `renderAgentMessage`, `renderToolStart`, `renderAcpEvent`, etc. made inside
 * `fn` (or async work awaited from `fn`) will go through `writer` instead of
 * writing to `process.stdout`.
 */
export declare function withAcpWriter<T>(writer: AcpLineWriter, fn: () => Promise<T>): Promise<T>;
