import type { ReactiveController, ReactiveControllerHost } from 'lit'; /** * We can have any number of components open at a time, all of which lock scroll. * Consider multiple modals being open, plus some popouts, etc. * * So we need some bookkeeping to know when to unlock scroll... * * But we can't simply keep a count of how many components are open, * since a misbehaving component may call lockScroll() multiple times. * * Nor can we rely on the first component to call lockScroll() to be the last to unlockScroll(), * since we cannot guarantee order of operations. * * Therefore, we track instances of ScrollbarController in a Set, * and only unlock scroll when the set is empty. * * We also need to be careful to restore any styles that were there * before we locked scroll. */ export declare class ScrollbarController implements ReactiveController { private static locks; private static resets; constructor(host: ReactiveControllerHost); hostDisconnected(): void; lockScroll(): void; unlockScroll(): void; private static setStyle; }