import { EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NgmAppearance } from '@metad/ocap-angular/core';
import { DataSettings, Dimension, DisplayBehaviour, IMember, ISlicer } from '@metad/ocap-core';
import { BehaviorSubject } from 'rxjs';
import { ControlOptions } from '../types';
import * as i0 from "@angular/core";
export interface SmartSelectOptions extends ControlOptions {
    /**
     * 用户自定义成员
     */
    data?: Array<IMember>;
}
export declare class NgmSmartSelectComponent implements ControlValueAccessor {
    private smartFilterService;
    private _dataSettings;
    get dataSettings(): DataSettings;
    set dataSettings(value: DataSettings);
    private _dimension;
    get dimension(): Dimension;
    set dimension(value: Dimension);
    private _options;
    get options(): SmartSelectOptions;
    set options(value: SmartSelectOptions);
    private options$;
    appearance: NgmAppearance;
    disabled: boolean;
    loadingChanging: EventEmitter<boolean>;
    get displayBehaviour(): DisplayBehaviour;
    readonly property$: import("rxjs").Observable<import("@metad/ocap-core").Property>;
    readonly label$: import("rxjs").Observable<string>;
    readonly placeholder$: import("rxjs").Observable<string>;
    readonly autoActiveFirst$: import("rxjs").Observable<boolean>;
    readonly multiple$: import("rxjs").Observable<boolean>;
    readonly slicer$: BehaviorSubject<ISlicer>;
    readonly members$: import("rxjs").Observable<IMember[]>;
    readonly memberValues$: import("rxjs").Observable<any>;
    readonly isInitial$: import("rxjs").Observable<boolean>;
    readonly data$: import("rxjs").Observable<IMember[]>;
    readonly selectOptions$: import("rxjs").Observable<IMember[]>;
    readonly loading$: BehaviorSubject<boolean>;
    onChange: (input: ISlicer) => any;
    private loadingSub;
    private serviceSub;
    private slicerSub;
    constructor();
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    toggleMember(member: IMember): void;
    setSelectedValues(values: string[]): Promise<void>;
    setMembers(members?: IMember[]): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmSmartSelectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmSmartSelectComponent, "ngm-smart-select", never, { "dataSettings": { "alias": "dataSettings"; "required": false; }; "dimension": { "alias": "dimension"; "required": false; }; "options": { "alias": "options"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "loadingChanging": "loadingChanging"; }, never, ["*"], true, never>;
}
