import type { BackgroundJob } from "../../app/ports/jobs-port.js"; import type { TranscriptState } from "../../ui-core/state/transcript-types.js"; import type { PanelEffect } from "./panel-effect.js"; import type { PanelSnapshot } from "./panel-controller.js"; export interface PanelWheelDeps { readonly rows: number; readonly columns: number; readonly transcript: () => TranscriptState; readonly jobs: readonly BackgroundJob[]; } export interface PanelWheelMove { readonly patch: Partial; readonly effects: readonly PanelEffect[]; } /** * Trackpad / mouse-wheel scrolling. Replays the panel's own cursor-motion * keys so wrapping, centering, and follow rules stay identical to arrows — * one controller repaint per gesture, not one per synthetic key. */ export declare function panelWheelMove(snapshot: PanelSnapshot, deps: PanelWheelDeps, direction: 1 | -1, steps: number): PanelWheelMove | undefined;