import { OnInit, AfterViewInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { SdGridColumn, SdGridExternalFilter, GridBaseOptionFilter } from '../../grid.model';
import { QuickFilter, FilterConfiguration } from './grid-popup-filter.model';
import { SdNotifyService } from '@sd-angular/core/notify';
import { SdSettingService } from '@sd-angular/core/setting';
import { SdTranslateService } from '@sd-angular/core/translate';
import { DeviceDetectorService } from 'ngx-device-detector';
import { SdGridPopupQuickFilterDetail } from '../grid-popup-quick-filter-detail/grid-popup-quick-filter-detail.component';
import { MatSelect, MatSelectChange } from '@angular/material/select';
import { SdModal } from '@sd-angular/core/modal';
export declare class SdGridPopupFilter implements OnInit, AfterViewInit {
    #private;
    private ref;
    private settingService;
    private notifyService;
    private translateService;
    private keyPrefix;
    displayKey: string;
    isMobileOrTablet: boolean;
    modal: SdModal;
    popupQuickFilterDetail: SdGridPopupQuickFilterDetail;
    matSelect: MatSelect;
    key: string;
    filterOption: GridBaseOptionFilter;
    accept: EventEmitter<{
        filter: any;
        externalFilter: any;
    }>;
    clear: EventEmitter<void>;
    loadInlineFilter: EventEmitter<FilterConfiguration>;
    selectedField: string;
    newQuickFilter: string;
    filter: any;
    externalFilter: any;
    columns: SdGridColumn[];
    externalFilters: SdGridExternalFilter[];
    quickFilters: QuickFilter[];
    selectedCode: string;
    maxQuickFilters: number;
    inlineExternal: {
        [key: string]: boolean;
    };
    inlineColumn: {
        [key: string]: boolean;
    };
    constructor(ref: ChangeDetectorRef, deviceService: DeviceDetectorService, settingService: SdSettingService, notifyService: SdNotifyService, translateService: SdTranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    open: (fixedColums: SdGridColumn[], normalColumns: SdGridColumn[], filter: any, externalFilter: any, externalFilters?: SdGridExternalFilter[]) => void;
    init: (fixedColums: SdGridColumn[], normalColumns: SdGridColumn[], filter: any, externalFilter: any, externalFilters?: SdGridExternalFilter[]) => void;
    close: () => void;
    onAccept(): void;
    onClear(): void;
    updateConfiguration(selectedQuickFilterCode?: string): Promise<void>;
    onSelectionChange: (change: MatSelectChange) => void;
    onCreateQuickFilter: (ev?: Event) => void;
    onDetailQuickFilter: (quickFilter?: QuickFilter) => Promise<void>;
    onEditQuickFilter: (ev: Event, quickFilter?: QuickFilter) => void;
    onDeleteQuickFilter: (ev: Event, quickFilter?: QuickFilter) => void;
    onAcceptQuickFilter: (args: {
        code: string;
        filter: any;
        externalFilter: any;
    }) => Promise<void>;
    onInlineChange: () => void;
    private initExternalFilter;
}
