import { Font } from '../styling/font';
import { TabViewBase, TabViewItemBase, itemsProperty, selectedIndexProperty, tabTextColorProperty, tabBackgroundColorProperty, tabTextFontSizeProperty, selectedTabTextColorProperty, androidSelectedTabHighlightColorProperty, androidOffscreenTabLimitProperty, androidIconRenderingModeProperty } from './tab-view-common';
import { textTransformProperty } from '../text-base';
import { CoreTypes } from '../../core-types';
import { Color } from '../../color';
import { fontSizeProperty, fontInternalProperty } from '../styling/style-properties';
export * from './tab-view-common';
export declare class TabViewItem extends TabViewItemBase {
    [fontSizeProperty.getDefault]: () => {
        nativeSize: number;
    };
    [fontSizeProperty.setNative]: (value: number | {
        nativeSize: number;
    }) => void;
    [fontInternalProperty.getDefault]: () => android.graphics.Typeface;
    [fontInternalProperty.setNative]: (value: Font | android.graphics.Typeface) => void;
    [textTransformProperty.getDefault]: () => "default";
    [textTransformProperty.setNative]: (value: CoreTypes.TextTransformType | "default") => void;
    nativeViewProtected: android.widget.TextView;
    tabItemSpec: org.nativescript.widgets.TabItemSpec;
    index: number;
    private _defaultTransformationMethod;
    get _hasFragments(): boolean;
    initNativeView(): void;
    onLoaded(): void;
    resetNativeView(): void;
    disposeNativeView(): void;
    createNativeView(): globalAndroid.widget.TextView;
    _update(): void;
    _getChildFragmentManager(): androidx.fragment.app.FragmentManager;
}
export declare const tabs: WeakRef<TabView>[];
export declare class TabView extends TabViewBase {
    [androidOffscreenTabLimitProperty.getDefault]: () => number;
    [androidOffscreenTabLimitProperty.setNative]: (value: number) => void;
    [androidIconRenderingModeProperty.getDefault]: () => "alwaysOriginal" | "alwaysTemplate";
    [androidIconRenderingModeProperty.setNative]: (value: "alwaysOriginal" | "alwaysTemplate") => void;
    [selectedIndexProperty.setNative]: (value: number) => void;
    [itemsProperty.getDefault]: () => TabViewItem[];
    [itemsProperty.setNative]: (value: TabViewItem[]) => void;
    [tabBackgroundColorProperty.getDefault]: () => android.graphics.drawable.Drawable;
    [tabBackgroundColorProperty.setNative]: (value: android.graphics.drawable.Drawable | Color) => void;
    [tabTextFontSizeProperty.getDefault]: () => number;
    [tabTextFontSizeProperty.setNative]: (value: number | {
        nativeSize: number;
    }) => void;
    [tabTextColorProperty.getDefault]: () => number;
    [tabTextColorProperty.setNative]: (value: number | Color) => void;
    [selectedTabTextColorProperty.getDefault]: () => number;
    [selectedTabTextColorProperty.setNative]: (value: number | Color) => void;
    [androidSelectedTabHighlightColorProperty.getDefault]: () => number;
    [androidSelectedTabHighlightColorProperty.setNative]: (value: number | Color) => void;
    private _tabLayout;
    private _viewPager;
    private _pagerAdapter;
    private _androidViewId;
    _originalBackground: any;
    constructor();
    get _hasFragments(): boolean;
    onItemsChanged(oldItems: TabViewItem[], newItems: TabViewItem[]): void;
    createNativeView(): org.nativescript.widgets.GridLayout;
    initNativeView(): void;
    _loadUnloadTabItems(newIndex: number): void;
    onLoaded(): void;
    onUnloaded(): void;
    disposeNativeView(): void;
    _onRootViewReset(): void;
    private disposeCurrentFragments;
    private shouldUpdateAdapter;
    private setAdapterItems;
    private getNativeRenderingMode;
    updateAndroidItemAt(index: number, spec: org.nativescript.widgets.TabItemSpec): void;
}
