import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { QdScrollingService } from '../../core/services/scrolling.service';
import { QdTableStoreService } from '../store/table-store.service';
import * as i0 from "@angular/core";
/**
 * The `QdScrollToPaginationDirective` directive makes it possible to scroll to the pagination section of a table when changing pages. It synchronizes with the page change events of the table and triggers scrolling when it is necessary to keep the pagination section accessible to the user.
 *
 * Apply this directive to the HTML element representing the pagination section of the QuickDesk table.
 */
export declare class QdScrollToPaginationDirective<T extends string> implements OnInit, OnDestroy {
    private readonly elementRef;
    private readonly tableStoreService;
    private readonly scrollingService;
    private _destroyed$;
    private _bottom;
    constructor(elementRef: ElementRef, tableStoreService: QdTableStoreService<T>, scrollingService: QdScrollingService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private getScrollBottom;
    private handleScrollAnalysis;
    private hasRequestBeenTriggered;
    private hasRequestSucceeded;
    private shouldScroll;
    private performScrollIntoView;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdScrollToPaginationDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QdScrollToPaginationDirective<any>, "[qdScrollToPagination]", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=scroll-to-pagination.directive.d.ts.map