export type InfiniteScrollMode = 'auto' | 'manual' | 'both'; import type { Snippet } from 'svelte'; interface InfiniteScrollProps { loading?: boolean; hasMore?: boolean; disabled?: boolean; error?: string | null; /** IntersectionObserver root margin */ rootMargin?: string; /** IntersectionObserver threshold 0–1 */ threshold?: number; /** * Scroll container for the observer. Defaults to viewport. * Pass the element that actually scrolls (e.g. a max-height list). */ scrollRoot?: HTMLElement | null; /** How to trigger the next page */ mode?: InfiniteScrollMode; /** Where the load sentinel sits relative to children */ sentinel?: 'end' | 'start'; endMessage?: string; loadMoreLabel?: string; retryLabel?: string; class?: string; children?: Snippet; /** Replaces default spinner */ loader?: Snippet; /** Replaces default end message */ end?: Snippet; /** Replaces default error + retry */ errorSnippet?: Snippet; onloadmore?: () => void | Promise; onretry?: () => void; } declare const InfiniteScroll: import("svelte").Component; type InfiniteScroll = ReturnType; export default InfiniteScroll;