import { EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IDynamicComponent, IDynamicComponentConfig } from './interfaces';
import * as i0 from "@angular/core";
export declare abstract class DynamicComponentBase implements IDynamicComponent, OnInit, ControlValueAccessor {
    _config: IDynamicComponentConfig;
    set config(val: IDynamicComponentConfig);
    get config(): IDynamicComponentConfig;
    ready: boolean;
    readyChange: EventEmitter<boolean>;
    valueChange: EventEmitter<any>;
    get data(): IDynamicComponentConfig;
    constructor();
    ngOnInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(obj: any): void;
    imReady(): void;
    onChange(val: any): void;
    /** 初始化配置 */
    initConfig(): void;
    /** 配置发生改变 */
    abstract configChange(config: IDynamicComponentConfig): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicComponentBase, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicComponentBase, never, never, { "config": "config"; }, { "readyChange": "readyChange"; "valueChange": "valueChange"; }, never>;
}
