import { HTMLAttributes, ReactNode } from "react";
import * as class_variance_authority_types10 from "class-variance-authority/types";
import { VariantProps } from "class-variance-authority";
import * as react_jsx_runtime19 from "react/jsx-runtime";

//#region src/components/SwitchSelector/index.d.ts
type SwitchSelectorChoice<T = boolean> = {
  content: ReactNode;
  value: T;
} & HTMLAttributes<HTMLButtonElement>;
type SwitchSelectorChoices<T> = SwitchSelectorChoice<T>[];
type SwitchSelectorProps<T = boolean> = {
  choices?: SwitchSelectorChoices<T>;
  value?: T;
  defaultValue?: T;
  onChange?: (choice: T) => void;
  className?: string;
  hoverable?: boolean;
  disabled?: boolean;
} & VariantProps<typeof switchSelectorVariant> & VariantProps<typeof choiceVariant>;
declare enum SwitchSelectorColor {
  PRIMARY = "primary",
  SECONDARY = "secondary",
  DESTRUCTIVE = "destructive",
  NEUTRAL = "neutral",
  LIGHT = "light",
  DARK = "dark",
  TEXT = "text",
}
declare const switchSelectorVariant: (props?: {
  color?: "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark";
  disabled?: boolean;
} & class_variance_authority_types10.ClassProp) => string;
declare enum SwitchSelectorSize {
  SM = "sm",
  MD = "md",
  LG = "lg",
}
declare const choiceVariant: (props?: {
  size?: "lg" | "md" | "sm";
} & class_variance_authority_types10.ClassProp) => string;
/**
 *
 * Component that allows the user to select one of the provided choices.
 *
 * Example:
 * ```jsx
 * <SwitchSelector
 *   choices={[
 *     { content: 'Option 1', value: 'option1' },
 *     { content: 'Option 2', value: 'option2' },
 *     { content: 'Option 3', value: 'option3' },
 *   ]}
 *   value="option1"
 *   onChange={(choice) => console.log(choice)}
 * />
 * ```
 */
declare const SwitchSelector: <T>({
  choices,
  value,
  defaultValue,
  onChange,
  color,
  size,
  className,
  hoverable,
  disabled
}: SwitchSelectorProps<T>) => react_jsx_runtime19.JSX.Element;
//#endregion
export { SwitchSelector, SwitchSelectorChoice, SwitchSelectorChoices, SwitchSelectorColor, SwitchSelectorProps, SwitchSelectorSize };
//# sourceMappingURL=index.d.ts.map