/** * Navigator - a cursor over a bounded list with viewport tracking * * Used for both: * - List navigation (process selection) - wraps around * - Scroll navigation (content viewing) - clamps to bounds */ export type NavigatorOptions = { getLength: () => number; wrap: boolean; onMove?: () => void; }; export type Navigator = { readonly position: number; readonly viewportOffset: number; up(step?: number): void; down(step?: number): void; pageUp(pageSize: number, viewportSize?: number): void; pageDown(pageSize: number, viewportSize?: number): void; toStart(): void; toEnd(): void; ensureVisible(viewportSize: number): void; clampViewport(viewportSize: number): boolean; setPosition(position: number): void; reset(): void; }; export declare function createNavigator(options: NavigatorOptions): Navigator;