/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import type React from 'react';
import { type DOMElement } from 'ink';
export interface ScrollState {
    scrollTop: number;
    scrollHeight: number;
    innerHeight: number;
}
export interface ScrollableEntry {
    id: string;
    ref: React.RefObject<DOMElement | null>;
    getScrollState: () => ScrollState;
    scrollBy: (delta: number) => void;
    scrollTo?: (scrollTop: number, duration?: number) => void;
    hasFocus: () => boolean;
    flashScrollbar: () => void;
}
interface ScrollContextType {
    register: (entry: ScrollableEntry) => void;
    unregister: (id: string) => void;
    getScrollables: () => readonly ScrollableEntry[];
}
/**
 * @plan PLAN-20251215-OLDUI-SCROLL.P05
 * @requirement REQ-456.4
 */
export declare const ScrollProvider: React.FC<{
    children: React.ReactNode;
}>;
/**
 * @plan PLAN-20251215-OLDUI-SCROLL.P05
 * @requirement REQ-456.4
 */
export declare const useScrollable: (entry: Omit<ScrollableEntry, "id">, isActive: boolean) => void;
export declare function useScrollProvider(): ScrollContextType;
export {};
