import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
import type { Color } from '../../interface';
import type { TabBarChangedEventDetail } from './tab-bar-interface';
/**
 * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
 * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
 */
export declare class TabBar implements ComponentInterface {
    private keyboardCtrl;
    private didLoad;
    el: HTMLElement;
    keyboardVisible: boolean;
    /**
     * The color to use from your application's color palette.
     * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
     * For more information on colors, see [theming](/docs/theming/basics).
     */
    color?: Color;
    /**
     * The selected tab component
     */
    selectedTab?: string;
    selectedTabChanged(): void;
    /**
     * If `true`, the tab bar will be translucent.
     * Only applies when the theme is `"ios"` and the device supports
     * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
     */
    translucent: boolean;
    /**
     * Set to `"compact"` to display a width based on the items
     * inside the tab bar. This value will only work for the
     * `ionic` theme.
     *
     * Set to `"full"` to display a full width tab bar.
     *
     * Defaults to `"full"`.
     */
    expand: 'compact' | 'full';
    /**
     * Set to `"soft"` for a tab bar with slightly rounded corners,
     * `"round"` for a tab bar with fully rounded corners, or
     * `"rectangular"` for a tab bar without rounded corners.
     *
     * Defaults to `"round"` for the `"ionic"` theme, undefined for all other themes.
     */
    shape?: 'soft' | 'round' | 'rectangular';
    /** @internal */
    ionTabBarChanged: EventEmitter<TabBarChangedEventDetail>;
    /**
     * @internal
     * This event is used in IonContent to correctly
     * calculate the fullscreen content offsets
     * when IonTabBar is used.
     */
    ionTabBarLoaded: EventEmitter<void>;
    componentDidLoad(): void;
    connectedCallback(): Promise<void>;
    disconnectedCallback(): void;
    private getShape;
    render(): any;
}
