import { attr, FASTElement, observable } from '@ni/fast-element';
export const Severity = {
    default: undefined,
    error: 'error',
    warning: 'warning',
    success: 'success',
};
// As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
export function mixinSeverityPattern(base) {
    /**
     * Mixin to provide severity text related properties to an element
     */
    class SeverityPatternElement extends base {
        constructor() {
            super(...arguments);
            /* @internal
             * Indicates if the severity text has overflowed its container. The value should not be
             * set directly. Instead, it is used with the `overflow` directive.
             */
            this.severityHasOverflow = false;
        }
    }
    attr({ attribute: 'severity-text' })(SeverityPatternElement.prototype, 'severityText');
    observable(SeverityPatternElement.prototype, 'severityHasOverflow');
    return SeverityPatternElement;
}
//# sourceMappingURL=types.js.map