import { VisualSlotType, IconFontColor, IconFontSize } from './types';
export interface SwitchOption {
    label: string;
    value: string;
    disabled?: boolean;
    leftSlot?: VisualSlotType;
    rightSlot?: VisualSlotType;
    /** Tamaño del icono del slot izquierdo (por encima del valor por defecto del Switch). */
    leftSlotIconSize?: IconFontSize;
    /** Tamaño del icono del slot derecho (por encima del valor por defecto del Switch). */
    rightSlotIconSize?: IconFontSize;
    leftSlotDuotonePrimary?: IconFontColor;
    leftSlotDuotoneSecondary?: IconFontColor;
    leftSlotDuotoneOpacityPrimary?: number;
    leftSlotDuotoneOpacitySecondary?: number;
    rightSlotDuotonePrimary?: IconFontColor;
    rightSlotDuotoneSecondary?: IconFontColor;
    rightSlotDuotoneOpacityPrimary?: number;
    rightSlotDuotoneOpacitySecondary?: number;
}
export interface SwitchProps {
    fullWidth?: boolean;
    /** Color de iconos regular/sólidos en slots; por defecto `primary` (texto primario del sistema). */
    colorIcon?: IconFontColor;
    /**
     * Tamaño del control. Por defecto `sm`.
     * - `md`: padding del track 8px, botones internos `xs`, etiqueta con cuerpo SM (métricas Regular + peso Bold).
     */
    size?: 'xs' | 'sm' | 'md';
    /**
     * Tamaño de fuente de los iconos en slots cuando no se define por opción (`leftSlotIconSize` / `rightSlotIconSize`).
     * Si se omite: con `size="sm"` el default es `xs`; con `size="xs"`, `xs`; con `size="md"`, `sm`.
     */
    slotIconSize?: IconFontSize;
    options: SwitchOption[];
    defaultValue?: string;
    onChange?: (value: string) => void;
}
//# sourceMappingURL=switch.d.ts.map