import type { VNode } from "vue";
export declare const IonTabBar: import("vue").DefineComponent<{}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {
    tabState: {
        activeTab: string | undefined;
        tabs: {};
        /**
         * Passing this prop to each tab button
         * lets it be aware of the presence of
         * the router outlet.
         */
        hasRouterOutlet: boolean;
    };
    tabVnodes: VNode[];
    _tabsWillChange: {
        type: FunctionConstructor;
        default: () => void;
    };
    _tabsDidChange: {
        type: FunctionConstructor;
        default: () => void;
    };
}, {}, {
    setupTabState(ionRouter: any): void;
    /**
     * This method is called upon setup and when the
     * history changes. It checks the current route
     * and updates the active tab accordingly.
     *
     * History changes only occur when the router
     * outlet is present. Due to this, the
     * `ionTabsDidChange` and `ionTabsWillChange`
     * events are only emitted when the router
     * outlet is present. A different approach must
     * be taken for tabs without a router outlet.
     *
     * @param ionRouter
     */
    checkActiveTab(ionRouter: any): void;
    handleIonTabButtonClick(event: CustomEvent<{
        href: string;
        selected: boolean;
        tab: string;
    }>): void;
    tabSwitch(activeTab: string, ionRouter?: any): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
