import { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, ValidatorFn } from '@angular/forms';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { TreeControlOptions } from '@metad/ocap-angular/controls';
import { CubeParameterEnum, DataSettings, EntityType, IMember } from '@metad/ocap-core';
import * as i0 from "@angular/core";
export declare class NgmParameterCreateComponent {
    #private;
    eCubeParameterEnum: typeof CubeParameterEnum;
    readonly _formBuilder: FormBuilder;
    readonly appearance: import("@angular/core").InputSignal<MatFormFieldAppearance>;
    readonly dataSettings: import("@angular/core").ModelSignal<DataSettings>;
    readonly entityType: import("@angular/core").ModelSignal<EntityType>;
    /**
     * Edit mode, otherwise create mode
     */
    readonly edit: import("@angular/core").WritableSignal<boolean>;
    memberTreeOptions: TreeControlOptions;
    formGroup: FormGroup;
    get availableMembers(): FormArray;
    get name(): AbstractControl<any, any>;
    get paramType(): AbstractControl<any, any>;
    get dataType(): FormControl<any>;
    get value(): FormControl<any>;
    get dimension(): any;
    get hierarchy(): any;
    get slicer(): {
        members: any[];
    };
    set slicer(value: {
        members: any[];
    });
    private _slicer;
    readonly dimensions$: import("rxjs").Observable<import("@metad/ocap-core").Property[]>;
    readonly dimension$: import("rxjs").Observable<{
        dimension: any;
        hierarchy: any;
    }>;
    readonly inputType: import("@angular/core").Signal<any>;
    constructor();
    onApply(): void;
    create(item?: Partial<IMember>): FormGroup;
    setAvailableMembers(members: Partial<IMember>[]): void;
    add(): void;
    remove(i: number): void;
    forbiddenNameValidator(): ValidatorFn;
    onHierarchyChange(hierarchy: string): void;
    onCancel(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmParameterCreateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmParameterCreateComponent, "ngm-parameter-create", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "dataSettings": { "alias": "dataSettings"; "required": false; "isSignal": true; }; "entityType": { "alias": "entityType"; "required": false; "isSignal": true; }; }, { "dataSettings": "dataSettingsChange"; "entityType": "entityTypeChange"; }, never, never, true, never>;
}
