import { InfoTileProgress } from '../info-tile/info-tile.types';
import { Link } from '../../global/shared-types/link.types';
/**
 * This component can be used on places such as a start page or a dashboard.
 * It offers features for visualizing aggregated data along with supplementary
 * information.
 *
 * If clicking on the component should navigate the user to
 * a new screen or web page, you need to provide a URL,
 * using the `link` property.
 *
 * @exampleComponent limel-example-info-tile
 * @exampleComponent limel-example-info-tile-badge
 * @exampleComponent limel-example-info-tile-progress
 * @exampleComponent limel-example-info-tile-loading
 * @exampleComponent limel-example-info-tile-primary-slot
 * @exampleComponent limel-example-info-tile-styling
 */
export declare class InfoTile {
  /**
   * A piece of text or number that is the main piece of information
   * which the component is intended to visualize.
   */
  value: number | string;
  /**
   * Name of icon for the info tile.
   */
  icon?: string;
  /**
   * The text to show below the info tile. Long labels will be truncated.
   */
  label?: string;
  /**
   * A string of text that is visually placed before the value.
   */
  prefix?: string;
  /**
   * A string of text that is visually placed after the value.
   */
  suffix?: string;
  /**
   * Set to `true` if info tile is disabled.
   */
  disabled?: boolean;
  /**
   * If supplied, the info tile will display a notification badge.
   */
  badge?: number | string;
  /**
   * Set to `true` to put the component in the `loading` state.
   * This does _not_ disable the link. To do so, the
   * `disabled` property should be set to `true` as well.
   */
  loading?: boolean;
  /**
   * If supplied, the info tile will be a clickable link.
   *
   * Supplying a value also adds an elevated effect using a shadow,
   * as well as `cursor: pointer`, which appears on hover.
   * While we strongly recommend supplying a link whenever the
   * component should act as a link, if this is not possible, and
   * you need to provide interaction through a click handler,
   * you can still get the correct styling by supplying a `Link`
   * object with the `href` property set to `'#'`.
   */
  link?: Link;
  /**
   * Properties of the optional circular progress bar.
   *
   * Defaults:
   * - `maxValue`: 100
   * - `suffix`: %
   * - `displayPercentageColors`: false
   *
   * Colors change with intervals of 10 %.
   */
  progress?: InfoTileProgress;
  private host;
  /**
   * `true` when something is assigned to the `primary` slot
   */
  private hasPrimarySlot;
  private handleMouseEnter;
  private handleMouseLeave;
  componentWillLoad(): void;
  render(): any;
  private checkProps;
  private renderPrefix;
  private renderValue;
  private renderSuffix;
  private renderIcon;
  private updateHasPrimarySlotContent;
  private renderProgress;
  private renderLabel;
  private renderNotification;
  private renderSpinner;
}
//# sourceMappingURL=info-tile.d.ts.map