export type MenuElement = string | HTMLElement; export type SmoothScroll = boolean | ScrollIntoViewOptions; export type Options = { sectionClass: string; menuActiveTarget: string; offset: number; hrefAttribute: string; activeClass: string; scrollContainer: string | HTMLElement; smoothScroll: SmoothScroll; smoothScrollBehavior?: (targetElement: HTMLElement, smoothScrollOptions: SmoothScroll) => void; onActive?: (activeItem: HTMLElement) => void; }; export declare class ScrollSpy { menuList: HTMLElement | null; options: Options; scroller: HTMLElement | Window | null; sections: NodeListOf; protected activeItem: HTMLElement | null; constructor(menu: MenuElement, options?: Partial); attachEventListeners(): void; onClick(event: MouseEvent): void; onScroll(): void; scrollTo(targetElement: HTMLElement): void; getMenuItemBySection(section?: HTMLElement): HTMLElement | null | undefined; getSectionInView(): HTMLElement | undefined; setActive(menuItem: HTMLElement): void; removeCurrentActive({ ignore }?: { ignore?: HTMLElement; }): void; }