import NightingaleElement from "@nightingale-elements/nightingale-new-core"; import { NightingaleScrollboxItem } from "./nightingale-scrollbox-item"; export declare class NightingaleScrollbox extends NightingaleElement { /** Amount added to the top and bottom side of the bounding box before the intersection test is performed. * Can be a number or CSS length. * This lets you adjust the bounds outward so that an item is considered visible even if it is still hidden but is close to the visible area. * Negative values will adjust the bound inward so that an item is considered hidden even if it is visible but is close to the edge of the visible area. */ "root-margin"?: string; /** If this attribute is set, wheel scrolling will be disabled whenever Ctrl (or Meta/Command) key is pressed. * This helps to prevent bad user experience when some elements in the scrollbox have special Ctrl+Wheel behavior (e.g. zoom) but the gaps between elements still have default scrolling behavior. */ "disable-scroll-with-ctrl"?: boolean; private readonly _items; /** Set of currently registered items */ get items(): ReadonlySet>; private observer?; private readonly callbacks; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; private initObserver; private disposeObserver; private observerCallback; /** Add a new scrollbox item and run "onRegister" callback on it. This method is called automatically for all `nightingale-scrollbox-item` elements within the `nightingale-scrollbox` element. */ register(item: NightingaleScrollboxItem): { unregister: () => void; }; /** Remove a scrollbox item and run "onUnregister" callback on it. Do nothing if the item is not registered. This method is called automatically when a `nightingale-scrollbox-item` element is removed from the `nightingale-scrollbox` element. */ unregister(item: NightingaleScrollboxItem): void; /** Unregister all items and release resources. */ dispose(): void; /** Set or remove "onRegister" callback function, which will be run on any newly registered items. Also run this callback function on all already registered items. */ onRegister(callback: ((item: NightingaleScrollboxItem) => void | Promise) | null | undefined): void; /** Set or remove "onEnter" callback function, which will be run on items when they become visible. Also run this callback function on all currently visible items. */ onEnter(callback: ((item: NightingaleScrollboxItem) => void | Promise) | null | undefined): void; /** Set or remove "onExit" callback function, which will be run on items when they become hidden. Also run this callback function on all currently hidden items. */ onExit(callback: ((item: NightingaleScrollboxItem) => void | Promise) | null | undefined): void; /** Set or remove "onUnregister" callback function, which will be run on items when they are unregistered. */ onUnregister(callback: ((item: NightingaleScrollboxItem) => void | Promise) | null | undefined): void; /** Disable or enable scrolling behavior with Ctrl or Meta/Command key pressed. */ private disableScrollWithCtrl; } //# sourceMappingURL=nightingale-scrollbox.d.ts.map