/** * tui-input.ts — Dueño de stdin. Parsea keyboard + mouse desde raw bytes. * * Al ser el primer listener registrado en process.stdin, intercepta mouse * escape sequences ANTES de que lleguen a ningún otro handler. Así el * renderer custom nunca ve los "[<65;..." que rompían Ink en Windows. * * Uso: * const input = new TuiInput() * input.on('key', (key, char) => { ... }) * input.on('wheel', (dir) => { ... }) // 'up' | 'down' * input.start() // habilita mouse reporting * input.stop() // limpia al salir */ import { EventEmitter } from 'node:events'; export type KeyName = 'enter' | 'escape' | 'backspace' | 'delete' | 'up' | 'down' | 'left' | 'right' | 'pageup' | 'pagedown' | 'tab' | 'shift-tab' | 'ctrl-a' | 'ctrl-b' | 'ctrl-c' | 'ctrl-d' | 'ctrl-e' | 'ctrl-k' | 'ctrl-l' | 'ctrl-n' | 'ctrl-o' | 'ctrl-p' | 'ctrl-r' | 'ctrl-t' | 'ctrl-u' | 'ctrl-v' | 'ctrl-w' | 'alt-v' | 'char'; export declare class TuiInput extends EventEmitter { private _active; /** * Activa raw mode, instala el listener, habilita mouse reporting. */ start(): void; /** * Deshabilita mouse reporting y raw mode. Llamar en cleanup. */ stop(): void; private _onData; } //# sourceMappingURL=tui-input.d.ts.map