import Tailwind from '../base/tailwind-base';
/**
* @tag plus-tab-group
* @summary Tab group component that manages a set of tabs and panels.
*
* @slot tablist - Slot for tabs
* @slot panels - Slot for tab panels
*
* @csspart group - The component's base wrapper
* @csspart tablist - The tabs container
* @csspart panels - The tab panels container
* @csspart indicator - The animated indicator element (when animated=true)
*
* @cssproperty --tabs-gap - Controls the gap between tabs
* @cssproperty --tabs-indicator-color - Controls the color of the active tab indicator
* @cssproperty --tabs-indicator-height - Controls the height of the animated indicator
*
* @event plus-tabs-change - Emitted when a tab is selected with the tab's value
*
* @example
* ```html
*
* Tab 1
* Tab 2
* Content 1
* Content 2
*
* ```
*/
export default class PlusTabGroup extends Tailwind {
static styles: import("lit").CSSResult[];
/**
* Sets the size of the tabs
* - sm: Small size
* - md: Medium size
* - lg: Large size
* @default 'md'
*/
size: 'sm' | 'md' | 'lg';
/**
* Sets the orientation of the tabs
* - horizontal: Tabs arranged horizontally
* - vertical: Tabs arranged vertically
* @default 'horizontal'
*/
orientation: 'horizontal' | 'vertical';
/**
* Disables all tabs
* @default false
*/
disabled: boolean;
/**
* Allows individual tabs to be dismissed (closed).
* @default false
*/
dismissible: boolean;
/**
* Currently active tab value
*/
value: string;
/**
* Enables animated sliding indicator for active tab
* @default false
*/
animated: boolean;
/**
* References to DOM elements
*/
private tablistSlot;
private panelsSlot;
private indicator;
/**
* Internal state to track tabs and panels
*/
private tabs;
private panels;
private resizeObserver?;
private mutationObserver?;
constructor();
connectedCallback(): void;
disconnectedCallback(): void;
/**
* Get all tabs from the tablist slot
*/
private getTabs;
/**
* Get all panels from the panels slot
*/
private getPanels;
/**
* Handle tab slot change
*/
private handleTabsSlotChange;
/**
* Handle panels slot change
*/
private handlePanelsSlotChange;
/**
* Updates the indicator position and size
*/
private updateIndicator;
/**
* Synchronize tabs with panels and apply properties
*/
private syncTabsWithPanels;
/**
* Handle tab click event
*/
private handleTabClick;
/**
* Handle tab dismiss event
*/
private handleTabDismiss;
updated(changedProperties: Map): void;
render(): import("lit-html").TemplateResult<1>;
}
export { PlusTabGroup };
//# sourceMappingURL=tab-group.d.ts.map