import { AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, ValidatorFn } from '@angular/forms';
import { MatDialogRef } from '@angular/material/dialog';
import { MatFormFieldAppearance } from '@angular/material/form-field';
import { TreeControlOptions } from '@metad/ocap-angular/controls';
import { DataSettings, Dimension, EntityType, ParameterControlEnum } from '@metad/ocap-core';
import * as i0 from "@angular/core";
export declare class NgmParameterCreateComponent {
    #private;
    private readonly _formBuilder;
    private readonly _dialogRef?;
    data?: {
        name: string;
        dataSettings: DataSettings;
        entityType: EntityType;
        dimension: Dimension;
    };
    ParameterControlEnum: typeof ParameterControlEnum;
    appearance: MatFormFieldAppearance;
    label: string;
    readonly dataSettings: import("@angular/core").ModelSignal<DataSettings>;
    readonly entityType: import("@angular/core").ModelSignal<EntityType>;
    /**
     * 编辑模式, 否则为创建模式
     */
    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(_formBuilder: FormBuilder, _dialogRef?: MatDialogRef<NgmParameterCreateComponent>, data?: {
        name: string;
        dataSettings: DataSettings;
        entityType: EntityType;
        dimension: Dimension;
    });
    onApply(): void;
    create(item?: any): FormGroup;
    setAvailableMembers(members: any): void;
    add(): void;
    remove(i: any): void;
    forbiddenNameValidator(): ValidatorFn;
    onHierarchyChange(hierarchy: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmParameterCreateComponent, [null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmParameterCreateComponent, "ngm-parameter-create", never, { "appearance": { "alias": "appearance"; "required": false; }; "label": { "alias": "label"; "required": false; }; "dataSettings": { "alias": "dataSettings"; "required": false; "isSignal": true; }; "entityType": { "alias": "entityType"; "required": false; "isSignal": true; }; }, { "dataSettings": "dataSettingsChange"; "entityType": "entityTypeChange"; }, never, never, true, never>;
}
