import { HTMLAttributes, ReactElement } from "react";
import * as class_variance_authority_types4 from "class-variance-authority/types";
import { VariantProps } from "class-variance-authority";
import * as react_jsx_runtime12 from "react/jsx-runtime";

//#region src/components/TabSelector/TabSelector.d.ts
declare enum TabSelectorColor {
  PRIMARY = "primary",
  SECONDARY = "secondary",
  DESTRUCTIVE = "destructive",
  NEUTRAL = "neutral",
  LIGHT = "light",
  DARK = "dark",
  TEXT = "text",
}
declare const tabSelectorVariant: (props?: {
  color?: "neutral" | "text" | "primary" | "secondary" | "destructive" | "light" | "dark";
} & class_variance_authority_types4.ClassProp) => string;
type TabSelectorItemProps = HTMLAttributes<HTMLElement> & {
  key: string | number;
};
type TabSelectorProps<T extends TabSelectorItemProps> = {
  tabs: ReactElement<T>[];
  selectedChoice: T['key'];
  onTabClick?: (choice: T['key']) => void;
  hoverable?: boolean;
} & HTMLAttributes<HTMLElement> & Omit<VariantProps<typeof tabSelectorVariant>, 'color'> & {
  color?: TabSelectorColor | `${TabSelectorColor}`;
};
/**
 *
 * Component that allows the user to select one of the provided choices.
 *
 * Example:
 * ```jsx
 * <TabSelector
 *   selectedChoice="option1"
 *   onTabClick={(choice) => console.log(choice)}
 *   hoverable={true}
 * >
 *   <Button key="option1"/>
 *   <Button key="option2"/>
 *   <Button key="option3"/>
 * </TabSelector>
 * ```
 */
declare const TabSelector: <T extends TabSelectorItemProps>({
  tabs,
  selectedChoice,
  onTabClick,
  color,
  hoverable,
  className
}: TabSelectorProps<T>) => react_jsx_runtime12.JSX.Element;
//#endregion
export { TabSelector, TabSelectorColor, TabSelectorItemProps, TabSelectorProps };
//# sourceMappingURL=TabSelector.d.ts.map