import { IterableDifferFactory, DefaultIterableDiffer, ChangeDetectorRef, IterableDiffer, TrackByFunction } from '@angular/core'; import { MongoCursorObserver } from './mongo_cursor_observer'; export declare function stringify(token: any): string; export declare class IterableChangeRecord { item: V; trackById: any; currentIndex: number | null; previousIndex: number | null; _nextPrevious: IterableChangeRecord | null; _prev: IterableChangeRecord | null; _next: IterableChangeRecord | null; _prevDup: IterableChangeRecord | null; _nextDup: IterableChangeRecord | null; _prevRemoved: IterableChangeRecord | null; _nextRemoved: IterableChangeRecord | null; _nextAdded: IterableChangeRecord | null; _nextMoved: IterableChangeRecord | null; _nextIdentityChange: IterableChangeRecord | null; constructor(item: V, trackById: any); toString(): string; } export interface ObserverFactory { create(cursor: Object): Object; } export declare class MongoCursorDifferFactory implements IterableDifferFactory { supports(obj: Object): boolean; create(trackByFn?: TrackByFunction): IterableDiffer; } /** * A class that implements Angular 2's concept of differs for ngFor. * API consists mainly of diff method and methods like forEachAddedItem * that is being run on each change detection cycle to apply new changes if any. */ export declare class MongoCursorDiffer extends DefaultIterableDiffer { private _inserted; private _removed; private _moved; private _updated; private _changes; private _curObserver; private _lastChanges; private _forSize; private _cursor; private _obsFactory; private _sub; constructor(_cdr: ChangeDetectorRef, obsFactory: ObserverFactory); forEachAddedItem(fn: Function): void; forEachMovedItem(fn: Function): void; forEachRemovedItem(fn: Function): void; forEachIdentityChange(fn: Function): void; forEachOperation(fn: Function): void; diff(cursor: any): this; onDestroy(): void; readonly observer: MongoCursorObserver; _destroyObserver(): void; _updateLatestValue(changes: any): void; _reset(): void; _applyCleanup(): void; _applyChanges(changes: any): void; _createChangeRecord(currentIndex: any, prevIndex: any, item: any): IterableChangeRecord; }