import { OnInit } from '@angular/core';
import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
import { DataSettings, DisplayBehaviour, EntityType, PropertyMeasure } from '@metad/ocap-core';
import { BehaviorSubject } from 'rxjs';
import { PropertyCapacity } from '../types';
import * as i0 from "@angular/core";
export declare class NgmRestrictedMeasureComponent implements OnInit, ControlValueAccessor, Validator {
    private formBuilder;
    DISPLAY_BEHAVIOUR: typeof DisplayBehaviour;
    PropertyCapacity: typeof PropertyCapacity;
    disabled: boolean;
    dataSettings: DataSettings;
    get entityType(): EntityType;
    set entityType(value: EntityType);
    readonly entityType$: BehaviorSubject<EntityType>;
    formGroup: FormGroup;
    get measure(): FormControl<any>;
    readonly measures$: import("rxjs").Observable<PropertyMeasure[]>;
    filterMeasure: (measure: PropertyMeasure) => boolean;
    private _onChange;
    constructor(formBuilder: FormBuilder);
    ngOnInit(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    validate(control: AbstractControl<any, any>): ValidationErrors | null;
    registerOnValidatorChange?(fn: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmRestrictedMeasureComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmRestrictedMeasureComponent, "ngm-restricted-measure", never, { "disabled": { "alias": "disabled"; "required": false; }; "dataSettings": { "alias": "dataSettings"; "required": false; }; "entityType": { "alias": "entityType"; "required": false; }; }, {}, never, never, true, never>;
}
