import { ListViewBase, separatorColorProperty, itemTemplatesProperty, stickyHeaderProperty, stickyHeaderTemplateProperty, sectionedProperty, showSearchProperty } from './list-view-common';
import { View, KeyedTemplate } from '../core/view';
import { Color } from '../../color';
export * from './list-view-common';
export declare class ListView extends ListViewBase {
    [separatorColorProperty.getDefault]: () => {
        dividerHeight: number;
        divider: android.graphics.drawable.Drawable;
    };
    [separatorColorProperty.setNative]: (value: Color | {
        dividerHeight: number;
        divider: android.graphics.drawable.Drawable;
    }) => void;
    [itemTemplatesProperty.getDefault]: () => KeyedTemplate[];
    [itemTemplatesProperty.setNative]: (value: KeyedTemplate[]) => void;
    [stickyHeaderProperty.setNative]: (value: boolean) => void;
    [stickyHeaderTemplateProperty.setNative]: (value: string) => void;
    [sectionedProperty.setNative]: (value: boolean) => void;
    [showSearchProperty.setNative]: (value: boolean) => void;
    nativeViewProtected: android.widget.ListView;
    private _androidViewId;
    _realizedItems: Map<globalAndroid.view.View, {
        view: View;
        templateKey: string;
    }>;
    _availableViews: Map<string, Set<globalAndroid.view.View>>;
    _realizedTemplates: Map<string, Map<globalAndroid.view.View, View>>;
    private _stickyHeaderView;
    private _stickyHeaderHeight;
    private _scrollListener;
    _hiddenHeaderPositions: Set<number>;
    private _searchView;
    private _searchListener;
    get hasSearchView(): boolean;
    private _ensureAvailableViews;
    _registerViewToTemplate(templateKey: string, nativeView: android.view.View, view: View): void;
    _markViewUsed(nativeView: android.view.View): void;
    _markViewUnused(nativeView: android.view.View): void;
    _getKeyFromView(nativeView: android.view.View): string;
    _hasAvailableView(templateKey: string): boolean;
    _getAvailableView(templateKey: string): globalAndroid.view.View;
    createNativeView(): globalAndroid.widget.ListView;
    initNativeView(): void;
    disposeNativeView(): void;
    private _cleanupStickyHeader;
    onLoaded(): void;
    refresh(): void;
    scrollToIndex(index: number): void;
    scrollToIndexAnimated(index: number): void;
    get _childrenCount(): number;
    eachChildView(callback: (child: View) => boolean): void;
    _dumpRealizedTemplates(): void;
    private clearRealizedCells;
    isItemAtIndexVisible(index: number): boolean;
    private _setupStickyHeader;
    private _createStickyHeaderView;
    private _addStickyHeaderToParent;
    private _addListViewPadding;
    private _setupScrollListener;
    private _getCurrentSection;
    private _updateStickyHeader;
    private _updateHiddenHeaders;
    private _setupSearchView;
    private _addSearchPadding;
    private _addSearchToParent;
    private _cleanupSearchView;
    private _repositionStickyHeader;
}
