/**
 * @packageDocumentation
 * @module utils
 */
import { FormItemControlDirective } from '@alauda/ui';
import { ComponentFactoryResolver, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { NgControl } from '@angular/forms';
import { Observable } from 'rxjs';
export declare class ReadonlyFieldDirective implements OnInit, OnDestroy {
    private readonly control;
    private readonly cfr;
    private readonly viewContainerRef;
    private readonly controlDirective;
    aclReadonlyField: boolean;
    aclReadonlyField$: Observable<boolean>;
    private isControlRequired;
    private spanComponentRef;
    private readonly templateContext;
    private readonly destroy$;
    template: TemplateRef<any>;
    get isHidden(): boolean;
    constructor(control: NgControl, cfr: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, controlDirective: FormItemControlDirective);
    private setValue;
    ngOnInit(): void;
    private applyValidators;
    private clearValidators;
    ngOnDestroy(): void;
}
export declare class SpanComponent<T = unknown> {
    data: T;
    setData(value: T): void;
}
