import { attr, FASTElement } from '@ni/fast-element';
// 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 mixinRequiredVisiblePattern(base) {
    /**
     * The Mixin that provides the requiredVisible property and required-visible attribute
     * to a component.
     */
    class RequiredVisibleElement extends base {
        constructor() {
            super(...arguments);
            /*
             * Show the required appearance of the control
             */
            this.requiredVisible = false;
        }
    }
    attr({ attribute: 'required-visible', mode: 'boolean' })(RequiredVisibleElement.prototype, 'requiredVisible');
    return RequiredVisibleElement;
}
//# sourceMappingURL=types.js.map