import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { BehaviorSubject, Observable, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class InfiniteScrollComponent implements OnInit, AfterViewInit, OnDestroy {
    private _changeDetection;
    items?: any[];
    itemSize: number;
    batchSize: number;
    itemTemplate: TemplateRef<unknown>;
    callback: (skip: number, limit: number) => Observable<unknown[]>;
    itemsChanged: EventEmitter<any[]>;
    viewport: CdkVirtualScrollViewport;
    _scrollWindow: boolean;
    set scrollWindow(scrollWindow: any);
    indexChanged$: BehaviorSubject<void>;
    loading$: BehaviorSubject<boolean>;
    done$: BehaviorSubject<boolean>;
    subscription: Subscription;
    subscriptionRenderChanges: Subscription;
    constructor(_changeDetection: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    reset(): void;
    private _checkViewport;
    private _subscribe;
    private _unsubscribe;
    static ɵfac: i0.ɵɵFactoryDeclaration<InfiniteScrollComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InfiniteScrollComponent, "ax-infinite-scroll", never, { "items": "items"; "itemSize": "itemSize"; "batchSize": "batchSize"; "itemTemplate": "itemTemplate"; "callback": "callback"; "scrollWindow": "scrollWindow"; }, { "itemsChanged": "itemsChanged"; }, never, ["*"], false, never>;
}
