import { IManagedObject, InventoryService, QueriesUtil, SmartGroupsService, SmartRulesService, UserService } from '@c8y/client';
import { ActionControl, AlertService, AppStateService, BulkActionControl, ModalService, Pagination, Permissions } from '@c8y/ngx-components';
import { AssetNodeService, DeviceGroupService } from '@c8y/ngx-components/assets-navigator';
import { DeviceGridColumn, DeviceGridService } from '@c8y/ngx-components/device-grid';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject } from 'rxjs';
export declare class SubAssetsService extends DeviceGridService {
    protected translateService: TranslateService;
    protected inventoryService: InventoryService;
    protected appState: AppStateService;
    protected user: UserService;
    protected assetNodeService: AssetNodeService;
    protected deviceGroupService: DeviceGroupService;
    protected smartGroupsService: SmartGroupsService;
    protected smartRulesService: SmartRulesService;
    protected alertService: AlertService;
    protected permissionsService: Permissions;
    protected modal: ModalService;
    queriesUtil: QueriesUtil;
    uiOnlyCountersUpdate: BehaviorSubject<any>;
    protected GRID_CONFIG_DEFAULT_STORAGE_KEY: string;
    private IS_DEVICE_GROUP_FRAGMENT;
    private IS_DYNAMIC_GROUP_FRAGMENT;
    constructor(translateService: TranslateService, inventoryService: InventoryService, appState: AppStateService, user: UserService, assetNodeService: AssetNodeService, deviceGroupService: DeviceGroupService, smartGroupsService: SmartGroupsService, smartRulesService: SmartRulesService, alertService: AlertService, permissionsService: Permissions, modal: ModalService);
    getDefaultColumns(filterable?: boolean, sortable?: boolean): DeviceGridColumn[];
    getDefaultPagination(): Pagination;
    getDefaultActionControls(): ActionControl[];
    unassignAsset(asset: IManagedObject, parentRef: IManagedObject): Promise<void>;
    isDevice(asset: IManagedObject): boolean;
    deleteAsset(asset: IManagedObject, parentRef: IManagedObject, params?: {}): Promise<void>;
    shouldShowWithDeviceUserCheckbox(asset: IManagedObject): boolean;
    getDefaultBulkActionControls(): BulkActionControl[];
    getData(columns: DeviceGridColumn[], pagination: Pagination, parentReference: IManagedObject, baseQuery?: any): Promise<any>;
    getCount(columns: DeviceGridColumn[], pagination: Pagination, parentReference: IManagedObject, baseQuery?: any): Promise<number>;
    getTotal(parentReference: IManagedObject, baseQuery?: any): Promise<number>;
    canEditGroup(group: IManagedObject): Promise<boolean>;
    canCreateGroup(): boolean;
    canAssignDevice(group: IManagedObject): Promise<boolean>;
    canEditSmartGroup(): boolean;
    canDeleteSmartGroup(): boolean;
    isSmartGroup(group: IManagedObject): boolean;
    isUsingInventoryRoles(): boolean;
    protected getAssetsStatistics(parentReference: IManagedObject, filters: object): Promise<number>;
    protected buildCombinedRootQueryFilter(columns: any, pagination: any): string;
    private deleteGroup;
    private deleteDevice;
    private deactivateSmartrulesForAsset;
    private isDeviceUser;
    private deleteDeviceWithUser;
    private getAssetsFilters;
}
