import { EventEmitter } from 'node:events'; /** * Strip SGR mouse reports from a decoded stdin chunk. Returns the clean * keystroke text (mouse bytes removed) plus one wheel delta per wheel * report: -1 = wheel up (scroll toward older), +1 = wheel down. Non-wheel * mouse events (clicks, moves, drags) are dropped without a delta. Pure, so * it's unit-tested directly. */ export declare function extractWheel(chunk: string): { clean: string; deltas: number[]; }; export interface MouseStdin { /** Proxy stream to hand to Ink's `render({ stdin })`. */ stdin: NodeJS.ReadStream; /** Emits 'wheel' with a delta (-1 up / +1 down) per wheel notch. */ wheel: EventEmitter; /** Turn on xterm SGR mouse reporting (write to stdout). */ enable(out: NodeJS.WriteStream): void; /** Turn it back off (write to stdout). Idempotent. */ disable(out: NodeJS.WriteStream): void; } /** * Wrap the real stdin so Ink never sees mouse bytes. Read the TTY here, * split keystrokes from wheel reports, forward keystrokes to a PassThrough * that Ink consumes, and emit wheel notches separately. */ export declare function createMouseStdin(real: NodeJS.ReadStream): MouseStdin; //# sourceMappingURL=mouse-stdin.d.ts.map