import { EventEmitter, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NgmAppearance } from '@metad/ocap-angular/core';
import { DataSettings, Dimension, DisplayBehaviour, FlatTreeNode, TreeNodeInterface } from '@metad/ocap-core';
import { BehaviorSubject } from 'rxjs';
import { TreeControlOptions } from '../types';
import * as i0 from "@angular/core";
export interface MemberTreeSelectOptions extends TreeControlOptions {
    maxTagCount?: number;
    virtualScroll?: boolean;
    autocomplete?: boolean;
    panelWidth?: string | number;
    autoSelectActive?: boolean;
}
export declare class NgmMemberTreeSelectComponent implements ControlValueAccessor {
    _isMemberTreeSelectComponent: boolean;
    DisplayBehaviour: typeof DisplayBehaviour;
    private smartFilterService;
    private _dialog;
    private _viewContainerRef;
    data: TreeNodeInterface<any>[];
    get dataSettings(): DataSettings;
    set dataSettings(value: DataSettings);
    private dataSettings$;
    get dimension(): Dimension;
    set dimension(value: Dimension);
    private dimensionSignal;
    appearance: NgmAppearance;
    get options(): MemberTreeSelectOptions;
    set options(value: MemberTreeSelectOptions);
    private options$;
    disabled: boolean;
    loadingChanging: EventEmitter<boolean>;
    get displayBehaviour(): DisplayBehaviour;
    get hierarchy(): string;
    set hierarchy(value: string);
    private slicer;
    readonly memberKeys: import("@angular/core").Signal<import("@metad/ocap-core").PrimitiveType[]>;
    private readonly members;
    private readonly entityType;
    private readonly property;
    readonly label: import("@angular/core").Signal<string>;
    readonly hierarchies: import("@angular/core").Signal<import("@metad/ocap-core").PropertyHierarchy[]>;
    readonly treeData$: import("rxjs").Observable<TreeNodeInterface<import("@metad/ocap-core").IDimensionMember>[]>;
    readonly loading$: BehaviorSubject<boolean>;
    readonly initialized$: BehaviorSubject<boolean>;
    onChange: (input: any) => void;
    private _refreshSub;
    private _loadingSub;
    constructor();
    ngOnChanges({ dataSettings, dimension, options }: SimpleChanges): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    displayFn(item: FlatTreeNode<any>): string;
    trackByName(index: any, item: any): any;
    onFocus(event: FocusEvent): void;
    onBlur(event: FocusEvent): void;
    onModelChange(event: any): void;
    openValueHelp(event: any): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmMemberTreeSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmMemberTreeSelectComponent, "ngm-member-tree-select", never, { "data": { "alias": "data"; "required": false; }; "dataSettings": { "alias": "dataSettings"; "required": false; }; "dimension": { "alias": "dimension"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "loadingChanging": "loadingChanging"; }, never, never, true, never>;
}
