import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { AbstractControl, ControlValueAccessor } from '@angular/forms';
import { NgmDSCoreService } from '@metad/ocap-angular/core';
import { DataSettings, Dimension, EntityType, Measure } from '@metad/ocap-core';
import { PropertyCapacity } from '../types';
import * as i0 from "@angular/core";
/**
 * The component `PropertySelect` array.
 *
 */
export declare class NgmPropertyArrayComponent implements ControlValueAccessor {
    private readonly formBuilder;
    private readonly _cdr;
    dataSettings: DataSettings;
    entityType: EntityType;
    dsCoreService: NgmDSCoreService;
    capacities: PropertyCapacity[];
    formArray: import("@angular/forms").FormArray<import("@angular/forms").FormControl<unknown>>;
    get isEmpty(): boolean;
    private onChange;
    private onTouched;
    private valueSub;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    create(item?: any): import("@angular/forms").FormControl<any>;
    add(): void;
    remove(i: number): void;
    setValue(dimensions: Array<Dimension | Measure>): void;
    drop(event: CdkDragDrop<AbstractControl[]>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmPropertyArrayComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmPropertyArrayComponent, "ngm-property-array", never, { "dataSettings": { "alias": "dataSettings"; "required": false; }; "entityType": { "alias": "entityType"; "required": false; }; "dsCoreService": { "alias": "dsCoreService"; "required": false; }; "capacities": { "alias": "capacities"; "required": false; }; }, {}, never, never, true, never>;
}
