import * as Icons from "../../icons/index"; export type IconName = keyof typeof Icons; export type SwitchOption = string | { label: string; icon?: IconName; }; export type SwitchSize = "extraSmall" | "small" | "medium" | "large" | "extraLarge"; export interface SwitchProps { /** opciones a mostrar: strings u objetos { label, icon }; no aplica en modo `toggle` */ options?: SwitchOption[]; /** índice de la opción activa */ active?: number; /** callback que recibe el índice seleccionado */ onChange?: (index: number) => void; /** tamaño que determina el alto del control */ size?: SwitchSize; /** si es true, usa un deslizamiento aún más corto/plano */ simpleAnimation?: boolean; /** tamaño del icono en px; si se omite, escala según `size` */ iconSize?: number; className?: string; /** color de fondo del indicador activo (CSS var --switch-active-bg) */ activeColor?: string; /** color del texto de la opción activa (CSS var --switch-active-text) */ activeTextColor?: string; /** color del texto de las opciones inactivas (CSS var --switch-inactive-text) */ inactiveTextColor?: string; /** color de fondo del contenedor (CSS var --switch-bg) */ background?: string; /** si false, cada opción se adapta a su contenido; por defecto true (todas al ancho de la más larga) */ equalWidth?: boolean; /** ancho de 100% */ fullWidth?: boolean; /** estilos inline aplicados a todos los botones de opción */ optionStyle?: React.CSSProperties; /** modo interruptor encendido/apagado: ignora `options`, `active` y `onChange` */ toggle?: boolean; /** estado del interruptor en modo `toggle` */ checked?: boolean; /** callback del interruptor en modo `toggle` */ onToggle?: (checked: boolean) => void; /** texto junto al interruptor en modo `toggle` */ label?: string; /** lado del `label` respecto al interruptor */ labelPosition?: "left" | "right"; /** color del `label` (CSS var --switch-label-color) */ labelColor?: string; /** deshabilita el interruptor en modo `toggle` */ disabled?: boolean; } /** * Control segmentado tipo píldora con indicador deslizante. * Todas las opciones se igualan al ancho de la más larga (salvo `equalWidth={false}`). */ export declare const Switch: ({ options, active, onChange, size, simpleAnimation, iconSize, className, activeColor, activeTextColor, inactiveTextColor, background, equalWidth, fullWidth, optionStyle, toggle, checked, onToggle, label, labelPosition, labelColor, disabled, }: SwitchProps) => import("react/jsx-runtime").JSX.Element;