import React, { ReactElement } from 'react'; import { InnerProps } from '../../utils'; import { Router } from '../../models'; interface ScrollspyDefaultProps { currentClassName: string; sectionOffset: number; headerHeight: number; } export interface ScrollspyProps extends Partial { items: string[]; children: ReactElement[]; router: Router; onSectionClick?: (event: MouseEvent) => void; className?: string; scrollToListItem?: boolean; } interface ScrollspyState { targetItems: HTMLElement[]; inViewState: boolean[]; } declare type ScrollspyInnerProps = InnerProps; export declare class Scrollspy extends React.Component { static defaultProps: ScrollspyDefaultProps; containerRef: React.RefObject; itemRefs: React.RefObject[]; scrollByClick: boolean; firstItemIndexInView: number; lastItemIndexInView: number; constructor(props: ScrollspyInnerProps); componentDidMount(): void; componentDidUpdate(prevProps: Readonly, prevState: Readonly): void; componentWillUnmount(): void; render(): JSX.Element; private updateFirstItemIndexInView; private getContainerValues; private updateScrollValues; private syncScroll; private scrollToListItem; private initItems; private initSections; private saveActiveItems; private getViewState; private handleScroll; private handleScrollDebounced; private pauseScrollHandler; private handleSectionClick; } export {};