/**
 * Icon Registry System
 * Simple icon storage and retrieval
 * PORTED FROM: clj/ty/icons.cljs
 */
/**
 * Register multiple icons at once
 * @param icons Object mapping icon names to SVG strings
 */
export declare function registerIcons(icons: Record<string, string>): void;
/**
 * Register a single icon
 * @param name Icon name
 * @param svg SVG string
 */
export declare function registerIcon(name: string, svg: string): void;
/**
 * Lookup an icon by name
 * @param name Icon name
 * @returns SVG string or undefined
 */
export declare function getIcon(name: string): string | undefined;
/**
 * Check if an icon exists
 * @param name Icon name
 * @returns true if icon is registered
 */
export declare function hasIcon(name: string): boolean;
/**
 * Clear all registered icons
 */
export declare function clearIcons(): void;
/**
 * Add a watcher for registry changes
 * @param id Unique watcher ID
 * @param iconName Optional icon name to watch (for selective notification)
 * @param callback Function to call when watched icons change
 */
export declare function addWatcher(id: string, iconName: string | undefined, callback: (changedIcons: Set<string>) => void): void;
/**
 * Remove a watcher
 * @param id Watcher ID to remove
 */
export declare function removeWatcher(id: string): void;
/**
 * Get all registered icon names
 * @returns Array of icon names
 */
export declare function getIconNames(): string[];
/**
 * Get registry size
 * @returns Number of registered icons
 */
export declare function getIconCount(): number;
//# sourceMappingURL=icon-registry.d.ts.map