import React, { FC, SVGProps } from 'react';
import { IconName } from './assets/index';
export type { IconName } from './assets';
export declare const iconsList: string[];
/**
 * Preload a list of icons in cache
 * @param icons - the list of icons to preload
 * @returns true if the icons have been preloaded
 */
export declare function preloadIcons(icons: IconName[]): Promise<boolean>;
/**
 * Removes icons from cache
 * @param icon? - the icon to remove, or nothing to clear the whole cache
 * @returns an object containing the removed icons
 */
export declare const clearIconCache: (iconName?: IconName) => {
    [x: string]: React.FC<React.SVGProps<SVGSVGElement>>;
};
export interface IconProps extends SVGProps<SVGSVGElement> {
    /** Classi aggiuntive da usare per il componente Badge */
    className?: string;
    /** Le varianti di colore definite in Bootstrap Italia */
    color?: 'success' | 'warning' | 'danger' | 'note' | 'important' | string;
    /** Le dimensioni dell'icona. In ordine dalla più grande alla più piccola: "xl", "lg", '' (stringa vuota), "sm", "xs". */
    size?: 'xl' | 'lg' | '' | 'sm' | 'xs';
    /**
     * Il nome dell'icona da mostrare. Per una lista completa vedi:
     * <a href="https://italia.github.io/design-react-kit/?path=/story/documentazione-utilities-icon--lista-icone" target="_blank">Lista icone</a>.
     * In caso di un'immagine esterna l'URL da utilizzare.
     **/
    icon: string;
    /** Il titolo da dare all'icona. Quando si utilizza un'immagine esterna viene utilizzato come attributo "alt". */
    title?: string;
    /** Quando abilitato riduce la dimensione dell'icona all'interno del contenitore.  */
    padding?: boolean;
    /** Funzione chiamata al caricamento dell'icona */
    onIconLoad?: () => void;
    /** Id da utilizzare in caso di testing */
    testId?: string;
}
export declare const Icon: FC<IconProps>;
