import { AfterViewInit, OnDestroy, QueryList } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { DeviceDetectorService } from 'ngx-device-detector';
import { SdFilterDefDirective } from './directives/sd-filter-def.directive';
import { Filter, SdFilterInformation, FilterObject, SdFilterOption } from './filter.model';
import { SdFilterService } from './filter.service';
import { SdSetting, SdSettingService } from '@sd-angular/core/setting';
export declare class SdFilter implements AfterViewInit, OnDestroy {
    #private;
    private deviceService;
    private settingService;
    private filterService;
    setting: SdSetting<SdFilterInformation>;
    filterOption: SdFilterOption;
    set _filterOption(option: SdFilterOption);
    sdFilterDefs: QueryList<SdFilterDefDirective>;
    isMobileOrTablet: boolean;
    filterChanges: BehaviorSubject<FilterObject>;
    filterInformation: Observable<SdFilterInformation>;
    information: SdFilterInformation;
    constructor(deviceService: DeviceDetectorService, settingService: SdSettingService, filterService: SdFilterService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    onFilter: (filter?: Filter) => void;
    onClear: () => void;
    ngOnDestroy(): void;
    setFilter: (args: {
        filter: any;
        filterDef: any;
    }) => void;
}
