import { IManagedObject, InventoryService, UserService } from '@c8y/client';
import { AlertService, BulkActionControl, Column, DataGridService, GridConfig, HeaderActionControl, ModalService, Pagination, UserPreferencesService } from '@c8y/ngx-components';
import { TranslateService } from '@ngx-translate/core';
import { Observable } from 'rxjs';
import { ColumnUtilService } from './columns/column-util.service';
import * as i0 from "@angular/core";
export declare class DeviceGridService extends DataGridService {
    protected inventoryService: InventoryService;
    protected userService: UserService;
    protected translateService: TranslateService;
    protected alertService: AlertService;
    protected modal: ModalService;
    protected columnUtilService: ColumnUtilService;
    protected userPreferencesService: UserPreferencesService;
    protected GRID_CONFIG_DEFAULT_STORAGE_KEY: string;
    constructor(inventoryService: InventoryService, userService: UserService, translateService: TranslateService, alertService: AlertService, modal: ModalService, columnUtilService: ColumnUtilService, userPreferencesService: UserPreferencesService);
    getDefaultColumns(): Column[];
    getChildDeviceGridColumns(): Column[];
    getDefaultPagination(): Pagination;
    getInfiniteScrollPagination(): Pagination;
    getDefaultBulkActionControls(): BulkActionControl[];
    getDefaultHeaderActionControls(): HeaderActionControl[];
    getProperName(device: IManagedObject): string;
    getModel(device: IManagedObject): string;
    getSerialNumber(device: IManagedObject): string;
    getParentsNames(device: IManagedObject, featuredParentId?: string | number): string;
    getHref(groupOrDevice: IManagedObject, prefix?: string): string;
    getAlarmsHref(device: IManagedObject): string;
    delete(device: IManagedObject): Promise<void>;
    getData(columns: Column[], pagination: Pagination, query?: any, withChildren?: boolean, text?: any): Promise<import("@c8y/client").IResultList<IManagedObject>>;
    getChildDeviceData(columns: Column[], pagination: Pagination, query: any, withChildren: boolean, id: string): Promise<import("@c8y/client").IResultList<IManagedObject>>;
    getCount(columns: Column[], pagination: Pagination, query?: any, text?: string): Promise<number>;
    getCountChildDevices(columns: Column[], pagination: Pagination, query: any, id: string): Promise<number>;
    getTotalChildDevices(query: any, id: string): Promise<number>;
    getTotal(query?: any): Promise<number>;
    getDeviceQueryString(columns: Column[], query: any): string;
    clearConfig(key?: string): void;
    getConfig$(key?: string): Observable<GridConfig>;
    saveConfig$(config: GridConfig, key?: string): Observable<GridConfig>;
    private getDevicesFilters;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceGridService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DeviceGridService>;
}
//# sourceMappingURL=device-grid.service.d.ts.map