import { NgZone, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
import { Nullable } from '@angular-ru/cdk/typings';
import { VirtualContext, VirtualIndex } from '../interfaces/table-builder.external';
import * as i0 from "@angular/core";
export declare class VirtualForDirective<T> implements OnDestroy {
    private readonly view;
    private readonly template;
    private readonly ngZone;
    private cache;
    private _source;
    private _indexes;
    private removeFrameId?;
    private initFrameId?;
    private dirty;
    virtualForDiffIndexes?: Nullable<number[]>;
    constructor(view: ViewContainerRef, template: TemplateRef<VirtualContext<T>>, ngZone: NgZone);
    set virtualForOriginSource(origin: Nullable<T[]>);
    set virtualForOf(indexes: Nullable<VirtualIndex[]>);
    private get sourceRef();
    ngOnDestroy(): void;
    private createNewNodes;
    private createEmbeddedView;
    private createEmbeddedViewByIndex;
    private removeOldNodes;
    private removeEmbeddedViewByIndex;
    static ɵfac: i0.ɵɵFactoryDeclaration<VirtualForDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<VirtualForDirective<any>, "[virtualFor][virtualForOf]", never, { "virtualForDiffIndexes": "virtualForDiffIndexes"; "virtualForOriginSource": "virtualForOriginSource"; "virtualForOf": "virtualForOf"; }, {}, never>;
}
//# sourceMappingURL=virtual-for.directive.d.ts.map