import React from 'react';
/** Visual treatment applied to the tab group. */
export type TabVariant = 'pill' | 'segmented';
/**
 * Represents a single tab rendered by {@link TabGroup}.
 * Provide an `id` which is stable and unique within the group alongside its display label.
 */
export interface TabDefinition<T extends string> {
    id: T;
    label: React.ReactNode;
    disabled?: boolean;
}
export interface TabGroupProps<T extends string> {
    tabs: ReadonlyArray<TabDefinition<T>>;
    activeTab: T;
    onTabChange: (tabId: T) => void;
    variant?: TabVariant;
    className?: string;
    tabClassName?: string;
    ariaLabel?: string;
}
/**
 * Renders an accessible, keyboard-friendly set of tabs with consistent styling.
 * The component exposes a small API surface while remaining flexible through generics
 * so it can be reused across different tab collections in the playground.
 */
export declare const TabGroup: <T extends string>({ tabs, activeTab, onTabChange, variant, className, tabClassName, ariaLabel }: TabGroupProps<T>) => React.ReactElement;
export default TabGroup;
//# sourceMappingURL=TabGroup.d.ts.map