import { Base, Point, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "./type";
import { IScrollerView } from "./IScrollerView";
import { DomRenderer, DomWrapper } from "./dom";
import { IExecutionContext } from "./IExecutionContext";
import { CanvasGestureDOMEventProxy } from "./CanvasGestureDOMEventProxy";
import { Brush } from "./Brush";
import { Key } from "./Key";
import { DoubleAnimator } from "./DoubleAnimator";
import { ScrollbarStyle } from "./ScrollbarStyle";
import { IScrollerKeyboardListener } from "./IScrollerKeyboardListener";
import { ScrollerScrollingEventArgs } from "./ScrollerScrollingEventArgs";
/**
 * @hidden
 */
export declare class ScrollerView extends Base implements IScrollerView {
    static $t: Type;
    constructor(a: Scroller);
    c: Scroller;
    protected ab: DomRenderer;
    protected af: DomWrapper;
    protected b: IExecutionContext;
    getDefaultScrollbarBrush(): Brush;
    protected aa: HTMLDivElement;
    protected a: CanvasGestureDOMEventProxy;
    ae: DomWrapper;
    ac: DomWrapper;
    ad: DomWrapper;
    ag: DomWrapper;
    provideContainer(a: any): void;
    private k;
    private r;
    private ah;
    private ai;
    private aj;
    private p;
    private q;
    private n;
    private o;
    private e;
    private j;
    onViewportHeightChanged(a: number): void;
    onViewportWidthChanged(a: number): void;
    onContentHeightChanged(a: number): void;
    onContentWidthChanged(a: number): void;
    cancelInertia(): void;
    private ak;
    private al;
    updateScrollTop(a: number): void;
    private am;
    getInitialScrollLeft(): number;
    getInitialScrollTop(): number;
    private l;
    private m;
    private an;
    updateScrollLeft(a: number): void;
    provideContent(a: any): void;
    private d;
    requestWork(a: () => void): void;
    private i;
    private h;
    private w;
    private t;
    private x;
    private u;
    private g;
    private f;
    private v;
    private s;
    hideVScrollbar(): void;
    hideHScrollbar(): void;
    updateVScrollbar(a: number, b: number): void;
    updateHScrollbar(a: number, b: number): void;
    updateScrollbarBrush(): void;
    updateScrollbarStatus(a: boolean): void;
    private y;
    private z;
    focus(): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    attachNativeScroll(): void;
    detachNativeScroll(): void;
    private onNativeScroll;
}
/**
 * @hidden
 */
export declare class Scroller extends Base implements INotifyPropertyChanged {
    static $t: Type;
    constructor();
    private bi;
    get smallVerticalChange(): number;
    set smallVerticalChange(a: number);
    private _keyboardListener;
    get keyboardListener(): IScrollerKeyboardListener;
    set keyboardListener(a: IScrollerKeyboardListener);
    private ba;
    get largeVerticalChange(): number;
    set largeVerticalChange(a: number);
    private a4;
    get br(): number;
    set br(a: number);
    private a2;
    get bp(): number;
    set bp(a: number);
    private bh;
    get smallHorizontalChange(): number;
    set smallHorizontalChange(a: number);
    private a9;
    get largeHorizontalChange(): number;
    set largeHorizontalChange(a: number);
    private a3;
    get bq(): number;
    set bq(a: number);
    private a1;
    get bo(): number;
    set bo(a: number);
    private a7;
    get contentWidth(): number;
    set contentWidth(a: number);
    private bb;
    get minScrollbarSize(): number;
    set minScrollbarSize(a: number);
    private be;
    get scrollbarSpan(): number;
    set scrollbarSpan(a: number);
    ap(a: Key, b: boolean, c: boolean): boolean;
    private av;
    private am;
    private al;
    private aw;
    private aj;
    private an;
    private au;
    private aq;
    private ax;
    private ai;
    private at;
    private as;
    private ak;
    private ao;
    private bk;
    get verticalTrackStartInset(): number;
    set verticalTrackStartInset(a: number);
    private dy;
    get scrollbarBrush(): Brush;
    set scrollbarBrush(a: Brush);
    private dh;
    private x;
    private get ay();
    private set ay(value);
    protected dk(a: string, b: any, c: any): void;
    private a6;
    get contentHeight(): number;
    set contentHeight(a: number);
    di(a: number): void;
    dg(a: number): void;
    onViewportSizeChanged(a: number, b: number, c?: boolean): void;
    private bm;
    get viewportWidth(): number;
    set viewportWidth(a: number);
    private bl;
    get viewportHeight(): number;
    set viewportHeight(a: number);
    private bg;
    get scrollTop(): number;
    set scrollTop(a: number);
    private bf;
    get scrollLeft(): number;
    set scrollLeft(a: number);
    private c;
    get view(): IScrollerView;
    set view(a: IScrollerView);
    provideContainer(a: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    provideContent(a: any): void;
    ar(a: Point, b: number, c: number): boolean;
    private v;
    get lockScrollDirection(): boolean;
    set lockScrollDirection(a: boolean);
    ab: boolean;
    private a5;
    get actualVerticalScrollbarHeight(): number;
    set actualVerticalScrollbarHeight(a: number);
    private a0;
    get actualHorizontalScrollbarWidth(): number;
    set actualHorizontalScrollbarWidth(a: number);
    private h;
    get scrollbarStyle(): ScrollbarStyle;
    set scrollbarStyle(a: ScrollbarStyle);
    private a8;
    get horizontalScrollbarStatus(): number;
    set horizontalScrollbarStatus(a: number);
    private bj;
    get verticalScrollbarStatus(): number;
    set verticalScrollbarStatus(a: number);
    private j;
    get horizontalAnimation(): DoubleAnimator;
    private k;
    get verticalAnimation(): DoubleAnimator;
    private bv;
    private b6;
    private bw;
    private b7;
    private _executionContext;
    get executionContext(): IExecutionContext;
    set executionContext(a: IExecutionContext);
    get isVerticalActive(): boolean;
    get isHorizontalActive(): boolean;
    private _isDraggingVBar;
    get isDraggingVBar(): boolean;
    set isDraggingVBar(a: boolean);
    private _isDraggingHBar;
    get isDraggingHBar(): boolean;
    set isDraggingHBar(a: boolean);
    private s;
    private q;
    private r;
    private d0;
    private p;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    focus(): void;
    df(a: Point): void;
    de(a: Point): void;
    onScrolling: (sender: any, args: ScrollerScrollingEventArgs) => void;
    onScrollStart: (sender: any, args: ScrollerScrollingEventArgs) => void;
    onScrollStop: (sender: any, args: ScrollerScrollingEventArgs) => void;
    private _isScrolling;
    get isScrolling(): boolean;
    set isScrolling(a: boolean);
    scrollTo(a: number, b: number): void;
    private bc;
    private bd;
    private dp;
    private dq;
    private w;
    private dn;
    private az;
    private du;
    dx(): void;
    dv(): void;
    private aa;
    private dw;
    dd(a: Point): void;
    private c2;
    private c3;
    c4(): void;
    c5(): void;
    c8(): void;
    c9(): void;
    private cc;
    private cd;
    private ce;
    private o;
    private z;
    private n;
    private y;
    private t;
    private u;
    private ds;
    private dt;
    private c6;
    private c7;
}
