import { ElementRef, Injector, OnInit } from '@angular/core';
import { CapacityBase } from '../../common/capacity-base.component';
import { StatusIconType } from '../../icon/layered-icon/status/status-icon.component';
import * as i0 from "@angular/core";
export interface LegendEntryTooltipContext {
    /**
     * The text to display
     */
    text?: string;
    /**
     * The text to display for a link
     */
    linkText?: string;
    /**
     * The url for a link that takes user outside of Windows Admin Center (will display the open in new tab icon)
     */
    linkUrl?: string;
}
export interface LegendEntryData {
    /**
     * The label text to appear above the value
     */
    label: string;
    /**
     * The value to display
     */
    displayValue: any;
    /**
     * The optional unformatted value for use in capacity situations.
     * The value will divided by the total and the result compared to the red/yellow threshold values.
     * This is used to determine which color scheme to use in capacity situations.
     * If color property is specified then this value is not used.
     */
    rawValue?: number;
    /**
     * The optional color to use. Value must be supplied if this component is used outside of Legend component.
     * If no color is specified, then the color will be specified by the color scheme (default values in capacity case).
     * This defaults to CapacityBase default greenColorScheme.
     * Value specified here overrides any color scheme value that would be calculated if rawValue is given.
     */
    color?: string;
    /**
     * Set true to have no color bar rendered
     */
    noColor?: boolean;
    /**
     * whether or not to use greyed-out text color
     */
    fadedText?: boolean;
    /**
     * Color of optional stripes. Use one of the standard SME color values.
     */
    stripeColor?: string;
    /**
     * The opacity of the stripe color. Use one of the standard SME color opacity values
     */
    stripeAlpha?: number;
    /**
     * object to specify tooltip data
     */
    tooltipContext?: LegendEntryTooltipContext;
    /**
     * Use true to have text be right-aligned
     */
    rightAlign?: boolean;
    /**
     * the action to take when you click a legend item
     */
    action?: MsftSme.Action1<MouseEvent>;
    /**
     * Specify any custom icon class to use instead of status
     */
    iconClass?: string;
    /**
     * Status icon to display
     */
    status?: StatusIconType;
}
export declare enum AriaLiveOptions {
    Polite = "polite",
    Off = "off"
}
export declare class LegendEntryComponent extends CapacityBase implements OnInit {
    private elementRef;
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    data: LegendEntryData;
    entryId: string;
    entries: LegendEntryData[];
    index: number;
    rightAlign: boolean;
    noColor: boolean;
    /**
     * Whether or not to hide the legend control color indicator in high contrast layout
     */
    hideInHighContrast: boolean;
    /**
     * Whether or not the legend color indicator should use svg
     */
    svgLegendColorIndicator: boolean;
    lastEntry: boolean;
    stripeClass: string;
    color: string;
    hideInHighContrastClass: string;
    textColorClass: string;
    ariaLiveValue: AriaLiveOptions;
    constructor(injector: Injector, elementRef: ElementRef);
    ngOnInit(): void;
    disableAriaLiveUpdates(): void;
    enableAriaLiveUpdates(): void;
    getColor(): string;
    protected getInitialHostClasses(): string[];
    /**
     * Creates the idBag used by this component to store unique element ids.
     * id values will be assigned be the @see BaseComponent super class.
     */
    protected createIdBag(): MsftSme.StringMap<string>;
    getTextColorClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<LegendEntryComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LegendEntryComponent, "sme-legend-entry", never, { "data": "data"; "entryId": "entryId"; "entries": "entries"; "index": "index"; "rightAlign": "rightAlign"; "noColor": "noColor"; "hideInHighContrast": "hideInHighContrast"; "svgLegendColorIndicator": "svgLegendColorIndicator"; }, {}, never, never, false, never>;
}
