import { EventEmitter } from '@angular/core';
import { IManagedObject, SmartGroupsService } from '@c8y/client';
import { ActionControl, BulkActionControl, Column, DataGridComponent, DataSourceModifier, FilteringActionType, FilteringModifier, GridConfigContextProvider, Pagination, ServerSideDataResult, UserPreferencesGridConfigContext } from '@c8y/ngx-components';
import { SubAssetsService } from '@c8y/ngx-components/sub-assets';
import { BsModalService } from 'ngx-bootstrap/modal';
import { SearchConfig } from './search-config.model';
import { AssetSearchService } from './search.service';
import * as i0 from "@angular/core";
export declare class SearchGridComponent implements GridConfigContextProvider {
    assetSearchService: AssetSearchService;
    private bsModalService;
    private smartGroupsService;
    private subAssetsGridService;
    moduleConfig: SearchConfig;
    parentGroup: IManagedObject;
    title: string;
    loadingItemsLabel: string;
    set _columns(value: Column[]);
    set _pagination(value: Pagination);
    set _actionControls(value: ActionControl[]);
    selectable: boolean;
    set _bulkActionControls(value: BulkActionControl[]);
    onColumnsChange: EventEmitter<Column[]>;
    searchText: string;
    filteringName: string;
    /** The name of the key where columns configuration will be stored. */
    columnsConfigKey: string;
    columns: Column[];
    pagination: Pagination;
    actionControls: ActionControl[];
    bulkActionControls: BulkActionControl[];
    showAdvancedFilters: boolean;
    customPlaceholder: string;
    serverSideDataCallback: any;
    refresh: EventEmitter<any>;
    dataGrid: DataGridComponent;
    private sizeCount;
    constructor(assetSearchService: AssetSearchService, bsModalService: BsModalService, smartGroupsService: SmartGroupsService, subAssetsGridService: SubAssetsService, moduleConfig: SearchConfig);
    getGridConfigContext(): UserPreferencesGridConfigContext;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    trackByName(_index: any, column: Column): string;
    onDataSourceModifier(dataSourceModifier: DataSourceModifier): Promise<ServerSideDataResult>;
    setActionControls(): void;
    updateFiltering(columnNames: string[], action: {
        type: FilteringActionType;
        payload?: {
            filteringModifier: FilteringModifier;
        };
    }): void;
    onColumnFilterReset(column: Column): void;
    private onDeleteAsset;
    private setInitialFilterForTypeColumn;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchGridComponent, [null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchGridComponent, "c8y-search-grid", never, { "parentGroup": { "alias": "parent-group"; "required": false; }; "title": { "alias": "title"; "required": false; }; "loadingItemsLabel": { "alias": "loadingItemsLabel"; "required": false; }; "_columns": { "alias": "columns"; "required": false; }; "_pagination": { "alias": "pagination"; "required": false; }; "_actionControls": { "alias": "actionControls"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "_bulkActionControls": { "alias": "bulkActionControls"; "required": false; }; "searchText": { "alias": "searchText"; "required": false; }; "filteringName": { "alias": "filteringName"; "required": false; }; "columnsConfigKey": { "alias": "columnsConfigKey"; "required": false; }; }, { "onColumnsChange": "onColumnsChange"; }, never, never, false, never>;
}
//# sourceMappingURL=search-grid.component.d.ts.map