import React from 'react';
import TabModel from '../TabModel';
import { TabConfiguration } from './Tab';
import InterfaceProps from '../props/Interface';
import '../../../../web/scss/components/TopTabStripe/_index.scss';
/**
 *
 * TabContainer
 * ----------------
 * | TopTabStripe | <--- you are here
 * |--------------|
 * |              |
 * | TabContent[] |
 * |              |
 * ----------------
 *
 */
/**
 *
 * TopTabStripe
 * ----------------------------
 * | Tab | Tab | NewTabButton |
 * |--------------------------|
 *   /\
 *   | activeIdx
 */
export type TopTabStripeConfiguration = TabConfiguration;
type Props = TopTabStripeConfiguration & InterfaceProps & {
    tabs: TabModel[];
    activeIdx: number;
    noTopTabs: boolean;
    closeableTabs: boolean;
    onNewTab: () => void;
    onCloseTab: (idx: number) => void;
    onSwitchTab: (idx: number) => void;
    needsSidebar: boolean;
    isSidebarOpen: boolean;
    onToggleSidebar: () => void;
};
export default class TopTabStripe extends React.PureComponent<Props> {
    componentDidMount(): void;
    /**
     * Register any keyboard event listeners
     *
     */
    private addKeyboardListeners;
    private readonly closeTab;
    private readonly switchTab;
    /** Render tabs */
    private tabs;
    private headerName;
    private sidebarToggle;
    /** <Masthead/> property */
    private readonly inset;
    /** <Masthead/> property */
    private readonly display;
    private header;
    /**
     * React render handler
     *
     */
    render(): JSX.Element;
}
export {};
