/**
 * Icon Service
 * Provides unified icon management with support for multiple providers
 */
import { IconDefinition, IconPack, IconProvider } from '../icons/types.js';
export declare class IconService {
    private providers;
    private packsCache;
    private iconsCache;
    constructor();
    /**
     * Initialize default icon providers
     */
    private initializeDefaultProviders;
    /**
     * Register a new icon provider
     */
    registerProvider(provider: IconProvider): void;
    /**
     * Get all available providers
     */
    getProviders(): IconProvider[];
    /**
     * Get an icon by ID
     */
    getIcon(iconId: string, provider?: string): IconDefinition | null;
    /**
     * Search icons by query and filters
     */
    searchIcons(query: string, filters?: {
        provider?: string;
        category?: string;
        variants?: string[];
    }): IconDefinition[];
    /**
     * Get all icons from a specific pack
     */
    getPackIcons(packId: string): IconDefinition[];
    /**
     * Get all available icon packs
     */
    getIconPacks(): IconPack[];
    /**
     * Get icon categories
     */
    getCategories(): string[];
    /**
     * Load external icon pack
     */
    loadExternalPack(url: string): Promise<IconPack>;
    /**
     * Generate CSS for icon packs
     */
    generateCSS(): string;
    /**
     * Get icon statistics
     */
    getStatistics(): {
        totalIcons: number;
        totalProviders: number;
        totalPacks: number;
        iconsByProvider: Record<string, number>;
        iconsByCategory: Record<string, number>;
    };
}
export declare const iconService: IconService;
export default iconService;
//# sourceMappingURL=icon-service.d.ts.map