import type { PanelControllerDeps, PanelSnapshot } from "./panel-types.js"; export type { PanelControllerDeps, PanelKind, PanelSnapshot } from "./panel-types.js"; export declare class PanelController { private readonly deps; private snapshot; private readonly listeners; private tracked; private unsubscribe; constructor(deps: PanelControllerDeps); getSnapshot: () => PanelSnapshot; subscribe: (listener: () => void) => (() => void); dispose(): void; isOpen(): boolean; openSearch(): void; closeSearch(): void; /** Rows the panel asks the allocator for, before it is clamped. */ rowsWanted(): number; handlePaste(text: string): boolean; handlePlanKey(chord: string, focused: boolean): boolean; handleKey(chord: string, text?: string): boolean; /** Trackpad / mouse-wheel scrolling on whichever overlay owns the screen. */ handleWheel(direction: 1 | -1, steps?: number): boolean; private jobList; private onOverlayChange; private syncOverlay; private loadPagerPage; private apply; private publish; }