import { HTMLStencilElement } from '../../stencil-public-runtime';
import { NavMenuLinkItem } from './models/bal-nav-menu-link-item';
import { NavMetaLinkItem } from './models/bal-nav-meta-link-item';
export type TabInformationDetail = {
    activeMetaLinkValue: string;
    activeMenuLinkValue: string;
    linkItems: NavMetaLinkItem[];
};
export type TabInformation = {
    indexOfActiveTab: number;
    indexOfNextTab: number;
    indexOfPreviousTab: number;
    tabs: NavMenuLinkItem[];
};
/**
 * Gathers information about the tabs in the navigation.
 * This information are shared for the tab key down handling and the flyout focus out handling.
 */
export declare const gatherTabInformation: (detail: TabInformationDetail) => TabInformation;
export type TabKeyDownDetail = {
    el: HTMLStencilElement | HTMLElement;
    navId: string;
    isFlyoutActive: boolean;
    isBackwards: boolean;
    item: NavMenuLinkItem;
    stopEventBubbling: () => void;
    closeFlyout: () => void;
};
export declare const handleTabKeyDown: ({ tabs, indexOfNextTab, indexOfActiveTab }: TabInformation, detail: TabKeyDownDetail) => void;
export type FlyoutFocusOutDetail = {
    el: HTMLElement | HTMLStencilElement;
    isBackwards: boolean;
};
export declare const handleFlyoutFocusOut: (info: TabInformation, detail: FlyoutFocusOutDetail) => void;
