import { __decorate } from "tslib";
import { attr } from '@ni/fast-element';
import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
import { template } from './template';
import { styles } from './styles';
/**
 * The base class for icon components
 */
export class Icon extends FoundationElement {
    constructor(/** @internal */ icon) {
        super();
        this.icon = icon;
    }
}
__decorate([
    attr
], Icon.prototype, "severity", void 0);
export const registerIcon = (baseName, iconClass) => {
    const composedIcon = iconClass.compose({
        baseName,
        template,
        styles
    });
    DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
};
//# sourceMappingURL=index.js.map