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;
}