import { ElementRef, NgZone, OnInit } from '@angular/core';
import { VscrollPort } from './vscroll.port';
import { VscrollContext } from './vscroll.context';
import { VscrollBox } from './vscroll.box';
import { VscrollLayout } from './vscroll.layout';
import { IVscrollPosition } from './vscroll.position';
import { VscrollDirective } from './vscroll.directive';
import { VscrollLink } from './vscroll.link';
export declare class VscrollPortXDirective extends VscrollPort implements OnInit {
    private zone;
    private elementRef;
    context: VscrollContext;
    markup: {};
    layout: VscrollLayout;
    constructor(zone: NgZone, elementRef: ElementRef, view: VscrollDirective);
    ngOnInit(): VscrollLink;
    reset(): void;
    emit(f: () => void): void;
    getPositionUsingItemSize(itemSize: number, box: VscrollBox, arm: number): IVscrollPosition;
    getPositionUsingOffsets(offsets: Array<number>, box: VscrollBox, arm: number): IVscrollPosition;
    move(left: number, right: number): void;
    getItemSize(): number;
    getScrollSize(box: VscrollBox): number;
    getSize(box: VscrollBox): number;
    recycleFactory(items: Array<any>): (index: number, count: number) => number[];
    hasChanges(newBox: VscrollBox, oldBox: VscrollBox): boolean;
    private pad(pos, value);
}
