import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
import type { Components } from '@ionic/core/components';
import type { IonInfiniteScrollCustomEvent } from '@ionic/core/components';
import * as i0 from "@angular/core";
export declare class IonInfiniteScroll {
    protected z: NgZone;
    protected el: HTMLIonInfiniteScrollElement;
    ionInfinite: EventEmitter<IonInfiniteScrollCustomEvent<void>>;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<IonInfiniteScroll, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonInfiniteScroll, "ion-infinite-scroll", never, { "disabled": { "alias": "disabled"; "required": false; }; "position": { "alias": "position"; "required": false; }; "threshold": { "alias": "threshold"; "required": false; }; }, { "ionInfinite": "ionInfinite"; }, never, ["*"], true, never>;
}
export declare interface IonInfiniteScroll extends Components.IonInfiniteScroll {
    /**
     * Emitted when the scroll reaches
  the threshold distance. From within your infinite handler,
  you must call the infinite scroll's `complete()` method when
  your async operation has completed.
     */
    ionInfinite: EventEmitter<IonInfiniteScrollCustomEvent<void>>;
}
