type Constructor = new (...args: any[]) => {}; /** * A higher-order function that enhances a base class with infinite scrolling functionality. * * @template TBase - The base class constructor type. * @param {TBase} Base - The base class to enhance with infinite scrolling. * @returns {TBase & InfiniteScrollable} - The extended class with infinite scrolling capabilities. */ export default function InfiniteScrollable(Base: TBase): { new (...args: any[]): { /** * Default options for infinite scrolling. * * @type {object} * @property {number} threshold - The threshold value to trigger loading more items. * @property {number} limit - The limit of items to load per page. * @property {string} totalProp - The property name for the total number of items. * @property {string} pageProp - The property name for the current page number. */ _infiniteScrollOptions: { threshold: number; limit: number; totalProp: string; pageProp: string; }; /** * Event handler for the scroll event with debouncing. * * @param {Event} e - The scroll event object. */ onScroll: import("lodash").DebouncedFunc<(e: any) => void>; /** * An async function to handle scroll action when the threshold is reached. */ scrollAction(): Promise; }; } & TBase; export {};