import type { MouseEvent } from '@teaui/core'; /** * The mouse reporting mode requested by the child (DECSET 9/1000/1002/1003), * as reported by xterm's `terminal.modes.mouseTrackingMode`. */ export type MouseTrackingMode = 'none' | 'x10' | 'vt200' | 'drag' | 'any'; /** * Whether a mouse event should be reported to a child that requested the given * tracking mode. Children that haven't enabled mouse tracking (e.g. a shell) * would otherwise echo the escape sequences as text. * * - x10: button presses only * - vt200 (1000): presses, releases, and wheel * - drag (1002): …plus motion while a button is held * - any (1003): …plus all motion */ export declare function shouldReportMouse(event: MouseEvent, mode: MouseTrackingMode): boolean; /** * Convert a TeaUI MouseEvent to an SGR mouse escape sequence * for forwarding to a child PTY. * * SGR format: ESC [ < button ; x ; y M (press) or m (release) * x and y are 1-based. * * Button encoding: * 0 = left, 1 = middle, 2 = right * +4 = shift, +8 = meta/alt, +16 = ctrl * +32 = motion * 64 = scroll up, 65 = scroll down */ export declare function mouseEventToAnsi(event: MouseEvent): string;