import { PropertyValues } from "lit";
import SgdsElement from "../../base/sgds-element";
/**
 * @summary Tab Group organizes content into a container with the syncing of tab and their corresponding panels.
 * Each tab must be slotted into the nav slot and its `panel` must refer to a tab panel of the same name.
 *
 * @slot default - The slot for `sgds-tab-panel`
 * @slot nav - The slot for `sgds-tab`
 *
 * @event sgds-tab-show  Emitted when a tab and its panels are shown
 * @event sgds-tab-hide  Emitted when a tab and its panels are hidden.
 *
 */
export declare class SgdsTabGroup extends SgdsElement {
    static styles: import("lit").CSSResult[];
    private _tabGroup;
    private _body;
    private _nav;
    private _activeTab?;
    private _mutationObserver;
    private _resizeObserver;
    private _tabs;
    private _panels;
    /** The variant of tabs. Controls the visual styles of all `sgds-tabs` in its slot. It also sets the variant atttribute of `sgds-tab` */
    variant: "underlined" | "solid";
    /** The orientation of tabs. Controls the orientation of all `sgds-tabs` in its slot. It also sets the orientation attribute of `sgds-tab` */
    orientation: "horizontal" | "vertical";
    /** The density of tabs. Controls the density of all `sgds-tabs` in its slot. It also sets the density attribute of `sgds-tab` */
    density: "compact" | "default";
    connectedCallback(): void;
    disconnectedCallback(): void;
    /** Shows the specified tab panel. */
    show(panel: string): void;
    private _getAllTabs;
    private _getAllPanels;
    private _getActiveTab;
    private _handleClick;
    private _handleKeyDown;
    private _setActiveTab;
    private _setAriaLabels;
    private _syncTabsAndPanels;
    private _navSlot;
    private _updateTabsAttribute;
    private _handleSlotChange;
    protected willUpdate(_changedProperties: PropertyValues): void;
    render(): import("lit").TemplateResult<1>;
}
export default SgdsTabGroup;
