import { Mapping } from '../base';
import type { IconSeverity } from '../../icon-base/types';
import type { MappingKey } from '../base/types';
declare global {
    interface HTMLElementTagNameMap {
        'nimble-mapping-icon': MappingIcon;
    }
}
/**
 * Maps a data value to an icon.
 * One or more may be added as children of a nimble-table-column-mapping element to define
 * how specific data values should be displayed as icons in that column's cells.
 */
export declare class MappingIcon extends Mapping<MappingKey> {
    icon?: string;
    severity: IconSeverity;
    text?: string;
    textHidden: boolean;
    /**
     * @internal
     * Calculated asynchronously by the icon mapping based on the configured icon value.
     * When assigned, it corresponds to an element name that is resolved to type of Nimble Icon.
     */
    resolvedIcon?: string;
    private resolveIconAsync;
    private iconChanged;
}
export declare const mappingIconTag = "nimble-mapping-icon";
