import { AfterViewInit, Injector, OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import { UtilsService } from '../../services/utils.service';
import { FormStateService } from '../../services/form-state.service';
import { TranslateService } from '@ngx-translate/core';
import { TablePagingRequestModel } from '../../models/components/table-paging-request.model';
import { Subject } from 'rxjs';
import { HttpHeaders, HttpParams } from '@angular/common/http';
import { MatTableDataSource } from '@angular/material/table';
import { BaseModel } from '../../models/base.model';
import { ButtonClickEvent } from '../../models/button-click.event';
import { BaseTableComponent } from './base-table.component';
import { TablePagingResponseModel } from '../../models/components/table-paging-response.model';
import { NiceComponentLibraryConfig } from '../../models/nice-component-library.config';
import { ApiService } from '../../services/api.service';
import { ColumnModel } from '../../models/components/column.model';
import { AuthoritiesService } from '../../services/authorities.service';
import * as i0 from "@angular/core";
export declare class BaseSearchComponent extends BaseTableComponent implements OnInit, OnDestroy, AfterViewInit {
    protected router: Router;
    protected apiService: ApiService;
    protected utilsService: UtilsService;
    protected formStateService: FormStateService;
    protected translateService: TranslateService;
    protected injector: Injector;
    protected activatedRoute: ActivatedRoute;
    protected authoritiesService: AuthoritiesService;
    protected formGroup: FormGroup;
    isAdvancedSearch: boolean;
    searchForm: FormGroup;
    paging: TablePagingRequestModel;
    results: MatTableDataSource<BaseModel>;
    columns: ColumnModel[];
    config: NiceComponentLibraryConfig;
    protected moduleName: string;
    protected unsubscribe$: Subject<void>;
    protected isResetPaging: boolean;
    constructor(router: Router, apiService: ApiService, utilsService: UtilsService, formStateService: FormStateService, translateService: TranslateService, injector: Injector, activatedRoute: ActivatedRoute, authoritiesService: AuthoritiesService, formGroup: FormGroup);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onSubmit(): void;
    search(): void;
    afterSearch: (data: TablePagingResponseModel) => void;
    _fillData(nativeUrl: string, params: HttpParams, baseUrl?: string): void;
    _fillDataByPostMethod(nativeUrl: string, obj: any, options: {
        headers?: HttpHeaders;
        params: HttpParams;
    }, baseUrl?: string): void;
    pagingChange(event: TablePagingRequestModel): void;
    onClick(event: ButtonClickEvent): void;
    onSuccessFunc: (data: any, onSuccessMessage?: string) => void;
    resetSearchFormValue(): void;
    toggleAdvancedSearch(): void;
    params2Object(params: HttpParams): Object;
    private afterFillData;
    private removeEmptyParams;
    private updateHttpParams;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseSearchComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseSearchComponent, "BaseSearchComponent", never, {}, {}, never, never, false, never>;
}
