/**
 * Incremental parser for the binary output stream of screen-streamer.swift.
 *
 * Frame format:
 *   1. Header: magic bytes "RDSM" + a JSON line (\n) with ScreenInfo[].
 *   2. Video frames: [4B length BE] [1B flags] [H.264 NAL data]
 */
import type { ScreenInfo } from "./stream-manager.js";
export type ScreenInfoCallback = (screens: ScreenInfo[]) => void;
export type VideoFrameCallback = (frameData: Buffer) => void;
export declare class StreamerParser {
    private readonly onScreenInfo;
    private readonly onVideoFrame;
    private buf;
    private headerReceived;
    constructor(onScreenInfo: ScreenInfoCallback, onVideoFrame: VideoFrameCallback);
    /** Reset parser state (e.g. when the streamer process restarts). */
    reset(): void;
    /** Feed a raw chunk from the streamer's stdout. */
    feed(chunk: Buffer): void;
    private parse;
}
//# sourceMappingURL=streamer-parser.d.ts.map