import { InjectionToken, Provider } from '@angular/core'; export interface KbqIconsConfig { /** URL to the SVG sprite file. Must be served as a static asset. */ spriteUrl: string; /** Optional namespace to register the sprite under. */ namespace?: string; } export declare const KBQ_ICONS_CONFIG: InjectionToken; /** * A function that resolves an icon name to either an inline SVG string or a URL string. * Return `null` to indicate this resolver does not handle the given name. */ export type KbqIconResolver = (name: string) => string | null; /** * Multi-valued injection token for icon resolver functions. * Resolvers are tried in registration order; the first non-null result wins. */ export declare const KBQ_ICON_RESOLVER: InjectionToken; /** Configures the icon registry to load icons from one or more SVG sprite assets. */ export declare function kbqIconsProvider(...sprites: KbqIconsConfig[]): Provider; /** * Registers a resolver function that maps icon names to SVG strings or URLs. * Multiple resolvers can be registered; they are tried in registration order. */ export declare function kbqIconsResolverProvider(resolver: KbqIconResolver): Provider; /** * Registers a name→SVG/URL dictionary as an icon resolver. * Values starting with `<` are treated as inline SVG (no HTTP request). * All other values are treated as URLs and fetched at runtime. * * @example * kbqIconsDictProvider({ 'chevron-down-s_16': '...' }) */ export declare function kbqIconsDictProvider(dict: Record): Provider;