import { IManagedObject, InventoryService, QueriesUtil, SmartGroupsService, SmartRulesService, UserService } from '@c8y/client';
import { ActionControl, AlertService, AppStateService, AssetTypesRealtimeService, BulkActionControl, Column, DataGridService, Pagination, Permissions, UserPreferencesService } from '@c8y/ngx-components';
import { AssetNodeService } from '@c8y/ngx-components/assets-navigator';
import { TranslateService } from '@ngx-translate/core';
import * as i0 from "@angular/core";
export declare class SubAssetsService extends DataGridService {
    protected translateService: TranslateService;
    protected inventoryService: InventoryService;
    protected appState: AppStateService;
    protected user: UserService;
    protected assetNodeService: AssetNodeService;
    protected smartGroupsService: SmartGroupsService;
    protected smartRulesService: SmartRulesService;
    protected alertService: AlertService;
    protected permissionsService: Permissions;
    protected assetTypes: AssetTypesRealtimeService;
    protected userPreferencesService: UserPreferencesService;
    queriesUtil: QueriesUtil;
    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, smartGroupsService: SmartGroupsService, smartRulesService: SmartRulesService, alertService: AlertService, permissionsService: Permissions, assetTypes: AssetTypesRealtimeService, userPreferencesService: UserPreferencesService);
    getCustomProperties(group: IManagedObject): Promise<IManagedObject[]>;
    getDefaultColumns(_filterable?: boolean, _sortable?: boolean): Column[];
    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: Column[], pagination: Pagination, parentReference: IManagedObject, baseQuery?: any, text?: string): Promise<any>;
    getCount(columns: Column[], pagination: Pagination, parentReference: IManagedObject, baseQuery?: any, text?: string): 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, baseQuery?: {}): string;
    private deleteGroup;
    private deleteDevice;
    private deactivateSmartrulesForAsset;
    private isDeviceUser;
    private deleteDeviceWithUser;
    private getAssetsFilters;
    static ɵfac: i0.ɵɵFactoryDeclaration<SubAssetsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SubAssetsService>;
}
//# sourceMappingURL=sub-assets.service.d.ts.map