import { type Ref } from "vue";
import type useTimeaxisUnits from "./useTimeaxisUnits";
/**
 * Interface defining DOM references needed for scrolling functionality
 */
interface ScrollRefs {
    rowsContainer: Ref<HTMLElement | null>;
    labelColumn: Ref<any>;
}
/**
 * Interface defining chart navigation configuration options
 */
interface ChartNavigationOptions {
    scrollRefs: ScrollRefs;
    updateBarPositions: () => void;
    timeaxisUnits: ReturnType<typeof useTimeaxisUnits>;
}
/**
 * Composable that manages navigation within the Gantt chart.
 * Provides functionality for horizontal/vertical scrolling and zoom controls.
 *
 * @param options - Configuration options for navigation
 * @param maxRows - Maximum number of rows that can be displayed simultaneously
 * @returns Object containing navigation state and methods
 */
export declare function useChartNavigation(options: ChartNavigationOptions, maxRows: number): {
    scrollPosition: Ref<number, number>;
    isAtTop: Ref<boolean, boolean>;
    isAtBottom: Ref<boolean, boolean>;
    handleStep: (newPosition: number, wrapper: HTMLElement) => void;
    handleScroll: (wrapper: HTMLElement) => void;
    handleWheel: (e: WheelEvent, wrapper: HTMLElement) => void;
    handleContentScroll: (e: Event) => void;
    handleLabelScroll: (scrollTop: number) => void;
    handleZoomUpdate: (increase: boolean) => Promise<void>;
    scrollRowUp: () => void;
    scrollRowDown: () => void;
};
export {};
//# sourceMappingURL=useChartNavigation.d.ts.map