import * as i0 from '@angular/core'; import { InjectionToken } from '@angular/core'; import * as _c8y_client from '@c8y/client'; import { IOperation, IdReference, OperationBulkService, OperationService, InventoryService, IOperationBulk, IResult, IManagedObject } from '@c8y/client'; import { Location } from '@angular/common'; import { Subject } from 'rxjs'; import { Pagination, GenericHookType, GenericHookOptions } from '@c8y/ngx-components'; import { OperationSchedule } from '@c8y/ngx-components/operations/bulk-operation-scheduler'; /** * This module provides a shared bulk operations service. */ declare class BulkOperationsServiceModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare enum BulkOperationType { SOFTWARE = "software", FIRMWARE = "firmware", CONFIGURATION = "configuration", DEVICE_PROFILE = "device-profile" } interface OperationDetails { name?: string; description?: string; note?: string; prototype: IOperation; schedule?: OperationSchedule; } interface OperationType { type: BulkOperationType; name: string; path: string; fragments: string[]; component: any; icon?: string; c8yIcon?: string; selected?: boolean; } declare const baseUrl = "devicecontrol/bulk/creation/"; /** * @deprecated Consider using the `hookListBulkType` function instead. */ declare const HOOK_LIST_BULK_TYPE: InjectionToken; /** * You can either provide a single `OperationType` as parameter: * ```typescript * hookListBulkType(...) * ``` * * Or an array to directly register multiple: * ```typescript * hookListBulkType([...]) * ``` * * Or you provide an Service that implements `ExtensionFactory` * ```typescript * export class MyListBulkTypeFactory implements ExtensionFactory {...} * ... * hookListBulkType(MyListBulkTypeFactory) * ``` * A typed alternative to `HOOK_LIST_BULK_TYPE`. * @param type The `OperationType`'s or `ExtensionFactory` to be provided. * @returns An `Provider` to be provided in your module. */ declare function hookListBulkType(type: GenericHookType, options?: Partial): i0.ValueProvider | i0.ClassProvider | i0.ExistingProvider; declare class BulkOperationsService { private operationBulkService; private operationService; private inventoryService; private location; readonly DD_LOW_COUNT: number; firmwareId: Subject; private bulkTypes; constructor(operationBulkService: OperationBulkService, operationService: OperationService, inventoryService: InventoryService, location: Location, bulkTypes: Array); getBulkOperations(customFilter?: {}): Promise<_c8y_client.IResultList>; getBulkOperationById(bulkOperationId: string | number): Promise>; createBulkOperation(bulkOperation: Partial): Promise>; deleteBulkOperation(bulkOperationId: any): Promise>; updateBulkOperation(bulkOperation: Partial): Promise>; getOperation(id: string): Promise>; returnToBulkOperationOverview(): void; setBulkTypes(list: OperationType[]): void; getBulkTypes(): OperationType[]; setFirmwareId(id: IdReference): void; createGroup(deviceQueryDataString: string): Promise>; scheduleBulkOperation(deviceQueryString: string, details: OperationDetails): Promise; getSingleOperationsByStatus(status: any, bulkOperationId: any, pagination?: Pagination): Promise<_c8y_client.IResultList>; getSingleOperationsCountByStatus(status: any, bulkOperationId: any): Promise; getSingleOperationsTotal(bulkOperationId: any): Promise; updateSingleOperation(partialUpdateObject: Partial): Promise>; retrieveBulkOperationType(operation: IOperation): BulkOperationType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { BulkOperationType, BulkOperationsService, BulkOperationsServiceModule, HOOK_LIST_BULK_TYPE, baseUrl, hookListBulkType }; export type { OperationDetails, OperationType }; //# sourceMappingURL=index.d.ts.map