import { Nullable } from '../../types/general';
import { VegaPublicAPIRuntimeMetricsSlimmerBase } from '../slimmers/runtime-metrics/public-api-runtime-metrics-slimmer-base';
import { IconPayload } from './interface';
/**
 * Internal icon manager controller.
 */
declare class IconManager {
  protected vegaPublicAPIRuntimeMetricsSlimmer: VegaPublicAPIRuntimeMetricsSlimmerBase;
  private icons;
  /**
   * Registers the icons into the map.
   *
   * @param {Record<string, string>} icons - icon records
   * @vegaVersion 2.13.0
   */
  register(icons: Record<string, IconPayload>): void;
  /**
   * Get an internal icon by name
   *
   * @param {string} name - The name of the icon
   * @returns {Nullable<IconPayload>} returns the icon svg or null if not found
   * @vegaVersion 2.13.0
   */
  getIcon(name: string): Nullable<IconPayload>;
  /**
   *  Check if the icon manager has an icon by name
   *
   * @param {string} name - The name of the icon
   * @returns {boolean} returns true if the icon exists
   * @vegaVersion 2.13.0
   */
  hasIcon(name: string): boolean;
}
export declare const VegaIconManager: IconManager;
export {};
