import { AddChildFromBuilder, CoercibleProperty, CoreTypes, GridLayout, ItemsSource, KeyedTemplate, ObservableArray, Property, Template, View, ViewBase } from '@nativescript/core';
export type Orientation = 'horizontal' | 'vertical';
export declare namespace knownTemplates {
    const itemTemplate = "itemTemplate";
}
export declare namespace knownMultiTemplates {
    const itemTemplates = "itemTemplates";
}
export declare namespace knownCollections {
    const items = "items";
}
export declare const pagerTraceCategory = "ns-pager";
export declare function PagerLog(message: string): void;
export declare function PagerError(message: string): void;
export { ItemsSource };
export interface ItemEventData {
    eventName: string;
    object: any;
    index: number;
    view: View;
    android?: any;
    ios?: any;
}
export declare enum Transformer {
    SCALE = "scale"
}
export declare abstract class PagerBase extends View implements AddChildFromBuilder {
    static mRegisteredTransformers: {};
    static selectedIndexChangeEvent: string;
    static scrollEvent: string;
    static swipeEvent: string;
    static swipeStartEvent: string;
    static swipeOverEvent: string;
    static swipeEndEvent: string;
    static loadMoreItemsEvent: string;
    static itemLoadingEvent: string;
    static itemDisposingEvent: string;
    static knownFunctions: string[];
    items: any[] | ItemsSource;
    selectedIndex: number;
    itemTemplate: string | Template;
    itemTemplates: string | KeyedTemplate[];
    canGoRight: boolean;
    canGoLeft: boolean;
    spacing: CoreTypes.PercentLengthType;
    peaking: CoreTypes.PercentLengthType;
    perPage: number;
    circularMode: boolean;
    autoPlayDelay: number;
    autoPlay: boolean;
    preserveIndexOnItemsChange: boolean;
    orientation: Orientation;
    transformers: string;
    loadMoreCount: number;
    disableSwipe: boolean;
    abstract readonly _childrenCount: number;
    protected _effectiveItemHeight: number;
    protected _effectiveItemWidth: number;
    _childrenViews: {
        view: PagerItem;
        type: number;
    }[];
    protected mObservableArrayInstance: ObservableArray<any>;
    get padding(): string | CoreTypes.LengthType;
    set padding(value: string | CoreTypes.LengthType);
    get paddingTop(): CoreTypes.LengthType;
    set paddingTop(value: CoreTypes.LengthType);
    get paddingRight(): CoreTypes.LengthType;
    set paddingRight(value: CoreTypes.LengthType);
    get paddingBottom(): CoreTypes.LengthType;
    set paddingBottom(value: CoreTypes.LengthType);
    get paddingLeft(): CoreTypes.LengthType;
    set paddingLeft(value: CoreTypes.LengthType);
    abstract refresh(): void;
    static registerTransformer(key: string, transformer: any): void;
    indicator: {
        setProgress(position: number, progress: number): any;
        setSelection(index: number, animated?: boolean): any;
        setCount(count: number): any;
        withoutAnimation(callback: Function): any;
        getCount(): number;
        getSelection(): number;
        setInteractiveAnimation(animated?: boolean): any;
    };
    setIndicator(indicator: any): void;
    disposeNativeView(): void;
    protected abstract _observableArrayHandler(arg: any): void;
    setObservableArrayInstance(value: any): void;
    getChildView(index: number): View;
    _removeView(view: ViewBase): void;
    protected _removeChildView(index: number): void;
    protected _addChildView(view: any, type: any): void;
    _addChildFromBuilder(name: string, value: any): void;
    private _itemTemplateSelector;
    private _itemTemplateSelectorBindable;
    _defaultTemplate: KeyedTemplate;
    _itemTemplatesInternal: KeyedTemplate[];
    private _itemIdGenerator;
    get itemIdGenerator(): (item: any, index: number, items: any) => number;
    set itemIdGenerator(generatorFn: (item: any, index: number, items: any) => number);
    get itemTemplateSelector(): string | ((item: any, index: number, items: any) => string);
    set itemTemplateSelector(value: string | ((item: any, index: number, items: any) => string));
    onItemViewLoaderChanged(): void;
    _itemViewLoader: Function;
    get itemViewLoader(): Function;
    set itemViewLoader(value: Function);
    _getItemTemplateKey(index: number): string;
    _getItemTemplate(index: number): KeyedTemplate;
    _prepareItem(item: View, index: number): void;
    _getDataItem(index: number): any;
    _getDefaultItemContent(index: number): View;
    abstract get disableAnimation(): boolean;
    abstract set disableAnimation(value: boolean);
    abstract itemTemplateUpdated(oldData: any, newData: any): void;
    onLayout(left: number, top: number, right: number, bottom: number): void;
    convertToSize(length: any): number;
}
export declare class PagerItem extends GridLayout {
}
export declare const circularModeProperty: Property<PagerBase, boolean>;
export declare const selectedIndexProperty: CoercibleProperty<PagerBase, number>;
export declare const spacingProperty: Property<PagerBase, CoreTypes.LengthType>;
export declare const peakingProperty: Property<PagerBase, CoreTypes.LengthType>;
export declare const itemsProperty: Property<PagerBase, any>;
export declare const itemTemplateProperty: Property<PagerBase, string | Template>;
export declare const itemTemplatesProperty: Property<PagerBase, string | KeyedTemplate[]>;
export declare const canGoRightProperty: Property<PagerBase, boolean>;
export declare const canGoLeftProperty: Property<PagerBase, boolean>;
export declare const orientationProperty: Property<PagerBase, Orientation>;
export declare const disableSwipeProperty: Property<PagerBase, boolean>;
export declare const perPageProperty: Property<PagerBase, number>;
export declare const transformersProperty: Property<PagerBase, string>;
export declare const showIndicatorProperty: Property<PagerBase, boolean>;
export declare const autoPlayProperty: Property<PagerBase, boolean>;
export declare const autoplayDelayProperty: Property<PagerBase, number>;
