import { DoCheck, KeyValueDiffers, Renderer2 } from '@angular/core';
import { DynamicComponentInjector } from '../component-injector';
import * as i0 from "@angular/core";
/**
 * @public
 */
export interface AttributesMap {
    [key: string]: string;
}
/**
 * @public
 */
export declare class DynamicAttributesDirective implements DoCheck {
    private renderer;
    private differs;
    private componentInjector?;
    ndcDynamicAttributes?: AttributesMap | null;
    ngComponentOutletNdcDynamicAttributes?: AttributesMap | null;
    private attrsDiffer;
    private lastCompType?;
    private lastAttrActions?;
    private get _attributes();
    private get nativeElement();
    private get compType();
    private get isCompChanged();
    constructor(renderer: Renderer2, differs: KeyValueDiffers, componentInjector?: DynamicComponentInjector | undefined);
    ngDoCheck(): void;
    setAttribute(name: string, value: string, namespace?: string): void;
    removeAttribute(name: string, namespace?: string): void;
    private updateAttributes;
    private changesToAttrActions;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicAttributesDirective, [null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicAttributesDirective, "[ndcDynamicAttributes],[ngComponentOutletNdcDynamicAttributes]", ["ndcDynamicAttributes"], { "ndcDynamicAttributes": "ndcDynamicAttributes"; "ngComponentOutletNdcDynamicAttributes": "ngComponentOutletNdcDynamicAttributes"; }, {}, never, never, true>;
}
//# sourceMappingURL=dynamic-attributes.directive.d.ts.map