import { OnInit, AfterViewInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { ModalControl } from '../../../modal-control/modal-control.component';
import { GridColumn, GridExternalFilter } from '../../grid-control.model';
import { SettingService } from '../../../../services/setting/setting.service';
import { TranslateService } from '../../../../services/translate/translate.service';
import { QuickFilter } from './grid-popup-filter.model';
import { NotifyService } from '../../../../services/notify/notify.service';
export declare class GridPopupFilterComponent implements OnInit, AfterViewInit {
    private ref;
    private settingService;
    private notifyService;
    private translateService;
    private keyPrefix;
    displayKey: string;
    isMobile: boolean;
    modal: ModalControl;
    filterType: 'inline' | 'popup';
    key: string;
    accept: EventEmitter<{
        filter: any;
        externalFilter: any;
    }>;
    clear: EventEmitter<void>;
    loadInlineFilter: EventEmitter<{
        showInlineFilter: boolean;
        quickFilters: QuickFilter[];
        selectedQuickFilter: string;
    }>;
    filter: any;
    externalFilter: any;
    columns: GridColumn[];
    externalFilters: GridExternalFilter[];
    quickFilters: QuickFilter[];
    selectedCode: string;
    showInlineFilter: boolean;
    numberOfQuickFiltes: number;
    maxQuickFilters: number;
    constructor(ref: ChangeDetectorRef, settingService: SettingService, notifyService: NotifyService, translateService: TranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    open(fixedColums: GridColumn[], normalColumns: GridColumn[], filter: any, externalFilter: any, externalFilters?: GridExternalFilter[]): void;
    onAccept(): void;
    onClear(): void;
    createQuickFilter(): Promise<void>;
    updateQuickFilter(): Promise<void>;
    add(code: string): Promise<void>;
    update(code: string): Promise<void>;
    remove(quickFilter: QuickFilter): void;
    select: (quickFilter: QuickFilter) => Promise<void>;
    private loadConfiguration;
    updateConfiguration(selectedQuickFilterCode?: string): Promise<void>;
}
