import { ButtonIcon, IconDefinition, IconLoadCallback, IconSpriteOptions, IconSpriteStats, RegisterOptions } from './types'; export declare class IconSpriteManager { private iconRegistry; private svgDataUrlCache; private spriteCache; private pendingLoads; private loadListeners; private inFlightCount; private stats; onLoad(callback: IconLoadCallback): () => void; register(definitions: IconDefinition[] | Record, options?: RegisterOptions): this; getSprite(icon: ButtonIcon, size: number, color?: string): HTMLCanvasElement | null; preload(icons: ButtonIcon | ButtonIcon[], options: IconSpriteOptions): this; draw(ctx: CanvasRenderingContext2D, icon: ButtonIcon, x: number, y: number, size: number, color?: string): void; getImageDirect(icon: ButtonIcon): HTMLImageElement | null; getStats(): IconSpriteStats; reset(): this; clearSpriteCache(): this; has(name: string): boolean; getSvg(name: string): string | undefined; private resolveKey; private resolveIconUrl; private loadSprite; private notifyListeners; }