import React from 'react';
export interface TabSelectorItem {
    /** Unique identifier for the tab */
    id: string;
    /** Display label. Optional — omit for icon-only tabs (provide `ariaLabel` for accessibility). */
    label?: string;
    /** Accessible name. Required when `label` is omitted. */
    ariaLabel?: string;
    /** Optional icon (ReactNode) displayed before the label */
    icon?: React.ReactNode;
    /** Whether this tab is disabled */
    disabled?: boolean;
    /** Optional badge element displayed after the label */
    badge?: React.ReactNode;
}
export interface TabSelectorProps {
    /** Currently selected tab id */
    value: string;
    /** Callback when tab selection changes */
    onValueChange: (value: string) => void;
    /** Tab items to display */
    items: TabSelectorItem[];
    /** Visual variant: primary (accent bg) or secondary (soft grey bg) */
    variant?: 'primary' | 'secondary';
    /** Optional label displayed above the selector */
    label?: string;
    /** Disable the entire selector (overrides per-item enabled state) */
    disabled?: boolean;
    /** Additional CSS classes for the root container */
    className?: string;
}
export declare function TabSelector({ value, onValueChange, items, variant, label, disabled, className, }: TabSelectorProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=tab-selector.d.ts.map