import type { TerminalLayout, TerminalMarker, TerminalRectangle, TerminalScrollbar, TerminalScrollbarConfiguration, TerminalScrollbarMarker } from "./scrollbar-types.js"; import type { TerminalViewport } from "./types.js"; export { renderDefaultScrollbar } from "./scrollbar-renderer.js"; export declare function normalizeScrollbar(input?: TerminalScrollbar): false | TerminalScrollbarConfiguration; export declare function scrollbarOpacity(now: number, lastActivityAt: number, active: boolean, configuration: TerminalScrollbarConfiguration, reducedMotion: boolean): number; export declare function scrollbarGeometry(layout: TerminalLayout, viewport: TerminalViewport, markers: readonly TerminalMarker[], target?: number | null): Readonly<{ track: Readonly<{ left: number; top: number; width: number; height: number; }>; thumb: Readonly<{ left: number; top: number; width: number; height: number; }>; markers: readonly TerminalScrollbarMarker[]; }> | null; export declare function scrollbarMarkerAt(markers: readonly TerminalScrollbarMarker[], x: number, y: number, track?: TerminalRectangle): TerminalMarker; interface ScrollbarState { layout: TerminalLayout; viewport: TerminalViewport; markers: readonly TerminalMarker[]; connected: boolean; configuration: false | TerminalScrollbarConfiguration; } interface ScrollbarControllerOptions { element: HTMLElement; canvas: HTMLCanvasElement; accessibility: HTMLDivElement; getState: () => ScrollbarState; scrollToRow: (top: number) => void; scrollToLive: () => void; scrollToMarker: (id: string) => Promise; reportError: (error: unknown) => void; onMarkerHover?: (marker: TerminalScrollbarMarker | null) => void; } export declare class ScrollbarController { private readonly options; private context; private readonly listeners; private readonly motion; private configuration; private frameId; private fadeTimer; private disposed; private failed; private dormant; private near; private hovered; private focused; private lastActivityAt; private pointer; private dragOffset; private contentPointers; private contentClick; private suppressClick; private desired; private dragTop; private visualTop; private visualTarget; private visualFrom; private visualStartedAt; private queued; private requestBaseline; private generation; private wheelRemainder; private hoverPoint; constructor(options: ScrollbarControllerOptions); refresh(): void; activity(): void; invalidate(): void; cancel(): void; dispose(): void; private now; private updateVisualPosition; private geometry; private point; private hit; private markerAt; private consume; private pointerDown; private pointerMove; private refreshHover; private clearHover; private hoveredMarker; private pointerEnd; private endGesture; private wheel; private keyDown; private jump; private navigate; private schedule; private clear; private paint; private report; } //# sourceMappingURL=scrollbar.d.ts.map