/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
/**
 * @hidden
 *
 * Tracks the rendered range for endless scroll mode.
 * Pure logic — no Angular dependency.
 */
export interface EndlessScrollRange {
    start: number;
    end: number;
}
/**
 * @hidden
 */
export declare class EndlessScrollState {
    startIndex: number;
    endIndex: number;
    isLoading: boolean;
    get isAtStart(): boolean;
    get isAtEnd(): boolean;
    private _total;
    private _pageSize;
    get pageSize(): number;
    init(total: number, pageSize: number): EndlessScrollRange;
    extendUp(): EndlessScrollRange | null;
    extendDown(): EndlessScrollRange | null;
    jumpTo(targetIndex: number): EndlessScrollRange;
    jumpToEnd(): EndlessScrollRange;
    updateTotal(total: number): void;
    reset(): void;
    contains(index: number): boolean;
    syncFromInputs(start: number, end: number, total: number): void;
}
