import { AfterViewInit, ElementRef, EventEmitter, Renderer, ViewContainerRef } from '@angular/core';
import { App } from '../app/app';
import { Config } from '../../config/config';
import { DeepLinker } from '../../navigation/deep-linker';
import { Ion } from '../ion';
import { NavController } from '../../navigation/nav-controller';
import { NavControllerBase } from '../../navigation/nav-controller-base';
import { NavOptions } from '../../navigation/nav-util';
import { Platform } from '../../platform/platform';
import { Tab } from './tab';
import { TabHighlight } from './tab-highlight';
import { ViewController } from '../../navigation/view-controller';
export declare class Tabs extends Ion implements AfterViewInit {
    viewCtrl: ViewController;
    private _app;
    private _platform;
    private _linker;
    _ids: number;
    _tabs: Tab[];
    _sbPadding: boolean;
    _top: number;
    _bottom: number;
    id: string;
    _selectHistory: string[];
    _subPages: boolean;
    color: string;
    mode: string;
    selectedIndex: number;
    private tabbarLayout;
    tabsLayout: string;
    private tabbarPlacement;
    tabsPlacement: string;
    tabsHighlight: boolean;
    ionChange: EventEmitter<Tab>;
    _highlight: TabHighlight;
    _tabbar: ElementRef;
    portal: ViewContainerRef;
    parent: NavControllerBase;
    constructor(parent: NavController, viewCtrl: ViewController, _app: App, config: Config, elementRef: ElementRef, _platform: Platform, renderer: Renderer, _linker: DeepLinker);
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    initTabs(): void;
    _setConfig(attrKey: string, fallback: any): void;
    add(tab: Tab): string;
    select(tabOrIndex: number | Tab, opts?: NavOptions): void;
    previousTab(trimHistory?: boolean): Tab;
    getByIndex(index: number): Tab;
    getSelected(): Tab;
    getActiveChildNav(): Tab;
    getIndex(tab: Tab): number;
    length(): number;
    private _touchActive(tab);
    setTabbarPosition(top: number, bottom: number): void;
}
