import { attr, FASTElement, observable } 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 mixinErrorPattern(base) {
    /**
     * The Mixin that provides a concrete column with the API to support being resized
     * proportionally within a Table.
     */
    class ErrorPatternElement extends base {
        constructor() {
            super(...arguments);
            /*
             * Show the error appearance of the control
             */
            this.errorVisible = false;
            /* @internal
             * Indicates if the error text has overflowed its container. The value should not be
             * set directly. Instead, it is used with the `overflow` directive.
             */
            this.errorHasOverflow = false;
        }
    }
    attr({ attribute: 'error-text' })(ErrorPatternElement.prototype, 'errorText');
    attr({ attribute: 'error-visible', mode: 'boolean' })(ErrorPatternElement.prototype, 'errorVisible');
    observable(ErrorPatternElement.prototype, 'errorHasOverflow');
    return ErrorPatternElement;
}
//# sourceMappingURL=types.js.map