import type { NamedBean } from '../context/bean';
import { BeanStub } from '../context/beanStub';
import type { BeanCollection } from '../context/context';
export declare function _requestAnimationFrame(beans: BeanCollection, callback: any): void;
export declare class AnimationFrameService extends BeanStub implements NamedBean {
    beanName: "animationFrameSvc";
    private createTasksP1;
    private createTasksP2;
    private destroyTasks;
    private ticking;
    active: boolean;
    private scrollGoingDown;
    private lastPage;
    private lastScrollTop;
    private taskCount;
    private cancelledTasks;
    setScrollTop(scrollTop: number): void;
    postConstruct(): void;
    private verifyAnimationFrameOn;
    createTask(task: () => void, index: number, list: 'createTasksP1' | 'createTasksP2'): void;
    cancelTask(task: () => void): void;
    private addTaskToList;
    private sortTaskList;
    addDestroyTask(task: () => void): void;
    private executeFrame;
    flushAllFrames(): void;
    schedule(): void;
    private requestFrame;
    isQueueEmpty(): boolean;
}
