import type { Readable } from "node:stream";
/** Serialize one LF-delimited JSON record. */
export declare function serializeJsonLine(value: object | boolean | null | number | string): string;
export interface JsonlReaderOptions {
    maxBytesPerTurn?: number;
    maxFrameBytes?: number;
    /** @deprecated Use maxFrameBytes. Retained for source compatibility; measured as UTF-8 bytes. */
    maxLineChars?: number;
    maxLinesPerTurn?: number;
    onOversizedLine?: () => void;
}
/**
 * Attach a strict LF-only, UTF-8 byte-bounded JSONL reader.
 *
 * The stream is paused before queued chunks are drained, so one turn cannot parse
 * an unbounded number of frames. Oversized records are discarded through their LF;
 * the next bounded record remains readable.
 */
export declare function attachJsonlLineReader(stream: Readable, onLine: (line: string) => void, options?: JsonlReaderOptions): () => void;
//# sourceMappingURL=jsonl.d.ts.map