import { EventEmitter } from '../../stencil-public-runtime';
import { ISelectedTabIndicatorConfig, ITabNavigationConfig, ITabNavigationEvents, ITabNavigationItem, ITabsNotificationDict } from './tab-navigation.types';
import { EComponentSize } from '../../utils/types';
export declare class KvTabNavigation implements ITabNavigationConfig, ITabNavigationEvents {
    /** @inheritdoc */
    tabs: ITabNavigationItem[];
    /** @inheritdoc */
    selectedTabKey?: number | string;
    /** @inheritdoc */
    notifications?: ITabsNotificationDict;
    /** @inheritdoc */
    size?: EComponentSize;
    /** @inheritdoc */
    tabChange: EventEmitter<string>;
    private tabsIndicatorConfig;
    /** Listen to custom DOM event of tab selection */
    tabSelectionHandler(event: CustomEvent<string>): void;
    /** Watch for tabs change to calculate elements width */
    tabsChangeHandler(): void;
    /** Watch for tab selection change and react accordingly by updating the internal states */
    tabSelectionChangeHandler(): void;
    /** The left offset and width of the tab indicator, recalculated when the selected tab changes */
    selectedTabIndicatorConfig: ISelectedTabIndicatorConfig;
    componentDidLoad(): void;
    private applySelectedTabStyling;
    render(): any;
}
