import { ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { PrimitivesNil, TaurusObject } from '@versatiledatakit/shared';
import * as i0 from "@angular/core";
export interface Attributes {
    [attribute: string]: PrimitivesNil;
}
/**
 * ** Directive that set provided object as Element attributes.
 *
 * @author gorankokin
 */
export declare class AttributesDirective extends TaurusObject implements OnInit, OnChanges {
    private readonly el;
    private readonly renderer;
    /**
     * ** Input attributes that should be applied to host element.
     */
    attributes: Attributes;
    private _attributesCopy;
    /**
     * ** Constructor.
     */
    constructor(el: ElementRef, renderer: Renderer2);
    /**
     * @inheritDoc
     */
    ngOnChanges(_changes: SimpleChanges): void;
    /**
     * @inheritDoc
     */
    ngOnInit(): void;
    private _transformAttributes;
    private _setOrRemoveAttribute;
    private _setAttribute;
    private _removeAttribute;
    private static _isTruthy;
    private static _valueNotIn;
    static ɵfac: i0.ɵɵFactoryDeclaration<AttributesDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AttributesDirective, "[libSetAttributes]", never, { "attributes": "attributes"; }, {}, never>;
}
