import { Tab, TabPanelConfig } from './types';
export type { Tab, TabPanelConfig } from './types';
export declare class TabPanel {
    private readonly container;
    private readonly config;
    private readonly instanceId;
    private tabs;
    private activeTabId;
    private barEl;
    private panelsEl;
    private readonly panelMap;
    private readonly boundKeydownHandler;
    constructor(config: TabPanelConfig);
    /** Switch to a specific tab by id */
    setActiveTab(tabId: string): void;
    /** Get the id of the currently active tab */
    getActiveTab(): string;
    /** Add a new tab to the tab bar */
    addTab(tab: Tab): void;
    /** Remove a tab by id */
    removeTab(tabId: string): void;
    /** Get the panel HTMLElement for a tab, creating it if it does not exist */
    getPanel(tabId: string): HTMLElement;
    /** Remove all DOM elements and clean up */
    destroy(): void;
    /** Handle keyboard navigation in tab bar */
    private handleKeydown;
    /** Focus a specific tab button */
    private focusTab;
    /** Render the tab bar and panels container */
    private render;
    /** Build a single tab button element */
    private buildTabButton;
    /** Update tab bar active states without full re-render */
    private updateTabBar;
    /** Show the active panel and hide all others */
    private updatePanelVisibility;
}
//# sourceMappingURL=index.d.ts.map