/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Observable, Observer } from 'rxjs';
import { RowHeightService } from './row-height.service';
/**
 * @hidden
 */
export declare class ScrollAction {
    offset: number;
    constructor(offset: number);
}
/**
 * @hidden
 */
export declare class PageAction {
    skip: number;
    constructor(skip: number);
}
/**
 * @hidden
 */
export type Action = ScrollAction | PageAction;
/**
 * @hidden
 */
export type ScrollElement = {
    offsetHeight: number;
    offsetWidth: number;
    scrollLeft: number;
    scrollTop: number;
};
/**
 * @hidden
 */
export declare class ScrollerService {
    private scrollObservable;
    private direction;
    private firstLoaded;
    private lastLoaded;
    private lastScroll;
    private take;
    private total;
    private rowHeightService;
    private scrollSubscription;
    private subscription;
    private bottomOffset;
    private topOffset;
    constructor(scrollObservable: Observable<any>);
    create(rowHeightService: RowHeightService, skip: number, take: number, total: number, topOffset?: number, bottomOffset?: number, direction?: 'horizontal' | 'vertical'): Observable<Action>;
    destroy(): void;
    protected onScroll({ scrollLeft, scrollTop, offsetHeight, offsetWidth }: ScrollElement, observer: Observer<Action>): void;
    private rowOffset;
    private rowsForHeight;
    private unsubscribe;
}
