import { ChangeDetectorRef, OnDestroy, OnInit } from "@angular/core";
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroup, ValidationErrors } from "@angular/forms";
import { ITableWidgetColumnConfig } from "../../../../../../../components/table-widget/types";
import * as i0 from "@angular/core";
export declare class TableColumnConfigurationComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private formBuilder;
    changeDetector: ChangeDetectorRef;
    static lateLoadKey: string;
    form: FormGroup;
    changeFn: Function;
    private readonly destroy$;
    private input;
    formControl: AbstractControl;
    isWidthMessageDisplayed: boolean;
    constructor(formBuilder: FormBuilder, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    validate(c: FormControl): ValidationErrors | null;
    writeValue(obj: ITableWidgetColumnConfig): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnConfigurationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableColumnConfigurationComponent, "nui-table-column-configuration", never, { "formControl": { "alias": "formControl"; "required": false; }; "isWidthMessageDisplayed": { "alias": "isWidthMessageDisplayed"; "required": false; }; }, {}, never, never, false, never>;
}
