import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { ControlValueAccessor, FormBuilder, FormControl, FormGroup } from '@angular/forms';
import { MatSelectionListChange } from '@angular/material/list';
import { DisplayBehaviour, EntityType, MeasureControlProperty, Property } from '@metad/ocap-core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class NgmMeasureControlComponent implements ControlValueAccessor {
    private formBuilder;
    DISPLAY_BEHAVIOUR: typeof DisplayBehaviour;
    get entityType(): EntityType;
    set entityType(value: EntityType);
    private entityType$;
    readonly measures$: BehaviorSubject<Property[]>;
    formGroup: FormGroup;
    get measures(): import("@angular/forms").AbstractControl<any, any>;
    get displayBehaviour(): FormControl<DisplayBehaviour>;
    selectedMeasures: string[];
    private _onChange;
    private onTouched;
    constructor(formBuilder: FormBuilder);
    writeValue(obj: MeasureControlProperty): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    drop(event: CdkDragDrop<Property[]>): void;
    onSelectionChange(event?: MatSelectionListChange): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmMeasureControlComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmMeasureControlComponent, "ngm-measure-control", never, { "entityType": { "alias": "entityType"; "required": false; }; }, {}, never, never, true, never>;
}
