// #region Imports
import { Directive, directive } from 'lit/directive.js';
/**
 * The base class for all directives.
 *
 * @public
 * @abstract
 */
export class DirectiveBase extends Directive {
    // #region Fields
    _internals;
    // #endregion
    // #region Ctor
    /**
     * Constructs a new instance of the `DirectiveBase` class.
     *
     * @protected
     */
    constructor(args) {
        super(args);
        this._internals = {
            element: args.element,
            name: args.name,
            options: args.options,
            type: args.type
        };
    }
    // #endregion
    // #region Properties
    /**
     * Returns the `internals` property.
     *
     * @protected
     * @readonly
     */
    get internals() {
        return this._internals;
    }
}
export { PartType } from 'lit/directive.js';
/**
 * Composes a directive.
 */
export function compose(c) {
    return directive(c);
}
//# sourceMappingURL=DirectiveBase.js.map