/// <reference types="node" />
import { Url } from 'url';
import { Injector, TemplateRef } from '@angular/core';
import { SafeUrl } from '@angular/platform-browser';
import { Strings } from '../../generated/strings';
import { BaseComponent } from '../common/base.component';
import * as i0 from "@angular/core";
/**
 * The levels of severity dictates the icon and aria label that
 * will be used.
 */
export declare enum BadgeSeverity {
    Informational = 0,
    Warning = 1,
    Critical = 2
}
/**
 *
 * @smeDoc {@label Badge @id sme-badge-component}
 *
 * @overview
 * @file {@filepath ./examples/badge-overview.md}
 *
 * @example {@label Basic Usage @id basic-usage}
 * @file {@filename component.html @filepath ./examples/basic-usage.component.html}
 *
 * @example {@label Badge with link in Tooltip @id link-tooltip}
 * @file {@filename component.html @filepath ./examples/link-tooltip-badge.component.html}
 *
 * @example {@label Badge with Header @id header-badge}
 * @file {@filename component.html @filepath ./examples/header-badge.component.html}
 */
/**
 * Defines a base component for badges
 */
export declare abstract class BadgeBaseComponent<TStrings> extends BaseComponent<TStrings> {
    /**
     * The title displayed for the badge component.
     */
    label: string;
    /**
     * A sentence of text that will be displayed in a tooltip and used for aria-describedby.
     */
    description: string;
    /**
     * The tooltip of the badge
     */
    tooltip: TemplateRef<any>;
    /**
     * For the default tooltip, a link for an optional hyperlinked text
     * labeled 'Learn More' that will be displayed.
     */
    learnMoreLink: string | Url | SafeUrl;
    /**
     * Uses specific feedback link to UserVoice in the tooltip.
     */
    showFeedbackLink: boolean;
    /**
     * Feedback link that is shown in the tooltip. Defaulted to a link for UserVoice feedback.
     */
    feedbackLink: string | Url | SafeUrl;
    /**
     * Used to indicate the importance of the component being displayed.
     * Defaults to informational. Icon and aria-label will be updated based on
     * severity that is applied.
     */
    severity: BadgeSeverity;
    /**
     * The title that we actually bind to
     */
    get ariaLabel(): string;
    /**
     * The title that we actually bind to
     */
    get icon(): string;
    /**
     * The title that we actually bind to
     */
    get resolvedTooltip(): TemplateRef<any>;
    /**
     * The default tooltip template
     */
    defaultTooltip: TemplateRef<any>;
    /**
     * Initializes a new instance of the @see BadgeComponent class.
     * @param injector The angular injection service. required by @SmeInjectableBase() decorator in the base @see BaseComponent class
     */
    constructor(injector: Injector);
    /**
     * Gets the initial host classes to be applied to this element
     */
    protected getInitialHostClasses(): string[];
    static ɵfac: i0.ɵɵFactoryDeclaration<BadgeBaseComponent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BadgeBaseComponent<any>, never, never, { "label": "label"; "description": "description"; "tooltip": "tooltip"; "learnMoreLink": "learnMoreLink"; "showFeedbackLink": "showFeedbackLink"; "feedbackLink": "feedbackLink"; "severity": "severity"; }, {}, never, never, false, never>;
}
/**
 * Internal base component for SME Core controls. It simply removes the need to supply the string type parameter
 * This class is exported from this file, but not meant to be exported from index.ts bundles.
 */
export declare abstract class CoreBadgeBaseComponent extends BadgeBaseComponent<Strings> {
    static ɵfac: i0.ɵɵFactoryDeclaration<CoreBadgeBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CoreBadgeBaseComponent, never, never, {}, {}, never, never, false, never>;
}
