import type { TraceCallback, TraceLine } from "./types.js"; export type TraceSink = { writeLine(line: TraceLine): Promise | void; close?(): Promise | void; /** What this sink already holds from an earlier writer in the same run, * so the new writer skips a second header and the chunks already * there. A sink that keeps nothing leaves this out. */ existing?(): Promise<{ hasHeader: boolean; chunkHashes: Set; }>; }; export declare class CallbackSink implements TraceSink { private callback; private runId; constructor(runId: string, callback: TraceCallback); writeLine(line: TraceLine): Promise; }