import { BaseSelectOption, ControlConfig, ControlFilterCondition } from 'ngx-puzzle/core';
import { Observable } from 'rxjs';
import { SafeAny } from '../../types';
import * as i0 from "@angular/core";
export declare class ControlsService {
    private _controlMap;
    private controlsSubject;
    controls$: Observable<ControlConfig<any, import("ngx-puzzle/core").BaseControlProps>[]>;
    private controlValueChangeSubject;
    controlValueChange$: Observable<{
        controlId: string;
        controlFilters: {
            [controlId: string]: ControlFilterCondition;
        };
    }>;
    availableControlOptions$: Observable<BaseSelectOption[]>;
    constructor();
    /**
     * 添加或更新控件
     */
    setControl(control: ControlConfig): void;
    /**
     * 控件值变化通知
     */
    notifyControlValueChange(controlId: string, value: SafeAny): void;
    /**
     * 获取当前所有过滤条件
     */
    getCurrentControlFilters(): {
        [controlId: string]: ControlFilterCondition;
    };
    /**
     * 获取单个控件
     */
    getControl(controlId: string): ControlConfig | undefined;
    /**
     * 获取控件当前值
     */
    getControlValue(controlId: string): SafeAny;
    /**
     * 删除控件
     * @param controlId
     */
    deleteControlByControlId(controlId: string): void;
    /**
     * 清理所有控件（页面切换时使用）
     */
    clearAll(): void;
    /**
     * 更新响应式流
     */
    private emitControlsUpdate;
    static ɵfac: i0.ɵɵFactoryDeclaration<ControlsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ControlsService>;
}
