import { IconType, IconFontColor, AnyIconDefinition } from './types';
/**
 * Textos de tooltip según el estado del interruptor.
 * `enable` = checked; `disabled` = unchecked (inactivo), no confundir con la prop `disabled` del componente.
 */
export interface ToggleTooltipLabels {
    /** Tooltip cuando el toggle está activado (checked). */
    enable: string;
    /** Tooltip cuando el toggle está desactivado (unchecked). */
    disabled: string;
}
/** Por defecto al omitir `tooltip` o al fusionar con un objeto parcial. */
export declare const TOGGLE_DEFAULT_TOOLTIP: ToggleTooltipLabels;
export interface ToggleProps {
    /** Estado checked del toggle (controlado) */
    checked?: boolean;
    /** Valor por defecto para modo no controlado */
    defaultChecked?: boolean;
    /** Callback cuando cambia el estado */
    onChange?: (checked: boolean) => void;
    /** Deshabilita el toggle */
    disabled?: boolean;
    /** Label del toggle */
    label?: string;
    /** Posición del label */
    labelPosition?: 'left' | 'right';
    /** Icono opcional para el label */
    icon?: IconType | AnyIconDefinition;
    /** Color del icono */
    iconColor?: IconFontColor;
    iconDuotonePrimary?: IconFontColor;
    iconDuotoneSecondary?: IconFontColor;
    iconDuotoneOpacityPrimary?: number;
    iconDuotoneOpacitySecondary?: number;
    /** Mostrar borde (stroke) */
    stroke?: boolean;
    /** Nombre del campo (para forms) */
    name?: string;
    /** ID del elemento */
    id?: string;
    /** Clases CSS adicionales */
    className?: string;
    /** Texto accesible */
    ariaLabel?: string;
    /**
     * Tooltips según estado: activado (`enable`) / desactivado (`disabled`, sinónimo de “unchecked”).
     * Por defecto `{ enable: 'Activo', disabled: 'Inactivo' }` si omites la prop.
     * Objeto parcial: se fusiona con esos valores. `false` desactiva el tooltip.
     */
    tooltip?: Partial<ToggleTooltipLabels> | false;
}
//# sourceMappingURL=toggle.d.ts.map