import { ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef } from '@angular/core';
import { IIdentified, Paging } from '@c8y/client';
import * as i0 from "@angular/core";
export declare class LoadMoreComponent {
    private element;
    private cdRef;
    paging: Paging<any>;
    useIntersection: boolean;
    hidden: boolean;
    container: ElementRef;
    class: string;
    maxIterations: number;
    noMoreDataHint: TemplateRef<any>;
    loadingTemplate: TemplateRef<any>;
    hideNoMoreDataHint: boolean;
    loadNextLabel: string;
    loadingLabel: string;
    onLoad: EventEmitter<IIdentified>;
    isLoading: boolean;
    counter: number;
    hasNoMoreData: boolean;
    private loadUntilIntersected;
    private readonly LOAD_SAME_PAGE_THRESHOLD;
    private intersectionObserver;
    private destroyed;
    get hostClass(): string;
    get hasMore(): boolean;
    get isLastPage(): boolean;
    constructor(element: ElementRef, cdRef: ChangeDetectorRef);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    loadMore(event?: any): Promise<void>;
    private intersectionLoading;
    private getLoadingThreshold;
    private shouldShowNoMoreDataHint;
    private shouldSwitchMode;
    private buttonInView;
    static ɵfac: i0.ɵɵFactoryDeclaration<LoadMoreComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LoadMoreComponent, "c8y-load-more", never, { "paging": { "alias": "paging"; "required": false; }; "useIntersection": { "alias": "useIntersection"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "container": { "alias": "container"; "required": false; }; "class": { "alias": "class"; "required": false; }; "maxIterations": { "alias": "maxIterations"; "required": false; }; "noMoreDataHint": { "alias": "noMoreDataHint"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "hideNoMoreDataHint": { "alias": "hideNoMoreDataHint"; "required": false; }; "loadNextLabel": { "alias": "loadNextLabel"; "required": false; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; }; }, { "onLoad": "onLoad"; }, never, never, false, never>;
}
//# sourceMappingURL=load-more.component.d.ts.map