///
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 extends BaseComponent {
/**
* 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;
/**
* 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;
/**
* The default tooltip template
*/
defaultTooltip: TemplateRef;
/**
* 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, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration, 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 {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}